


单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,,南京理工大学计算机学院,,,,,,,,分布式系统与,WEB,服务,第七章,,容错与实时系统,,属性:,,,可用性,,,可靠性,,,保险性,,,可信任性,,,完整性,,,可维护性,后果:,,,失灵,,,错误,,,故障,策略:,,,防止故障,,,故障容错,,,故障恢复,,,故障预报,什么是“可依赖的系统”?,如何区分各种故障?,如何处理故障?,,容错与实时系统,是分布式系统的两大领域,.,,,一般而言,容错服务是允许系统出错的,但它可以在故障后恢复,,,而不丢失数据大多数容错应用有两种形式,,一种叫做基于事务的容错,;,二种叫做进程控制的容错,二者的主要区别在于,恢复时间容错具有,两个方面,,一是,故障特征的描述,,,二是,故障屏蔽,,,故障屏蔽的方法有层次式屏蔽和成组屏蔽两种.,,本章中将讨论相关设计中的主要问题包括,协议、调度策略和设计依据,等7,.,1,事务的故障模型,,利用事务处理服务的概念起源于数据库管理,最初的目的是提供原子性协议,,用于,处理消息的丢失,原子提交协议,接受这样一个模型:机器在故障时,将不能做任何事情;而在故障前均能正确地做任何事。
对于事务的处理,要考虑磁盘出错,,,服务器故障及通信不畅等出错问题,,这样便需要一个故障模型,,,在该模型中,事务处理算法可以在可预测的故障下正常工作,(,含利用恢复技术,),,但不保证在出现不可预测的灾难性故障下也能恢复正常工作故障模型描述如下,:,,1.,写永久存储器时可能出错,,,可能未写人,也可能写错,,,例如在出现灾难性故障,.,,2.,服务器随时可能出现故障,3.,消息传递延迟可能是无限制的消息可能丢失、重复,,或受损接收消息的服务器应该能够检测消息损坏情,,况所有出错或未检测出的受损消息都会引起严重故,,障以上故障模型的特点有:,,,(1),原子提交协议不能保证在有限的时间内完成,因为通,,信消息的延迟可能无限大;,,,(2),分布式事务的恢复时间可能要比预料的时间长;,,,(3),原子提交协议认为,服务器总能正确执行并能检测故,,障;,,,(4),原子提交协议认为,永久性存储器上的受损消息和出,,错数据是可检测的以上故障模型是设计稳定存储器的基础,,稳定存储器要在写操作出现故障时、或在进程故障时提供原子写操作通信故障可以通过可靠的,RPC,协议缓解下面先讨论稳定存储器,尔后更详尽地讨论容错概念与技术。
7,.,2,稳定存储,,,服务器,(,特别是文件服务器,),的重要特性就在于其可恢复性,,,特别是文件映射表和文件索引的恢复文件访问一般有这样几种出错情况:,读块时出错、写块时出错、数据传输时出错及存储介质本身出错因此,需要一种检测错误的方法,,一般采用计算并记录校验和的方法来解决,,这一方法步骤如下:,(1),写块时,计算数据的校验和并记录下来;写块后,一般要读出一次,进行校验和比较,若不同则再写;同样,经过一定次数的重写后,若读出的校验和仍与写入的校验和不同,则记下,“,坏块,”,,并向客户机报错,从而保证写时的正确性2),读块时,计算读出数据的校验和并与原记录的校验和比较,若不同,则重新读块经过一定次数的重读后,若校验和仍然不同,则向客户机报错这样,保证避免产生读块时的错误上述方法叫做精心块传输,(CBT,,,Careful Block Transfer),方法,但是这种方法并不保证其可恢复性,,因为若在,写索引时出现错误,,则所有文件块均将访问不到,如果在,写文件映射表时出错,,则无法再访问文件针对这两种情况,文件映射表和文件索引一般要备份存储,当系统出现故障后,读操作发现校验和不一致时,则服务器可利用备份进行恢复。
这种备份一般采用两种存储结构,,以减少两备份同时出现错误的可能性,一种常用的结构就是文件映射表和文件索引另一种结构用一个柱面映射表完成文件页到物理块的映射,柱面映射表的每一行由,<,分配状态,,UFID,,索引中的位置,块指针,>,组成显然,柱面映射表的大小决定于磁盘的柱面数以上措施都假设在存储器可能出错的情况下,存储故障对于程序是不透明的,至少程序员认为存储器不是十分可靠的下面讨论的稳定存储,(StableStorage),则是通过一定的手段使程序员感到所使用的存储器是非常可靠的,从而增加存储系统的故障透明性稳定存储其实,是,一种在不可靠介质上建立可靠信息存储系统的方法,,它可以保证服务器系统可以从硬件或软件故障中得到恢复稳定存储一般采用冗余备份的方法由于稳定存储的空间冗余太大,故,一般仅用于文件的关键信息,,如前述的文件映射表和文件索引等当然,它也用于对数据安全性要求甚高的应用中,如银行业务等实现稳定存储的主要原则有以下三个:,,,1),一般用两个相距较远的磁盘块形成一个稳定存储块,,,尽可能减少发生两块同时出错的可能性;,,,2),要同时保持以下不变性:,,①至少有一个块是好块;,,②若两块都是好块,则内容应当一致,若在操作过程,,中,可以有暂时的不同。
3),稳定块指针由两个正常的块指针提供.,7,.,3,容错,,,7.3.1,基本概念,,,一、部件故障,,故障通常可分为暂时性、间歇性和永久性故障.,,暂时性故障只发生一次,如果重复操作,故障可能不会再现一只鸟在穿过微波波束时会引起无线网络上的信息丢失,这就是暂时性故障,如果下一步重传,它可能正常工作间歇性故障发生后消失,过一段时间后又出现一个连接器中若结合不紧,(,如插座未插牢或虚焊等,),,会引起间歇性故障这种错误很难诊断,但一旦被找到故障点,系统很容易恢复,永久性故障在故障修复之前一直存在如烧坏的芯片、软件中的错误、磁头故障都会引起这种故障并不是所有的部件故障都会引起系统失败,但计算机系统的确会因某些部件故障而工作失败设计和构造容错系统的目标是保证系统能够在部件故障出现时继续正常工作这个目标与要求单个部件的高度可靠性是不同的二,.,系统故障,,在分布式系统中,我们最感兴趣的是系统在部件出错时能否继续工作由于分布式系统中有大量部件,出错概率高,因此对系统的可靠性要求很高下面我们来看处理机故障.处理机故障分为两类:,,,(1),,悄然停,(Fail-silent,,或,fai1-stop),故障;,,,(2),拜占庭,(Byzantine),故障。
在,悄然停故障中,,,出错的处理机停止运行,除了声明它停止运行外,不对后续输入产生反应也不产生输出,.,,,,而,拜占庭故障则是,,虽出故障,但仍继续运行,对于后续输入继续处理给出错误结果,给人一种仍在正常工作的假象没有检测出的软件错误常常属于拜占庭故障通常处理拜占庭故障比处理悄然停故障更困难三、同步/异步系统,,如果一个系统总能在有限时间内对消息做出反应,那么就称它为同步系统;反之,就称为异步系统异步系统比同步系统更复杂如果一个处理机发出一条消息,并且知道在,T,秒内没有回答就意味着接收失败,它就可采取相应的正确行动;如果没有反应时间的限制,就很难判断是否发生故障,四、冗余配置,,常用的容错方法是冗余配置它有,信息冗余、时回冗余、物理冗余,三种形式信息冗余就是,增加额外的信息位使错误信息可以得到纠正,例如海明码是存储器设计中的重要冗余配置技术,它可以用于检测和恢复传输错误时间冗余就是,执行一个操作,如果需要就再次执行前面讲到的原子事务,就属于这种冗余.如果事务取消,它对系统无影响,可以再做时间冗余对于解决暂时性故障和间歇性故障非常有效,物理冗余就是增加额外的设备使系统可以承受某个部件的故障。
例如给系统增加额外处理机,如果某台处理机出错,系统可以马上切换到正常的处理机上继续执行组织额外处理机有两种方法,,一种是活动备份,(ActiveReplicate),法,一种是主副,(Primaryand Backup),结构法,,比如对一个服务器,如果使用活动备份法,则所有的,处理机都象服务器那样同时,并行工作,,来达到屏蔽故障,主副结构法则是使用,一台处理机做工作,,当它出现故障时,再用备份机来替代它.,,采用哪种办法,主要取决于应用对于以下几点的基本需求:,,,(1),所需的备份,(,冗余,),程度;,,,(2),有故障时的平均和最坏性能;,,,(3),无故障时的平均和最坏性能7.3.2,活动备份技术,,活动备份是一种典型的技术,它的特点就是使用物理冗余.,人类生活和工程中许多都用到了这种技术,如哺乳动物有两只眼、两个耳朵、两个肺等;飞机一般要用多个发动机,(,波音,747,则有,4,台发动机,),;体育比赛中要有多个裁判等等在电子线路中也经常采用活动备份技术典型设计称,TMR(,三模件冗余,),技术冗余能够屏蔽故障.但需要多少个副本才合适呢,?,这主要依赖于应用要求的容错能力如果,一个系统被称为,K,级容错,那就意味着它可以容忍,K,个同样部件的错误。
如果,K,个处理机出现的是,悄然停故障那么用,K+1,个处理机就可以实现,K,级容错这样,在,K,个处理机停止工作后,还有一个处理机在运行原始电路,,模三冗余电路:三是实施,“,少数服从多数,”,,原则的最少选举人数模三冗余,,TMR,,如果处理机出现,拜占庭故障,那么就必须使用至少,2K+1,个相同的处理机来处理这样,在最坏情况下,即,K,个处理机给出了错误结果,但还有,K+1,个处理机会给出正确答案,仍可屏蔽错误在实际应用中,由于环境的复杂性,很难保证只有,K,个处理机出问题,另外,K+1,个不出问题因此,,在容错系统的设计中,还需要依据统计分析结果来设置冗余备份的数量总之,活动备份方法并不是非常困难的问题7.3.3,主副容错技术,,这个方法的基本思想就是,,在任一时刻,有一台机器是主服务器,完成所有的工作,一旦这个主服务器出现故障,那么副服务器就接替工作理想情况下,切换应当干脆利落,,并且只能被客户机操作系统感知,对应用程序是透明的这个方法同活动备份一样,也是源自日常工作和生活中的常用方法如国家设副主席、政府设副总理、一般单位都设副职,在汽车上也都配有备用轮胎等主副容错方法比活动备份有两大优点。
首先是简单,,因为在正常操作中,消息仅仅送到主服务器而不是整个服务器组;,第二,实际用的机器也较少,任意时刻只需一台副服务器备份即可当一个副服务器成为主服务器时,马上要加入一台新的副服务器它的缺点是一般很难处理拜占庭故障,另外在主服务器故障后需要很复杂并且时间较长的恢复过程,同时如何选择切换时间也是需解决的问题,,7.3.4,容错系统的协调,,在许多分布式系统中,经常需要让进程就某事件达成一致的协议前面讨论的分布事务就涉及到许多,这种协调活动,例如选举管理员,决定是否提交一个事务等等,当通信系统和处理机郡正常时;达成一致协议是很简单的但若认为处理机和通信设施都可能出故障,要达成一致协议就麻烦多了分布式协调算法的总目标是让所有无错处理机在有限时间和操作步内,就某个问题达成一致协议根据不同的系统情况会要求不同的处理办法1),消息是否可靠传输,?,,(2),进程是否会发生故障,?,如果出现故障,是悄然停故障,?,,,还是拜占庭故障,?,,(3),,系统是同步的还是异步的,?,,,算法证明:,在一个有,M,个故障处理机的系统中,仅能在还有,2M+1,个正常工作的处理机时,才能达成一致协议而在一个异步的无传输延迟限制的分布式系统,即使只有一个处理出现故障也不能达成协议,7.4,实时分布式系统,,,7.4.1,什么是实时系统,?,,,实时系统根据时限要求的严格程度及漏掉一次处理所带来的后果分成软实时系统和硬实时系统。
所谓,软实时系统就是指漏掉一个偶发事件处理不会影响系统正常工作例如:电话交换机允许在超载情况下,丢失或接错一个电话相反,,硬实时系统不允许漏掉任何一个事件.,在实际当中,还有些系统处于两者之间,即如果有一事件没有在最后期限内得到处理,那就必须关闭当前活动,但却不产生致命的结果另外,在某些实时系统中,有的子系统是硬实时的.有些子系统是软实时的.,,7.4.2,设计问题,,实时系统有许多特有的问题,下面来讲一些重要的一、时钟同步,(,参见第三章,),,,二、事件触发和时间触发系统,,事件触发是,:,如外界发生某事件,,,被传感器检测到,,,就发一个,,中断信号,,,事件触发触发系统在系统负裁很重,,的情况下,效果不好在时间触发系统中就不存在上述问题,,在时间触发的实时系统中,每隔△,T,发生一次时钟中断在时间触发实时系统中,间隔时间△,T,的选择很重要三,.,可预见性,,行为预见性:,即系统设计时应清楚所要满足的所有时间限制,,因而实时系统是一个确定的系统,而不是随机,,系统四,.,容错,,可采用前面介绍的两种方法,,五,.,语言支持:,通用的语言,也可用专用的语言,7.4.3,实时通信,,实时系统中的通信与其它分布式系统的通信不同。
由于,对性能的要求很高,,因此,可预测性和确定性是其关键问题,.,,在分布式系统中实现可预测性就意味着处理机间的通信是可预测的与以太网相反,令牌环网比较适合于实时系统另一个是,TDMA(,分时多路复用,),通过时间槽的方法实时分布式系统的通信协议常是专用的,.,如,TTP,协议,(时间触发协议),,它的特别之处:,接收者能够发现信包的丢失、自动的成员关系协议、信包和全局状态的,CRC,效验码、及时钟同步的方法7.,4.4,实时调度,,实时调度算法需刻画的参数:,,,1,)硬实时或软实时,硬实时要满足时间限制,软实时较松2,)抢占式或非抢占式,如何让出,CPU,,,,,3,)动态或静态,动态为执行中做出调度决策,静态事先计划典型动态算法有速度单调算法,,即任务的优先级与它的执,,行频率有关还有抢占式动态调度,(最早期限优先算法),,,及,最小松弛度算法,,,静态调度适合时间触发系统;动态调度适合事件触发系统,4,)集中式或分散式,集中式一台决定,分散式处理机,,自己做出决定,,,7.4.5,实时系统的设计依据和主要措施,,按照实时系统的要求,,时限是基本的设计依据,我们必须从应用要求来分析和选择系统的硬件平台和软件平台,特别是前面已经说明,由于系统的日趋复杂化,再利用汇编语言来编写实时系统已经是不可能的。
假设已经选择了一个硬件平台,我们要从,以下几个方面分析系统对于实时性的支持,一、实时响应,,,实时应用需要对外部事件有可预测的响应时间,如设备中断等,典型的实时应用包括三部分:中断产生设备、从设备上采集数据的中断服务程序和处理数据的用户级代码实时响应其实是反映应用系统与操作系统,如何高速地共同工作来,快速处理外部事件的一个指标在系统中一般有,两类延迟:,,,(1),中断服务程序,(lSR),延迟,,该延迟是指从中断产生到中断服务程序第一条指令执行所经过的时间2),进程调用延迟,(PDL,,即,ProcessDispatchLatency),,,进程调用延时是指从中断产生到等待进程开始执行的时间包括以下几个时间段:,,①,,中断服务程序延迟;,,②,,中断服务程序执行时间;,,③,,从中断服务程序返回的时间;,,④,,等待中断进程的语景切换,(ContextSwitch),时间,,二、主要措施,,,(1),多级流水,(,信息缓冲,),,,为了满足系统强实时要求,单靠串行程序的一次处理是很难完成任务的,,可以采用多进程调度,进程之间采用信息缓冲的技术,,使一次服务在总时间较长的情况下,能够满足及时处理高速实时输人信息的处理。
2),内存锁定,提供高速的数据访问,,为了满足实时性要求,实时处理所需的数据一般不能访问磁盘,因此,,可将常用数据全部锁定在内存中,这样保证所需要的数据访问均能在确定的时间,(,内存访问时间,),内完成,进而保证系统的实时性,3),优先级动态可调、抢占式调度策略,,在实时系统的设计中,应当将系统中的进程根据实时性要求,确定其静态优先级,,保证具有高优先级的进程具有可抢占特性,同时,为保证优先级较低的进程能够运行,当其请求达到一定时限时,,可以动态提高其优先级,,以便及时完成这类服务4),CPU,的特定调度,,为了保证实时性要求,特别是,强实时的请求,可以在分布式系统中利用操作系统提供的支持,将某个确定进程分配在特定处理机上运行,从而保证在时限内完成相应服务7.5,分布式多媒体系统,,,7.5.1,简介,,现代计算机可以处理像数字音频和数字视频数据这样连续的、基于时间的数据流其处理能力导致了分布式多媒体应用程序的发展,,如网络视频库、因特网电话和视频会议;这些应用程序能在当前网络和系统上运行,但它们的音频和视频质量常难以令人满足许多像,大范围的视频会议、数字电视产品、交耳式的电视以及视频监视系统,,这样对实时数据要求很高的应用程序需要分布式系统技术所实现。
多媒体应用程序需要在有限时间内将多媒体数据流传输到客户端音频和视频数据流被实时地生成和消耗,同时应用程序完整性的实质是实时地传输数据元素,(,音频采样,视频帧,),,简单说,,多媒体系统是实时系统,,,分布式多媒体系统,它必须按照外部决定的调度方案执行任务和传输结果底层系统达到这些要求的程度便是应用程序拥有的,服务质量,(QoS),实时系统所执行任务的特征和多媒体应用程序的特征不同前者通常处理相对小的数据量相对少的硬时间限制,但是如果超过了时间限制,就会导致严重的甚至是灾难性的结果 这种情况下,解决办法是充分估计所需要的资源并为其指定固定的调度计划,这样可以保证在最坏的情况下满足其要为了满足多媒体和其他应用程序的需要而进行的有计划的资源分配和资源调度,这被称为,服务质量管理,大多数当前的操作系统和网络并没有包含支持多媒体应用程序所需要的,QoS,管理设施7.5.2,服务质量管理,,当多媒体应用程序运行在个人计算机网络上时,它与运行着应用程序的工作站,(,处理器周期、主线周期、缓冲区容量,),和网络,(,物理传输连接、开关、网关,),竞争资源工作站和网络可能必须同时支持多个多媒体程序和传统应用程序,。
在多媒体和传统应用程序间就有竞争,在不同的多媒体应用程序之间甚至在单个应用程序的数据流之间都可能有竞争在多任务操作系统和共享网络中,物理资源都是可以被并发使用的在多任务的操作系统中,中央处理器在每一时刻只处理一个任务,(,或进程,),,,一个轮转或其他调度方法的调度程序负责在当前竞争处理器资源的任务中选出一个,并调度它到处理器上运行网络是被设计用来使不同来源的信息进行交流的,它允许多个虚拟通道存在于同一个物理通道上以太网这一主要的局域网技术以最优的方式来管理共享的传输介质当通道上是平静时,任何结点都可以使用这一通道但是这样可能会发生信息包冲突,当发生冲突时,结点会等待随机的一段时间,然而重发包,这样可以防止冲突当网络负载很重时,很容易发生包冲突,但是这一发送方案在这种情况发生时,不能提供关于带宽和延迟的任何保证其资源分配方案特点:,当对资源的需求增加时,它们将资源更稀疏地分配给每个竞争资源的任务,共享处理器周期和网络带宽的轮转和其他方法都不能满足多媒体应用程序的需要显而易见,它们不能实时地处理和传输多媒体数据流迟到的传输数据是没有价值的为了实现实时传输,,应用程序需要保证在需要的时候能得到必要的资源,,为了提供这一保障而进行的资源管理和分配,被称为服务质量管理。
1,)服务质量协商,,为了在应用程序和它底层的系统之间进行,QoS,协商,应用程序必须向,QoS,管理指定自己的,QoS,需求,它是通过传递一个参数集实现的当处理和传输多媒体数据时,有,3,个参数非常重要,它们是:,,,带宽、延迟和丢失率,,,为数据流设定,QoS,:,,如摄像输出流需要带宽,50Mbps,,延时,150ms,,丢失率在帧,10,中少于,1,帧,,,流量调整,,:,,流量调整是用来描述使用输出缓冲来使数据元素流平滑这一方法的术语多媒体数据流的带宽参数通常给出发生在数据流传输时对实际传输模式的理想化近似实际的传输模式越接近这一描述,系统就能越好地处理传输流量,特别是在系统使用为周期性请求设计的调度方法时,这一特点就会越显著,.,,,,协商过程,:,对分布式多媒体应用程序,一个数据流的组件可能位于多个结点上在每个结点上有一个,QoS,管理器直接的,QoS,协商办法是从源端到目的端一直跟随着数据流源端组件通过向本地,QoS,管理器发送一个,流规范来启动协议过程,这个,QoS,管理器可以检查数据库中记录的可用资源并决定所请求的,QoS,是否能满足如果应用程序涉及到其他系统,流规范被传送到下一需要资源的结点。
这一流规范传输过所有的结点,直到它最终到达目的端,然后系统可得出此,QoS,请求是否能满足的结论,并将该信息传输回源端这种简单的协商方法可满足多种目的,但它没有考虑到在不同结点上的并发,QoS,协商之间可能会发生冲突为了彻底解决问题,需要一个分布事务式的,QoS,协商过程2,)许可控制,,许可控制,管理对资源的访问,以避免资源过载,并防止资源接收不可能实现的请求它涉及关掉那些与当前的,QoS,保证冲突的资源清求一个许可控制方案是,基于整个系统容量和每个应用程序产生的负载这两方面的知识的一个应用程序的带宽需求规范可能是应用程序需要的最大带宽、保证其运行的最小带宽,或者是它们之间的平均值相应地,许可控制方案可以基于这些值之一进行资源分配如果所有的资源只由一个分配器控制,那么许可控制是直接的,如果资源分布在各个结点上,例如许多局域网环境,其可以使用一个集中式的访问控制,也可以使用一个分布式的许可控制算法,由它避免并发许可控制的冲突工作站的总线仲裁算法属于这一类,;然而执行带宽分配的多媒体系统并不控制总线许可,因为总线带宽并不在内带宽预留,保证多媒体数据流某,QoS,级别的普通方法是预留一部分的资源带宽以便由它独占使用。
为了在任一时刻实现数据流的需求,需要为它预留最大带宽这是提供给应用程序有保障,QoS,惟一可能的方法,统计的多路技术,因为系统中可能存在潜在的未被利用的资源,这在超额预留资源的情况下常发生而一些保证技术可提供使用这些资源的一些可能性,,这些保证通常被称为统计保证或软保证,,它与前面介绍的硬保证技术不同因为不考虑最坏的情况,统计性保证技术可以提供更高的资源利用率但是如果仅仅只依据最小或平均需求来分配资源,那么短期的负载高峰可能会导致服务质量的下降;应用程序必须能应付这样的服务质量降低统计的多路技术是基于这样一个假设:,对大量数据流来说,虽然单个的数据流可能会发生变化,但这些数据流需要的总带宽相对稳定它假设当一个数据流发送大量的数据时,就有可能有另一个数据流发送的数据量较小,这样总带宽需求保存平衡当然这些数据流之间应该是没有联系的7.,5.3,资源管理,,为了向应用程序提供一定等级的,QoS,服务,系统不仅需要充分的资源,(,执行,),,还需要在应用程序需要时有能力将这些资源提供给程序使用,(,调度,),资源调度,,系统需要根据进程的优先级来为其分配资源资源调度器根据特定的标准来决定进程的优先级。
在传统的分时系统中,,CPU,调度进程基于程序的响应时间以及公平原则来指定优先级:,I,/,O,量大的进程会获得高优先级,这样可以保证对用户做出快速响应,与,CPU,联系紧密的任务获得低优先级,并且系统平等对待同一优先级的进程多媒体系统也可以使用这一标准,,但是传输单个多媒体数据元素的时间限制改变了调度问题的特性为解决这一问题,系统可以使用,实时调度算法,因为多媒体系统必须处理离散的和连续的媒体,因此在不引起离散媒体访问和其他交互应用程序饥饿的情况下,可以为实时性的数据流提供充分的服务调度算法必须管理,(,或协同,),影响多媒体应用程序的所有资源在通常的情况下,系统从磁盘上读取多媒体数据流,并将其通过网络传输到目的机器,在目的机器上,该数据流和其他来源的数据流同步合成起来,并最终显示在这个例子中,系统需要的资源包括磁盘、网络、,CPU,以及内存和总线1,)公平调度,如果有多个数据流竞争同一资源,系统必须考虑到公平性,防止不正常的数据流占用过多的带宽保证公平性的一个简单方法是对同一优先级的数据流使用轮转调度方法,称为公平排队2,)实时调度,人们已经开发出来一些实时调度算法来满足应用程序如:航空工业过程控制的,CPU,调度需要。
假设,CPU,资源并没有被过度分配,(,这是,QoS,管理器的任务,),,调度算法将,CPU,时间片以某种方式分配给多个进程,而这种方式必须使进程能及时地完成任务传统的实时调度算法十分适合规则的连续多媒体数据流模型最早时间限制优先,(EDF),调度算法几乎是这些方法的同义词一个,EDF,调度器根据每个工作项的时间限制来决定下一个要处理的工作项:具有最早时间限制的工作项优先处理在多媒体应用程序中,,EDF,调度策略被证明在基于时序标准分配单个资源方面是最优的7. 5 . 4,实例研究:,Tiger,视频文件服务器,,提供多个并发实时视频数据流的视频存储系统被看作为支持面向消费者的多媒体应用程序的一个重要的系统组件人们已经开发了多个这种类型的程序原型,并且其中的一些已经形成了产品,,Tiger,视频文件服务器(微软研究院),,,系统的主要设计目标如下:,,,1.,适用于大量用户的视频点播,应用程序是向点播的用户提供电影的服务器系统从大容量的数据电影库中选择电影客户应在发送点播请求的数秒钟内就能获得电影图像的第一个帧,并且他还应该能随心所欲地执行暂停、回退和快进操作尽管库中电影的数目很大,但是可能有一些电影是很受欢迎的,它们可能同时被多个客户不同步的访问,这就导致可能同时播放它们,但是播放的时间进度不同。
2.,服务质量,视频数据流的 传输速率应保持稳定,其中客户端可用的缓冲区大小决定了系统能处理的最大的抖动,并且视频数据流还应保持低丢失率,,,3.,可伸缩性和分布性,目的是以一种可伸缩的体系结构来设计系统,使它,(,通过增加计算机可以同时支持,10000,个客户4,低成本,硬件 系统是由低价的硬件构,,,5.,容错性,在单个服务器计算机或者是磁盘驱动器发送故障时,系统可以继续运行并且执行,,,,,Tiger,视频文件服务器设计核心是分布式调度计算机的工作负载第八章,,计算机支持的协同工作,,CSCW,技术的应用领域非常广泛例如,远程专家会诊,可以利用,CSCW,技术,求得远方专家的帮助;合作设计,可以利用,CSCW,技术在异地进行合作工程设计,而不必真正坐在一起,,CIMS,中的并发工程便属于这类应用;合作编著,多个作者可以在不同地点、不同时间共同编辑和编著同一著作,文件、图书和报刊等远程会议更是目前最易接受的,CSCW,技术,节省时间CSCW,技术在军事应用中,包括战时的协指挥和平时的协同训练等8.1,概述,,,8.1.1 CSCW,简介,,,CSCW(Computer Supported Cooperative Work),一词最初是在,1984,年提出,,,于,1986,年在美国召开的第一次国际,CSCW,会议上正式使用,它的含义是计算机支持的协同,(,合作,),工作。
从此,,CSCW,的研究发展非常之快,,CSCW,国际会议每两年举行一次,欧洲每两年也召开一次欧洲,CSCW,会议,.,1989,年,欧共体设立了,COST,工程计划.其中一项重要工程,专门用于支持合作系统的研究.该工程的目标分为三类:,,,整体科学目标,;,特定目标和政治目标,,其科学目标为:,,①为,CT(,合作技术,,CooperationTechnology),的强化训,,练创建理论基础,,②为科学团体参加,CT,的研究建立公共框架,,其特定目标为:,,①改进入机界面,改进总体工作条件,支持,CT,系统的终,,端用户;,②,为决策人员和计划人员提供对于合作技术的基本理解;,,③通过研究成果影响合作技术的标准化组织;,,④通过适当的媒体,介绍科学和技术成果,使,COST,的努,,力为国际所注目其政治目标是使欧洲成为合作技术研究的领袖在美国,虽然没有相应的计划,但其研究和资助强度一点也不逊色,主要由各大商家和著名大学立项研究.由此,也可以看出美国和欧洲研究方式的不同,,在美国是直接利益驱动,在欧洲则是技术驱动在我国,关于,CSCW,的研究是从多媒体领域展开的,最初大家讨论的热点是分布式多媒体技术,关注这一领域研究的文章最初发表在我国第一届多媒体技术研讨会,(1992,年,北京,),上,到了第二,(1993,,杭州,),,三,(1994,,上海,),、四,(1995,,广州,),届多媒体研讨会,文章便不断增多,表现出我国研究人员对于该领域研究的热情。
主要研究单位有清华大学、国防科技大学、华中理工大学,南京大学等其中,清华大学推出了会议系统和合著系统的原型,在会议和合著系统的研究中重点突出了合作机制的研究综合世界各国的相关研究情况,,CSCW,的主要需求有群体工作需求的分析、多用户界面、分布式结构、合作规则 组织模型、群体协调理论租模型等方面CSCW,中的研究问题主要包括:合作认知模型的研究;合作控制机制的研究;合作通讯;合作软件支持工具和环境的研究自,CSCW,提出以来,人们在以下几个主要领域进行了广泛研究,并取得了成绩1),消息系统,(Messagesystem),,,是电子邮件的后代,可以让用户通过中心机发送文字消息给其它用户广域网的存在使电子邮件所完成的功能更为广泛电子邮件的发展导致了消息处理系统,(MessageHandlingSystem),模型的出现,这一模型已经为,CCITT,的,X,.,400,系列标准所采用每个消息系统都使用特定的消息格式来传输信息,结构化消息系统的主要原理是通过扩充现有消息格式来扩充计算机可处理的信息2),计算机会议,(ComputerConferencing,),,本身也是由电子邮件:发展而来,但它主要关心的问题是如何组织消息,而不是如何传输消息。
一个典型的计算机会议系统包括一组叫做会议的群体,每一个群体拥有,——,组成员和一组消息会议的安排主要由成员各自选定一个论题展开讨论申请参加会议的用户应当对会议中的论题感兴趣通常情况下,系统存储的信息均为会议成员所共事和访问这些信息通常存储在中心数据库的会议消息中,而不是在个人的邮箱中现有的原型系统有,Notepad,、,COM,、潘多拉系统等高速可靠的通讯技术的发展使实时的计算机会议得以实现,如,RCAL,,可以允许与会人员之间实时通讯另外,先进的工作站已经可以支持桌面会议系统,这类系统充分利用了工作站环境中的共享窗口来处理实时的会议需求现已推出了一些多媒体会议系统,它们都集成了包括音频、趾频和文本等媒体信息的支持3),合著系统,,此类系统用于支持和表达参于群体工作成员之间的协商和讨论合著系统便是具有明确合作成果的系统,即成果是反映所有参与人员意见的一个文档其中,合著系统在欧美都有专门的立项研究在美国,由卡内基梅隆大学承担的合著系统研究项目,PREP,,三年期限,总投资达,95,万美元;在欧洲,则有专门的研究队伍,从社会学、心理学和计算机科学几个方面着手研究.,,,总的来看,,CSCW,系统及应用的研究目前正在努力解决下列问题:,,第一,适合于人类自然合作方式的计算机支持;,,第二,对实时性群体交互的支持;,,第三,多媒体合作的支持;,,第四,对于多媒体信息的高效传输提供支持。
8.1.2 CSCW,系统的功能和特点,,,CSCW,系统的主要功能有如下五点:,,,(1),通讯:,是指信息的共享与传送;至少涉及两种不同的进程一千逍息发送进程和信息共享进程2),任务调度,:,是指任务执行临时序列的确定这取决于许多因素,如时限、任务的预计时间、对其它任务提出的要求、人员及资源的可用性等等.,,,(3),合作角色及责任的分配,:包括指定合适的人员,确定他们所起的作用通过定义人员,确定人员对于这一角色的适应性,保持责任的可跟踪性是支持这一功能的基本方法;,(4),资源分配:,在任务执行过程中,使合适的资源可用5),进展跟踪:,包括监控任务的执存状态,以确认一项活动是否正在按计划进行;,,CSCW,系统具有如下特点:,,,,(1),开放性:,合作中没有获得希望结果的固定方法,不同人、不同组处理任务的方式是不同的2),边界开放性:,合作中没有确定的结束标记或结束点3),异步性:,合作中不同人具有自己不同的操作序列,即使同一工作组的不同个人也具有自己独立的行为 ’,,,(4),信息共享性:,这是合作的基础、合作的结果5),自动化支持:,这是,CSCW,系统不断追求的目标。
8.1.3 CSCW,系统的基本需求,,,需解决的四个问题:,,,(1),,群体合作策略和规范;,,,(2),,计算机通信,,,(3),,多用户界面;,,,(4),,共享的多媒体信息服务其中每个问题都有许多尚待解决的技术问题如:,,,1),存储与处理:,多媒体信息由不同类型的复合对象构成,如文字、图形/图像、声音、音频和视频等每类信息都需要单独的获取、处理、传输和存储的工具和技术再进一步,这些信息应当形成一定的语义和时态联系,并按照统一的表示方式进行管理,(,包括存储和检索,),,即多媒体文档因此,对于多媒体文档的有效支持是多媒体合作环境中的第一需求2),功能表现:,不同的应用可能根据自己的需求有自己的功能要求,但在合作环境中我们可以发现,有许多功能属于任何系统都应具有的,这些功能是任何合作环境都应支持的,,,3),合作工作的需求:,合作意味着用户间通讯和协调因此,合作规则是合作中的第一要求,任何合作者都要遵守这一规则,否则合作将无法进行;第二,合作设施和合作协议也是必须的,否则合作者之间无法通讯和交流;第三,必须给所有合作者提供一个共同的视图;最后,合作者必须有一个共享的数据空间4),通讯:,合作者之间的通讯实际上就是克服地理上的距离限制。
因此,在合作系统中,网络通讯是必须的要支持多媒体信息的全面且实时的通讯,必须支持高速传输,传输速率一般不应低于,100Mbps,8.1.4,CSCW,研究中的几个问题,,,1,)工作与利益的差异问题2,)必需人数与,“,囚徒困境,”,问题3,)破坏社会的正常秩序4,)异常处理问题5,)隐含访问问题6,)评价的困难.,,,7,)直觉的失败,,,8,)适应性回题,,8.1.5 CSCW,与计算机体系结构的发展,,就计算机领域的研究与发展来看,合作已经不是新名词合作的概念早就已经与计算机系统结构结下了不解之缘1),多个部件的合作.,这是传统流水线计算机的一般结构,在这种结构中,采用多个部件的时间重叠,(,合作,),,可以获得计算机系统的高性能已经得到了很好的验证2),多个处理器的合作,——,多处理器,(MP,、,MPP),结构为了进一步获得计算机的高性能,除了开发细粒度的部件级并发,(,合作,),以外,人们开始寻求更大粒度的合作,即处理机之间的合作这种结构一般称为并行处理机或超并行处理机结构3),多个计算机的合作,——,分布式系统结构更大粒度的合作则表现为多种计算机之间的合作,这就是基于局域网的分布式系统,在这种体系结构中,分布、异构和合作是其主要特点。
目前,市场上流行的客户/服务器计算机结构就是一种特殊的分布式计算机体系结构,它是将异构型计算机的功能、性能及责任进行必须的预划分,然后形成特定的分布计算机系统4),人的合作,——CSCW,系统当技术发展到一定程度,在较低一级粒度下的合作与并因此,,CSCW,的诞生和发展是与计算机体系结构的发展分不开的,同时,,CSCW,也是人类社会对于计算机提出更高要求所驱动形成的一个技术领域8.1.6 CSCW,是一种环境仿真技术,,,人的合作就是指两个或两个以上的人协商、通讯,以完成同一种工作合作本身就是一个复杂问题人与人的合作必须靠环境支持,而环境的主要部分是信息媒体的载体,.,,,由此可见,人们的目标就是在逐步扩充的范围内,充分使人们利用人造的媒体载体,通过自然媒体进行通讯和交流,克服自然距离带来的不便为了不断支持人们跨越更大距离的合作与交流,从计算机领域来看,人们开发的先进技术主要表现在以下几个方面第一,网络的出现以及联网的工作站形成了新的信息处理和存储能力,,提供了设计更广泛模拟人类合作环境的可能,.,,,第二,分布式系统中的资源共享技术,,特别是局域网和广域网技术的进一步发展使地理上分散的用户直接交互的可能性进一步增强;,,,第三,多媒体信息处理和管理技术的进一步成熟,,更容易模拟人类的自然合作环境:,,第四,高速网络技术的发展将进一步克服当前网络传输速率的限制,,进一步提供各类媒体信息的实时传输,这是模拟人类自然合作环境必备的技术。
因此,,CSCW,技术便是为了追求更高层次、不受距离限制的、全方位利用各种信息媒体的合作而研究的技术也就是说,,CSCW,研制的就是这样一个环境,无论人们的距离有多远,都能利用该种环境进行类似于自然环境支持的合作,它是一种模拟人类自然合作环境的虚拟环境CSCW,的研究意义在于,,使世界变大,(,一个用户通过这些系统的支持可以涉猎到更加广泛的信息和知识,),,,又使世界变小,(,多个异地作者可以在同一虚拟桌面上讨论、合作处理同一信息等,),8.1.7 CSCW,与分布式系统的关系及异同,,分布式系统通过网络来支持多个计算机系统合作完成同一项工作但这里的合作是指不同计算机之间的合作,而非人之间的合作,,CSCW,要支持的是人之间的合作,,这两种合作主之间存在着天然的联系,,第一,完全自治的分布式系统:支持电子邮件,从而支持入之间异步的信息传输工作,能够部分完成对于犬之间合作的支持;,,第二,资源共享系统:允许不同计算机的用户共享同样的系统资源这也是,CSCW,系统中的必备技术;,,第三,分布式操作系统:该种操作系统将分布的系统资源作为整个环境的资源来管理,提供用户透明的计算机资源管理,对于,CSCW,系统的支持更为直接。
总之,分布处理是,CSCW,系统的基础支持技术可以这样说,,CSCW,的实现基础是分布处理技术,,CSCW,的研究也将进一步促进分布处理技术的发展在分布处理技术还未提供足够的支持时,,CSCW,系统的研究人员还必须自行研制具有特殊要求的相关分布处理技术CSCW,与分布式系统的主要区别:,,,,第一,,分布式系统追求透明性,即让用户在使用分布式系统时,感觉好像独占该系统的所有资源:而,CSCW,系统则追求非透明性,即系统尽可能地让所有用户相互察觉到大家所有的操作第二,,分布式系统主要研究如何让系统中各个计算机充分发挥各自的优势,从而获得整个分布式计算机系统的高性能;而,CSCW,系统除了要求获得整个计算机系统的高性能外,更重要地是更好地支持计算机用户间的高效合作,从而获得人,—,机系统整体的高性能,所以,其研究分支中就有,GDSS(,群决策支持系统,),,该项研究期望通过合作支持系统使人们通过计算机的合作效益超过自然方式下的合作效益。