分布计算系统学习随笔 第一章绪论
1.1
1、促进分布计算系统发展的两大技术:
1)计算机硬件技术和软件技术的发展
2)计算机网络技术的发展
1.2
1、什么是分布计算系统?
分布计算系统是由多个相互连接的处理资源组成的计算系统,它们在整个系统的控制下可合作执行一个共同的任务,最少依赖于集中地程序、数据和硬件。这些处理资源可以是物理上相邻的,也可以是在地理上分散的。
2、分布计算系统定义的说明
1)系统是由多个处理器或计算机系统组成
2)两类结构:这些计算资源可以是物理上相邻的、由机器内部总线或开关连接的处理器,通过共享主存进行通信;这些计算资源也可以是在地理上分开的、由计算机通信网络(远程网或局域网)连接的计算机系统,使用报文进行通信。
3)这些资源组成一个整体,对用户是透明的,即用户使用任何资源时不必知道这些资源在哪里。
4)一个程序可分散到各个计算资源上运行。
5)各个计算系统地位平等,除了受全系统的操作系统控制外,不存在主从控制和集中控制环节。
3、紧密耦合与松散耦合分布计算系统
紧密耦合分布计算系统 | 松散耦合分布计算系统 | |
连接方式 | 内部总线或机器内互连网络 | 通信网络 |
处理资源间距离 | 物理上分散,相距很近 | 地理上分散,相距很远 |
处理资源 | 处理机 | 计算机系统 |
通信方式 | 共享存储器 | 报文交换 |
1.3
1、分布计算系统的优点
1)可扩充性;2)高的性能/价格比;3)资源共享;4)可靠性;5)支持固有的分布式应用。
1.4
1、透明性:事物本来存在某种属性,但是这种属性从某种角度上来看是不可见的,称这种特性为透明性。
2、分布计算系统的透明性:用户或程序员看不见网络的存在。这样从用户或程序员的角度看来,网络中的全部机器表现为一个,用户或程序员看不到机器的边界和网络本身。用户不必知道数据放在什么地方以及进程在何处执行。
3、分布计算系统的透明性表现:
1)名字透明:指的是对象的命名在全局是唯一的,不管在什么地方访问该对象使用的名字都是一样的。这样一来,在系统中移动一个程序不影响它的正确性。
2)位置透明:指的是资源的名字中不包含该资源的位置信息。这样一来,当该资源在系统中移动时,在资源名字保持不变的情况下,原有的程序都可以正常运行。
3)访问透明:用户不用区分本地资源还是远程资源,访问本地资源和访问远程资源的方法是一样的。
4)迁移透明:指的是用户不知道一个资源或者他的作业是否迁移到另外一个位置。迁移透明需要名字透明的支持。
5)复制透明:允许文件或其他对象的多个副本同时在系统中存在,但是这种情况对用户是透明的,对对象的修改应同时作用在对象的所有副本上。
6)并发和并行透明:多个进程可能并发或并行访问同一个资源,或者一个进程同时使用多个资源,在此情况下不会产生相互干扰和破坏。
7)失效透明:系统中的某一部分失效时,整个系统不会失效,仍可正常运行。
1.6
1、分布计算系统的组成
分布计算系统由四层组成:第一层是由硬件或固件组成的硬核,第二层是分布式操作系统的内核,第三层是分布式操作系统的服务层,第四层是和用户有关的应用层。
2、分布计算系统的设计问题
1)命名问题:名字常在局部意义上使用,也有的名字在整个系统中是唯一的,这叫全局命名。命名直接影响透明性。
2)差错控制:在系统内各个层次上都要检测差错,并使系统从差错状态恢复到正确状态。不可能只使用一种差错控制机构来解析所有层的问题。
3)资源管理问题:每一层都要对用于对象表示的主存、缓冲器空间、信道访问、通信带宽、对硬件/固件的访问、地址空间等资源进行相应的管理。资源的分配和调度通常在本地完 成,因为需要本地自治管理,此外还需要全局调度和分配。要同时达到报文低延迟和高吞吐量的目标则要求长期保留某些状态信息以及资源与功能在各层上进行预分配。
4)同步问题:通常是指合作的各个进程共享资源或共享事件的机制。在分布计算系统中,由于用于更新和报告状态的报文具有不可预知的延迟,合作的各个进程看到的系统状态不可能一样, 即使没有差错和节点故障时也是如此。当发生差错时,问题就更复杂了。差错控制和同步之间的相互作用是很强的,当有多个节点时问题就更复杂。
5)保护问题:比起单机系统来说,保护问题在分布计算系统中更为突出,因为系统在物理上是分散的,成份是异构的,控制是多重的。
6)对象表示、编码和转换问题:系统中每一层都要定义一些对象,说明它们的表示方法及编码方法。当对象从一个主机迁移到另一个主机时如果在两个机器上的表示和编码不一样,则还需要进行转换。
7)测试问题:和集中式系统一样,分布计算系统也存在着逻辑差错、性能差错和硬件/固件故障,需要进行测试。测试也是为了了解所采取的各种方案对性能的影响,有助于更好地了解系统是如何工作的。但在分布计算系统中,由于成份的异构性、控制的多重性和状态的分散性,所以这个问题更加复杂。