分布式算法设计基础(第二章)
- 格式:doc
- 大小:380.00 KB
- 文档页数:15
第⼆章-信息技术发展1-信息技术及其发展1.1-计算机软硬件、计算机⽹络1.计算机硬件是指计算机系统中有电子、机械和光电元件等组成的各种物理装置的总称。
2.计算机软件是指计算机系统中的程序及文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
3.硬件和软件相互依存。
4.从网络的作用范围可将网络类别划分为:个人局域网(PAN)、局域网(LAN)、城域网(MAN)、广域网(WAN)、公用网、专用网。
5.广域网协议主要包块:PPP 点对点协议、ISDN 综合业务数字网、xDSL、DDN 数字专线、x.25、FR 帧中继、ATM 异步传输模式。
6.IEEE 802 协议族:IEEE 802 规范定义了网卡如何访问传输介质(如光缆、双绞线、无线等),以及如何在传输介质上传输数据的方法,还定义了传输信息的网络设备之间连接的建立、维护和拆除的途径。
7.802.3(以太网的 CSMA/CD 载波监听多路访问/冲突检测协议)、802.11(无线局域网 WLAN 标准协议)。
8.OSI 七层网络模型从上到下:应用层(事务处理程序、文件传送协议)、表示层(管理数据的解密加密数据转换、格式化和文本压缩)、会话层(负责在网络中的两节点之间建立和维持通信,以及提供交互会话的管理功能)、传输层(提供建立、维护和拆除传送连接的功能)、网络层(网络地址 IP 地址翻译成对应物理地址 MAC 地址,并决定如何将数据从发送方路由到接收方,实现拥塞控制。
网际互联等)、数据链路层(物理地址寻址、数据的成帧、流量控制。
数据的检错重发等)、物理层(物理联网媒介,如电缆连线连接器)。
9.TCP/IP 是 Internet 的核心,共四层有:应用层(FTP 文件传输协议、TFTP 简单文件传输协议、HTTP 超文本传输协议、SMTP 简单邮件传输协议、DHCP 动态主机配置协议、Telnet 远程登录协议、DNS 域名系统、SNMP 简单网络管理协议)、传输层(TCP 传输控制协议、UDP 用户数据报协议)、网络层(IP 协议、ICMP 网络控制报文协议、IGMP 网际组管理协议、ARP 地址解析协议、RARP 反向地址解析协议)、网络接口层(底层协议,传输数据的物理媒介)。
《大数据技术原理与应用》林子雨课后简答题答案第一章大数据概述1. 试述大数据的四个基本特征。
数据量大:人类进入信息社会后,数据以自然方式增长,数据每两年就会增加一倍多。
数据类型繁多:大数据的数据类型非常丰富,包括结构化数据和非结构化数据,如邮件、音频、视频等,给数据处理和分析技术提出了新的挑战。
处理速度快:由于很多应用都需要基于快速生成的数据给出实时分析结果,因此新兴的大数据分析技术通常采用集群处理和独特的内部设计。
价值密度低:有价值的数据分散在海量数据中。
2. 举例说明大数据的关键技术。
大数据技术层面功能数据采集与预处理利用ETL 工具将分布在异构数据源中的数据抽到临时中间层后进行清洗、转换和集成后加载到数据仓库中,成为联机分析处理、数据挖掘的基础,也可以利用日志采集工具(如 Flume、Kafka 等)将实时采集的数据作为流计算系统的输入,进行实时处理分析。
数据存储和管理利用分布式文件系统、NoSQL 数据库等实现对数据的存储和管理。
数据处理与分析利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理和分析,并进行可视化呈现。
数据安全和隐私保护构建数据安全体系和隐私数据保护体系。
3. 详细阐述大数据、云计算和物联网三者之间的区别与联系区别联系大数据侧重于海量数据的存储、处理与分析,从海量数据中发现价值,服务于生产和生活;云计算旨在整合和优化各种 IT 资源并通过网络以服务的方式,廉价地提供给用户;物联网的发展目标是实现“ 物物相连”,应用创新是物联网的核心。
从整体上看,大数据、云计算和物联网这三者是相辅相成的。
大数据根植于云计算,大数据分析的很多技术都来自于云计算,云计算的分布式存储和管理系统提供了海量数据的存储和管理能力,分布式并行处理框架MapReduce 提供了数据分析能力。
没有这些云计算技术作为支撑,大数据分析就无从谈起。
物联网的传感器源源不断的产生大量数据,构成了大数据的重要数据来源,物联网需要借助于云计算和大数据技术,实现物联网大数据的存储、分析和处理。
第一章计算科学简介1.简述计算科学的概念⑴是描述和变换信息的算法过程。
⑵包括其理论分析、设计,效率分析、实现和应用系统的研究。
⑶计算科学的基本问题就是:什么能(有效地)自动进行,什么不能(有效地)自动进行。
2.计算科学涵盖了:计算机科学、计算机技术、计算机工程。
3.计算机科学研究的课题是:计算机程序能做什么和不能做什么(可计算性);如何使程序更高效的执行特定任务(算法和复杂性理论);程序如何存取不同类型的数据(数据结构和数据库);程序如何显得更具有智能(人工智能);人类如何与程序沟通(人机互动和人机界面)。
4.计算机技术的内容非常广泛,可粗分为:计算机系统技术;计算机器件技术;计算机部件技术;计算机组装技术等。
5.计算科学的主要内容主要分为14个领域:离散结构程序设计基础算法与复杂性体系结构操作系统网络计算程序设计语言人-机交互图形学和可视化计算智能系统信息管理软件工程社会和职业问题科学计算离散结构•主要内容:集合论、数理逻辑、近似代数、图论和组合数学等。
程序设计基础•内容包括:程序设计结构、算法、问题求解和数据结构等。
•基本问题主要包括:对给定的问题进行程序设计、编码、测试和调试。
算法与复杂性•主要包括:算法的复杂度分析、典型的算法策略、分布式算法、并行算法、可计算理论、P类和NP类问题、自动机理论、密码算法、以及几何算法等。
•基本的问题:对于给定的问题类,最好的算法是什么?算法的复杂度如何?算法的性能如何?操作系统•主要内容:操作系统的逻辑结构、并发处理、资源分配与调度、存储管理、设备管理、文件系统等。
•基本问题:在计算机系统操作的每一个级别上,可见的对象和允许进行的操作是什么?等等。
程序设计语言•主要内容:程序设计模式、虚拟机、类型系统、执行控制模型、语言翻译系统、程序设计语言的语义学、基于语言的并行构件等。
•基本问题:语言表示的虚拟机的可能组织结构是什么?语言如何定义机器?机器如何定义语言?什么样的表示法可以有效地用于描述计算机应该做什么?软件工程•主要内容:软件过程、软件需求与规格说明、软件设计、软件验证、软件演化、软件项目管理、软件开发工具与环境、基于构件的计算、形式化方法、软件可靠性、专用系统开发等。
物流配送高效路径规划算法优化方案第一章绪论 (2)1.1 研究背景与意义 (2)1.2 国内外研究现状 (3)1.2.1 国外研究现状 (3)1.2.2 国内研究现状 (3)1.3 研究内容与方法 (3)第二章物流配送路径规划基础理论 (4)2.1 物流配送概述 (4)2.1.1 物流配送的定义 (4)2.1.2 物流配送的作用 (4)2.1.3 物流配送的现状与挑战 (4)2.2 路径规划相关概念 (5)2.2.1 路径规划的定义 (5)2.2.2 路径规划的目标 (5)2.2.3 路径规划的约束条件 (5)2.3 路径规划算法分类 (5)2.3.1 经典算法 (5)2.3.2 启发式算法 (5)2.3.3 混合算法 (6)第三章经典物流配送路径规划算法 (6)3.1 最近邻法 (6)3.1.1 算法原理 (6)3.1.2 算法特点 (6)3.2 蚁群算法 (6)3.2.1 算法原理 (7)3.2.2 算法特点 (7)3.3 遗传算法 (7)3.3.1 算法原理 (7)3.3.2 算法特点 (7)第四章路径规划算法优化策略 (8)4.1 算法参数优化 (8)4.2 算法融合策略 (8)4.3 算法改进策略 (8)第五章基于大数据的物流配送路径规划算法 (9)5.1 大数据分析概述 (9)5.2 数据挖掘技术在物流配送中的应用 (9)5.2.1 客户需求分析 (9)5.2.2 货物配送预测 (9)5.2.3 路径优化 (9)5.3 基于大数据的路径规划算法 (9)5.3.1 算法框架 (9)5.3.2 数据预处理 (9)5.3.3 特征提取 (10)5.3.4 模型构建 (10)5.3.5 路径规划 (10)第六章基于人工智能的物流配送路径规划算法 (10)6.1 人工智能概述 (10)6.2 深度学习在物流配送路径规划中的应用 (10)6.2.1 深度学习简介 (10)6.2.2 深度学习在物流配送路径规划中的应用 (11)6.3 强化学习在物流配送路径规划中的应用 (11)6.3.1 强化学习简介 (11)6.3.2 强化学习在物流配送路径规划中的应用 (11)第七章多目标物流配送路径规划算法 (11)7.1 多目标优化概述 (12)7.2 多目标物流配送路径规划算法 (12)7.3 算法求解与优化 (12)第八章动态物流配送路径规划算法 (13)8.1 动态物流配送概述 (13)8.2 动态路径规划算法 (14)8.3 动态路径规划算法优化 (14)第九章物流配送路径规划算法在实际应用中的案例分析 (14)9.1 城市物流配送案例 (14)9.2 电商物流配送案例 (15)9.3 农村物流配送案例 (15)第十章总结与展望 (16)10.1 研究成果总结 (16)10.2 研究不足与改进方向 (16)10.3 未来研究展望 (16)第一章绪论1.1 研究背景与意义社会经济的发展和科技的进步,物流行业在我国国民经济中的地位日益显著。
第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推劢多道批处理系统形成和収展的主要劢力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推劢分时系统形成和収展的主要劢力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。
第二章操作系统基础大学计算机基础教程操作系统基础操作系统是最重要的计算机系统软件,计算机发展到今天,从微型机到高性能计算机,无一例外都配置了一种或多种操作系统,操作系统已经成为现代计算机系统不可分割的重要组成部分。
本章主要内容包括:操作系统的基本概念和主要功能;中文Windows7操作系统的基本操作、文件管理、系统管理等。
2.1 操作系统概述计算机系统由硬件和软件两部分组成,操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
它在计算机系统中占据了特别重要的地位,而其他的诸如汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件,将都依赖于操作系统的支持,取得它的服务。
操作系统已成为现代计算机系统(大、中、小及微型机)中都必须配置的软件。
2.1.1操作系统的基本概念操作系统是一组控制和管理计算机软硬件资源,为用户提供便捷使用计算机的程序的集合。
它是配置在计算机硬件上的第一层软件,是对硬件功能的扩充。
操作系统在计算机中具有极其重要的地位,它不仅是硬件与其他软件的接口,也是用户和计算机之间进行“交流”的界面。
操作系统在计算机系统中特别重要,汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件,都依赖于操作系统的支持,取得它的服务。
操作系统已成为现代计算机系统中必须配置的软件。
没有安装软件的计算机称为裸机,而裸机无法进行任何工作;它不能从键盘、鼠标接收信息和操作命令,也不能在显示器屏幕上显示信息,更不能运行可以实现各种操作的应用程序。
图2-1给出了操作系统与计算机软件、硬件的层次关系。
图2-1操作系统与计算机软件和硬件的层次关系2.1.2操作系统的功能操作系统通过内部极其复杂的综合处理,为用户提供友好、便捷的操作界面,以便用户无需了解计算机硬件或系统软件的有关细节就能方便地使用计算机。
操作系统的主要任务是有效管理系统资源、提供友好便捷的用户接口。
工业互联网平台建设与工业大数据应用方案第一章工业互联网平台概述 (3)1.1 工业互联网平台概念 (3)1.2 工业互联网平台架构 (3)1.3 工业互联网平台发展趋势 (3)第二章平台建设基础 (4)2.1 平台建设需求分析 (4)2.2 平台技术选型 (5)2.3 平台安全体系建设 (5)第三章网络设施建设 (6)3.1 工业网络架构设计 (6)3.1.1 网络层次划分 (6)3.1.2 网络拓扑结构 (6)3.1.3 网络协议选择 (6)3.1.4 网络安全设计 (6)3.2 工业网络设备选型 (6)3.2.1 功能指标 (7)3.2.2 设备兼容性 (7)3.2.3 设备可靠性 (7)3.2.4 设备安全性 (7)3.2.5 交换机 (7)3.2.6 路由器 (7)3.2.7 光纤收发器 (7)3.3 工业网络运维管理 (7)3.3.1 网络监控 (7)3.3.2 故障处理 (7)3.3.3 网络优化 (7)3.3.4 安全防护 (8)3.3.5 设备维护 (8)3.3.6 人员培训 (8)第四章平台数据采集与整合 (8)4.1 数据采集技术 (8)4.2 数据整合方法 (8)4.3 数据清洗与预处理 (9)第五章工业大数据存储与管理 (9)5.1 存储技术选型 (9)5.1.1 分布式存储技术 (9)5.1.2 NoSQL数据库 (9)5.1.3 关系型数据库 (9)5.2 数据管理策略 (10)5.2.2 数据清洗与转换 (10)5.2.3 数据安全与权限管理 (10)5.3 数据备份与恢复 (10)5.3.1 数据备份 (10)5.3.2 数据恢复 (10)第六章工业大数据分析与挖掘 (10)6.1 数据分析方法 (10)6.2 数据挖掘算法 (11)6.3 分析与挖掘应用场景 (11)第七章工业互联网平台应用开发 (12)7.1 应用开发框架 (12)7.2 应用开发流程 (12)7.3 应用案例分享 (13)第八章平台运维与优化 (13)8.1 平台运维策略 (13)8.1.1 运维组织架构 (13)8.1.2 运维流程规范 (14)8.1.3 运维工具和平台 (14)8.1.4 运维培训和认证 (14)8.2 平台功能优化 (14)8.2.1 硬件资源优化 (14)8.2.2 软件功能优化 (14)8.2.3 数据存储优化 (14)8.2.4 网络功能优化 (14)8.3 平台故障处理 (14)8.3.1 故障分类 (14)8.3.2 故障监测 (14)8.3.3 故障处理流程 (15)8.3.4 故障应对措施 (15)8.3.5 故障总结与改进 (15)第九章工业大数据应用方案 (15)9.1 产品质量优化 (15)9.1.1 概述 (15)9.1.2 数据采集与处理 (15)9.1.3 数据分析方法 (15)9.1.4 应用案例 (15)9.2 生产效率提升 (16)9.2.1 概述 (16)9.2.2 数据采集与处理 (16)9.2.3 数据分析方法 (16)9.2.4 应用案例 (16)9.3 设备健康管理 (16)9.3.1 概述 (16)9.3.3 数据分析方法 (16)9.3.4 应用案例 (17)第十章工业互联网平台建设与大数据应用展望 (17)10.1 工业互联网平台发展趋势 (17)10.2 工业大数据应用前景 (17)10.3 工业互联网与大数据产业融合 (18)第一章工业互联网平台概述1.1 工业互联网平台概念工业互联网平台是指在工业领域,以云计算、大数据、物联网、人工智能等新一代信息技术为基础,整合工业生产、运营、管理和服务等环节的数据资源,实现工业全要素、全流程、全生命周期互联互通、协同优化的网络平台。
第一章重点、难点和知识点⏹重点⏹掌握计算机网络的一般概念⏹计算机网络的应用。
⏹难点⏹计算机网络和分布式系统的区别⏹计算机网络的拓扑结构⏹知识点⏹对计算机网络定义、分类和拓扑结构的正确理解,是学习以下章节的基础。
第二章重点、难点和知识点⏹重点⏹掌握计算机网络的分层体系结构;⏹掌握协议、接口和服务三者之间的区别和联系;⏹掌握OSI参考模型和TCP/IP参考模型。
⏹难点⏹分层体系结构的概念以及协议、接口和服务三者之间的关系。
⏹知识点⏹设计一个计算机网络最科学的方法:使用分层体系结构。
第三章重点、难点和知识点⏹重点⏹本章介绍的所有主要教案内容都需要重点掌握。
⏹难点⏹傅立叶分析、数据编码技术、数据同步方式、通信交换技术。
⏹知识点⏹通信是构成网络的技术基础。
“数据通信的基本原理”中介绍的全体内容,均是本章学习的知识点。
第三章思考题与习题⏹数字通信系统有哪些优点?主要缺点是什么?⏹对于带宽为6MHz的电视信道,如果使用量化等级为4的数字信号传输,其数据传输率是多少?假设信道是无噪声的。
⏹对于带宽为3kHz、信噪比为20dB的信道,当其用于发送二进制信号时,它的最大数据传输速率是多少?⏹一个每秒钟采样一次的4kHz无噪声信道的最大数据传输速率是多少?⏹在50kHz的线路上传输T1载波需要多大的信噪比?⏹为什么T1载波采样时间为125μs?⏹Modem的功能是什么?它有哪几种调制方式?⏹对于无噪声的4 kHz信道,比较使用下列方案所能达到的最大数据传输率?⏹每次采样2比特;⏹T1 PCM系统。
⏹比较频分多路复用和时分多路复用的工作原理。
⏹比较电路交换、报文交换和分组交换三种交换技术的工作原理和性能特点。
⏹比较单工、半双工和全双工三种通信方式的特点。
⏹比较双绞线、同轴电缆、光纤三种有线传输介质的性能和适用范围。
⏹比较光纤通信、微波通信和卫星通信的特点。
⏹共有4个站进行码分多址CDMA通信。
4个站的码片序列为:A:(-1+1-1-1-1-1+1-1)B:(-1+1-1+1+1+1-1-1)C:(-1-1+1-1+1+1+1-1)D:(-1-1-1+1+1-1+1+1)现收到这样的码片序列:(-1+1-3+1-1-3+1+1)。
计算机导论(第2版)【清华大学出版社】课后习题答案第一章绪论一、简答题1.什么是计算机?(P1)计算机是一种能够按照事先存储的程序,自动、高速的对数据进行输入、处理、输出和存储的系统。
一个计算机系统包括硬件和软件两大部分。
2.解释冯•诺依曼所提出的“存储程序”概念。
(P6)把计算机程序与数据都以二进制的形式统一存放在存储器中,由机器自动执行。
不同的程序解决不同的问题,实现了计算机通用计算的功能。
3.计算机有哪些主要的特点?(P3-P4)○1运算速度快○2运算精度高○3具有记忆能力○4具有逻辑判断能力○5存储程序4.计算机有哪些主要的用途?(P4-P5)○1科学计算○2数据处理○3实时控制○5人工智能○5计算机辅助工程和辅助教育○6娱乐与游戏5.计算机发展中各个阶段的主要特点是什么?(P6-P8)第一代计算机(1946年—1957年)○1逻辑器件使用电子管○2用穿孔卡片机作为数据和指令的输入设备○3用磁鼓或磁带作为外存储器○4使用机器语言编译第二代计算机(1958年—1964年)○1用晶体管代替了电子管○2内存储器采用了磁心体○3引入了寄存器和浮点运算硬件○4利用I/O处理机提高了输入输出能力○5在软件方面配置了子程序库和批处理管理程序,并且推出了FORTRAN、COBOL、ALGOL等高级程序设计语言及相应的编译程序第三代计算机(1965年—1971年)○1用小规模或中小规模的集成电路来代替晶体管等分立元件○2用半导体存储器代替磁心存储器○3使用微程序设计技术简化处理机的结构○4在软件方面则广泛引入多道程序、并行处理、虚拟存储系统以及功能完备的操作系统,同时还提供了大量的面向用户的应用程序第四代计算机(1972年至今)○1使用了大规模和超大规模集成电路○2使用了大容量的半导体存储器作为内存储器○3在体系结构方面进一步发展了并行处理、多机系统、分布式计算机系统和计算机网络系统○4在软件方面则推出了数据库系统、分布式操作系统以及软件工程标准等第五代计算机主要特征是人工智能,具有一些人类智能的属性。
1 分布式算法设计基础 第二章 分布式计算模型 研究计算,离不开计算模型。计算模型有不同层次之分。此处介绍的计算模型,是指具有状态转换机制的能够支撑分布式算法运行的抽象数学模型——分布式数学机器。
1. 变迁系统与分布式算法 一个系统如果它的状态变化是离散的,状态的改变由事件驱动,通常可以用变迁系统来描述。观察计算,可以从函数计算、计算前后必须满足的条件(逻辑公式刻画)、代数运算的角度进行,也可以从语言操作指令执行的前后状态变化的角度进行。如果从状态变化的角度进行观察,就必须要建立一种数学机器模型,能够严格、准确地执行语言的操作指令。这样一种机器,通常称为计算模型。 ∙ 变迁系统
变迁系统由系统所有可能的状态的集合构成,系统的“变迁”可以在此状态集合中进行。一个选定的状态的子集合中的每一个状态可以使系统启动,这个子集合称为初始状态集合。
在分布式系统中,系统的分布式算法的一个状态通常由构成该系统分布式算法的所有进程的状态和通道的状态组成,为了避免系统中单个进程的状态和整个分布式系统的分布式算法状态之间产生混淆,我们今后将把单个进程的“状态”称为状态,将分布式算法的“全局状态”称为形态(Configuration)。
定义 2.1 一个变迁系统是一个三元组),,(ICS,其中,C 是一个形态的集合, 是C上的一个二元变迁关系,I 是C中初始形态的一个集合。 变迁关系是C×C的一个子集合,我们有时也用 ),( 来更方便地表达记号 。
定义 2.2 令 ),,(ICS 是一个变迁系统,S的一次执行是一个形态的极大序列...)(210,,,E,其中,I0,且对所有的 i≥0,1ii 。
形态 称为终止形态,如果不存在形态 使得 。 注意:对所有的i,具有1ii 的一个序列...)(210,,,E 是极大的,如果它是无穷的,或者它以一个终止形态结束。
定义 2.3 形态 是由 可达的,记为 ⇝,如果存在一个序列: )(210k,,,, ,
满足对所有的 0 ≤i< k ,1ii 。 形态 是由可达的,如果 可以由一个初始形态可达。 ∙ 具有异步消息传递机制的变迁系统 2
一个分布式系统由一组进程和一个通信子系统组成,每一个进程本身是一个变迁系统,并能够与通信子系统交互。
为了避免分布式系统的属性和单一进程的属性之间发生混淆,我们约定: 术语“变迁”和“形态”用于整个系统的属性描述,而(另一等价的)术语“事件”和“状态”用于进程的属性的描述。
为了与通信系统交互,一个进程的内部不仅有通常的事件,而且还有发送事件和接收事件,消息会被产生或被消费。设M表示一个可能的消息的集合,M(M)表示由多个M的消息集合组成的集合(注:此处为集合的集合,但不是指幂集合)。
定义 2.4 一个进程的局部算法是一个五元组(Z, I, ⊢i, ⊢s, ⊢r ),其中,Z是一个状态的集合,I是Z中初始状态的一个子集合,⊢i 是Z×Z 上的一个关系,⊢s 和 ⊢r 是Z×M×Z上的关系。Z上的事件关系 ⊢ 定义为:
c ⊢ d ⇔ (c,d) ∈ ⊢i ∨ m ∈ M((c,m,d)∈ ⊢s ∪ ⊢r ) 关系⊢i、⊢s、⊢r 分别对应于进程的内部事件、发送事件和接收事件。 今后,我们将使用p, q, r, p1 ,p2 ,p3 ,⋯⋯ 来表记进程,用P来表记一个系统进程的集合。
定义2.4可以充当进程的一个理论模型。一个进程的执行实际上是进程的一系列动作或操作(事件)的执行,也是变迁系统),,(ICS的执行。
我们感兴趣的是整个系统的执行,而在这样一次执行中,各进程的执行通过通信子系统协调交换信息。为了描述这样的通信协调,下面将分布式系统定义为一个变迁系统,其中,形态集、变迁关系、初始状态根据进程对应的成分构造。
定义2.5 进程集合P={ p1,p2,⋯⋯,pN
} 的一个分布式算法是P中每一个
进程的局部算法组成的一个集合。 分布式算法的行为由后面的变迁系统刻画,形态由每一个进程的状态和变迁过程中的消息集合构成,变迁的发生将最终落实到某个进程或某些进程上的事件,它们不仅影响进程的状态,而且还影响消息集合(或者受到消息集合的影响)。初始形态是这样的形态,系统中的每一个进程此时都处于初始状态,而且消息集合是空集合(对应通道为空)。
定义2.6 由进程p1,p2,⋯⋯,pN
构成的分布式算法在异步消息传递机制
下引起的变迁系统(这里,每一个pi的局部算法为(Zpi, Ipi, ⊢pii, ⊢pis, ⊢pir ))是一个三元组),,(ICS,其中, ⑴ C ={(cp1,cp2 ,⋯⋯,cpN,M) | (pi ∈P:cpi ∈ Zpi,1≤i≤N) 且 M∈M(M)}
⑵ =(∪p∈Pp),其中,p 是对应于进程p的状态改变的变迁,pi是下列对集: (cp1,cp2 ,⋯,cpi ,⋯,cpN,M1),(cp1,cp2 ,⋯,c’pi,⋯,cpN,M2) 它们使下面三个条件之一成立: ① (cpi,c’pi )∈ ⊢pii 且 M1 = M2 ; ② 对某个m∈M,(cpi,m,c’pi )∈ ⊢pis 且 M2 = M1
∪{m} ; 3
③ 对某个m∈M,(cpi,m,c’pi )∈ ⊢pir 且 M1 = M2
∪{m} ;
⑶ I ={(cp1,cp2,⋯⋯,cpN,M) | (pi ∈P:cpi ∈ Ipi)且M = φ,1≤i≤N } 分布式算法的执行是一种由变迁系统引起的执行,一个执行的事件清楚地表明了下面的注解:
消息用m表示,问题:两条消息内容相同怎么办?如何区分? 二元对(c,d)∈ ⊢pi 被称为是进程p的可能的内部事件,而 ⊢ps 和 ⊢pr中的三元组分别称为进程p的发送事件和接收事件。据此,我们引入下列术语: ∙ 由p的e = (c,d) 给定的内部事件称为在形态 =(cp1,cp2 ,⋯,cp ,⋯,
cpN,M)上可应用的(或称为可应用于形态),如果cp = c 。此时,e()定义为形态(cp1,cp2 ,⋯,d ,⋯,cpN,M) 。
∙ 由p的e = (c, m,d) 给定的发送事件称为可应用于形态 =(cp1,cp2 ,
⋯,cp ,⋯,cpN,M),如果cp = c 。此时,e()定义为形态(cp1,cp2 ,⋯,d ,
⋯,cpN
,M∪{m}) 。
∙ 由p的e = (c, m,d) 给定的接收事件称为可应用于形态 =(cp1,cp2 ,
⋯,cp ,⋯,cpN,M),如果cp = c 且m∈M 。此时,e()定义为形态(cp1,cp2 ,
⋯,d ,⋯,cpN,M-{m}) 。
注意:这里要假定,对于每一个消息,存在能接收此消息的唯一的进程,该进程称为此消息的目的地。否则,M-{m}可能会丢失向其他结点发送的消息。 ∙ 具有同步消息传递机制的变迁系统
消息传递称为是同步的,如果一个发送事件和对应的接收事件被协调成系统的一个单独的变迁。这就是说,一个进程只有当消息的目的地进程准备好接收这个消息时才能发送消息。结果,系统的变迁分为两类,一类对应于进程的内部状态的改变,另一类对应于把两个进程的通信事件组合在一起。技术上,这样的同步消息传递用通信原语来实现。
定义2.7 由进程p1 , p2 ,⋯⋯,pN
构成的分布式算法在同步消息传递机制下引
起的变迁系统(这里,每一个pi的局部算法为(Zpi, Ipi, ⊢pii, ⊢pis, ⊢pir ))是一个三元组),,(ICS,其中, ⑴ C ={(cp1,cp2 ,⋯,cpi ,⋯,cpN) | pi ∈P:cpi∈ Zpi ,1≤i≤N }
⑵ =(∪p∈Pp)∪(∪p, q∈P: p≠qpq),其中, ∙ pi 为对集:
(cp1,cp2 ,⋯,cpi ,⋯,cpN) ,(cp1,cp2 ,⋯,c’pi,⋯,cpN) 这里(cpi,c’pi )∈ ⊢pii 且 不强调M 。
∙ pi pj 为对集:
(⋯,cpi ,⋯,cpj ,⋯) ,(⋯,c’pi ,⋯,c’pj,⋯) 4
这里存在消息m ∈ M,使得 (cpi,m,c’pi )∈ ⊢pis 且 (cpj,m,c’pj )∈ ⊢pjr ⑶ I ={(cp1,cp2 ,⋯⋯,cpN) | pi ∈P:cpi ∈ Ipi,1≤i≤N }
一些分布式系统允许混合通信形式,在这些系统中,进程拥有通信原语,可以同步或者以异步方式进行通信。在分布式程序设计中,要设计这样的分布式系统的一个形式模型是不困难的,比如CSP。
在分布式系统中,我们已经注意到,许多情况下同步消息传递可视为异步消息传递的一种特殊情况。在同步消息传递的情况下,算法的执行可以限制为这样一些执行:每一个发送事件的后面紧跟着一个接受事件,在没有收到消息之前,不执行其他操作,从而实现同步。由此可以开发相应的具有同步通信方式的异步算法。
但是,必须小心,如果针对异步消息传递机制开发的算法在具有同步消息传递机制的系统中执行,通信子系统引起的不确定性必须由各进程中增加的不确定性来平衡,否则,可能导致死锁。此处指同步进程不应该非要接受同步消息,而应该增加不确定性以防止死锁。
由于通信系统在各个结点的子系统往往是相同的,因此,不可能要求参与交换消息的通信子系统的进程运行行为具有对称性,否则必然导致死锁。例如,两个交换消息的进程如果要求它们都必须在接收消息之前发送各自的消息,那么,通信将不可能发生而导致死锁。
两个消息的一次交换可以在同步系统中发生,仅当满足下列两个条件之一: ⑴ 预见并可确定两个进程中的哪一个首先发送,哪一个首先接收(在许多情况下,我们不可能预先作出判断,因为,两个进程执行了不同的局部算法); ⑵ 进程具有这样一种非确定性选择,或者先发送后接收,或者先接收后发送。在每一次执行中,每一个进程选择一个可能执行的次序,即打破进程通信子系统的对称性。
∙ 公平性
分布式系统在某些情况下,有必要限制系统的行为使其各个结点进程获得公平执行,以防止或排除那些总是可用的事件但却始终不发生在系统的变迁中的情况。
定义 2.8 一个执行E是弱公平的,如果不存在可应用于无穷多个连续形态而没有在E中发生的事件;(此处主要指没有这样的事件存在,能在无穷多个连续形态下均可以发生,但始终不能发生的事件。)
弱公平的假设可以用一个顾客到餐厅就餐的例子来说明。如果某旅游公司安排了一个旅行团也到该餐厅就餐,而且先于这个顾客到达,那么,由于旅游团是一个整体,尽管有一部分游客晚于该顾客到达餐厅,餐厅也依然不断地为旅游团服务而无法为这个顾客服务。然而,源源不断到达的旅行团的游客就餐时的连续形态也是这个顾客可以进行就餐的形态。在这种情况下,尽管餐厅的服务有其一定的合理性,但系统不满足弱公平性假设。如果系统的设计中可以排除这种情况的发生,那么就称为是满足弱公平性假设条件的。