老哥学习网 - www.lg9.cn 2024年05月19日 12:45 星期日
当前位置 首页 >杂文文章 >

[一种基于并行计算机架构的OS模型研究]并行化编程架构

发布时间:2019-03-18 06:18:32 浏览数:

  摘要:并行计算机是一种新兴的计算机架构,数据交换网络为整个架构的中心,本文为并行计算机提供一种新的操作系统模型,该系统具有多核结构和支持QoS的特点。在文章中,对整体架构和一些重要问题,比如虚拟设备的定义,主机操作系统与抽象设备的交互方式,并且对设计操作系统过程中的QoS等问题进行了详细的探索研讨,以便该OS模型能够以充分发挥并行计算机的性能。
  关键词:并行计算机架构;虚拟设备;抽象设备;操作系统;多核心结构
  中图分类号:TP332文献标识码:A文章编号:1007-9599 (2011) 24-0000-03
  The OS Model Study Based on Parallel Computer Architecture
  Zhao Xiangwen
  (Fujian Institute of Information Technology,Fuzhou350003,China)
  Abstract:The parallel computer is a new computer architecture,data exchange network for the entire structure of the center,this article is to provide a parallel computer model of the new operating system,the system has multi-core structure and support QoS features.In the article,the overall structure and some important issues,such as the definition of the virtual device,the host operating system interacts with abstract devices,and operating system design issues such as the QoS during a detailed discussion of exploration,so that the OS model able to give full play to the performance of parallel computers.
  Keywords:Parallel computer;Virtual device;Abstract devices;Operating system;Multi-core structure
  一、引言
  从20世纪40年代开始的现代计算机发展历程可以分为两个明显的发展时代:串行计算时代、并行计算时代。每一个计算时代都从体系结构发展开始,接着是系统软件(特别是编译器与操作系统)、应用软件,最后随着问题求解环境的发展而达到顶峰。并行计算(Parallel Computing)是一种为了解决同时使用多种计算机资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。此外还包括:利用非本地资源,节约成本�使用多个“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。因此,针对未来个人机、工作站的实时多媒体应用,人们设计了信息的计算机体系架构――并行计算机.并行计算机在以下几个方面优越于传统计算机:(1)并行计算机以高速交换网络为中心,消除了传统计算机总线结构,以主存为中心所造成的通信瓶颈。(2)传统计算机因为采用集中式控制带来的控制瓶颈问题,在并行计算机中分散控制策略的运用得到了解决。(3)并行计算机可以进一步优化系统,而传统计算机不可以。
  目前在不同的应用领域,诸如银行、超市和电力等,设计不同的体系结构则需要不同的操作系统与之相匹配,以便操作起来更加的方便可靠,达到最佳的性能。因此为并行计算机这个新型体系结构设计一种新型的操作系统是必需的。针对并行计算机的结构特点,本文提出了一种操作系统模型,该模型的特点是:能够提供QoS服务,多核心。并且本文还对设计模型过程中所遇到的问题进行了讨论。
  二、并行计算机架构模式
  随着时代的发展,计算机技术大规模的发展,并行计算成为人们设计计算机操作模型的热点技术。并行计算机用高速交换网络代替主存成为系统架构的中心,计算机中各部件之间通过各种协议在这个中心完成数据交换和设备控制。在并行计算机中,各部件运用客户/服务器交互模式进行通讯。在这种通讯方式下,设备管理任务大部分由该设备对象来处理,不需要经过CPU,从而使CPU主要对核心的操作系统程序及应用程序进行运作,减轻了CPU的负担。而且,并行计算机为每个设备所属的硬件对象分配了不同的处理单元和抽象设备,明确划分了各设备对象的功能,促使系统内各部件之间的通讯量减少。再加上交换网络的高带宽支持了多路并发通信,不管是设备与设备之间还是设备与CPU之间都可以同时传递信息,使得各部件高速的并行运作,因此传统计算机的通信瓶颈在这里是不存在的。另外,并行计算机的这种通信模式不仅提高了系统的总体性能,而且为现代微内核等操作系统模型提供了硬件上的支持。
  三、并行计算机OS模型
  与传统的计算机架构相比,并行计算机所具有的特点,使传统的操作系统模型已经不能满足并行计算机,因此为了能够充分发挥并行计算机的硬件性能,提出了并行计算机操作系统模型。
  (一)并行计算机OS的体系架构
  从以上的描述发现,并行计算机与分布式的架构模式有相似之处,因此并行计算机的操作系统在某些方面可以借鉴分布式操作系统。但是分布式系统的每个设备都有一个完整的操作系统,该系统不仅有处理和存储的能力,也具有一定的计算能力,但是需要对计算任务进行分配和操作。并为用户提供一个统一的操作界面,其多核心系统的实质被掩盖。反观并行计算机,交换网络网络中每个节点只能进行处理和存储。从功能上看,各个设备节点主要完成一定的设备管理功能,如设备控制,存储器管理,进程调度,协议处理等功能。但是计算机系统内的计算功能仍由主机来实现,各设备要为主机应用程序提供服务。因此各设备节点的管理程序可以看作一个面向专用控制的简化了的操作系统,这里我们称之为设备操作系统。由此,根据并行计算机与分布式架构模型的相似与区别,在目前已有的分布式操作系统的基础上,提出适合并行计算机的操作系统。
  根据并行计算机架构的特点,我们提出了一种基于并行计算机架构的多内核OS模型,该操作系统将交换网络上的接点分为两类:主机对象和抽象设备对象。主机对象的最底层是操作系统中的主内核,它完成进程调度,存储器管理,通讯接口及协议处理的功能以及主机资源管理功能。主内核上面是I/O设备对象接口,主机通过该接口调用相应设备对象的服务,也可以向该设备对象传递信息。再往上是系统服务层,传统计算机操作系统提供的系统服务由该层实现。最顶层是应用程序。在并行计算机中,为用户提供操作系统界面由主机对象产生。
  这种结构在应用接口上使并行计算机与传统的单机操作系统保持良好的兼容性能,使得传统的应用程序对用户逻辑独立,让用户感觉到是透明的一般,无需考虑多个计算机并行工作。
  设备对象具有独立的设备操作系统,很高的自治性,该操作系统运用在设备上的存期起和处理器,设备操作系统在功能上与传统操作系统中的设备驱动程序类似,但它支持多用户并发访问,QoS等多种新特征。
  并行计算机的操作系统模型按设备类别对设备对象的功能及接口加以规范,从而引入抽象设备的概念。抽象设备由下一节详细阐述。
  (二)模型相关抽象设备
  抽象设备可以看作是面向对象方法中的一个类,该类抽象、标准化并行计算机中设备对象的功能及接口,抽象设备对象是抽象设备的一个实例。在并行计算机中,设备对象被称为抽象设备对象。抽象设备也有面向对象的三个特性:(1)封装性。并行计算机系统中设备控制软件被抽象设备外围设备控制软件被抽象设备运用面向对象的方法封装起来,使其功能独立,并对外提供标准化操作接口。(2)继承性。由于抽象设备可以继承和派生,从而使软件具有很好的向下兼容性,拓展性以及易于设备升级。(3)多态性。抽象设备为每个用户请求生成一个服务实例,并行计算机根据各个设备具有不同的功能,将计算机的外围设备分为不同的类,不同的类别具有不同的调用接口。操作系统通过对不同接口的调用来控制设备对象,不关心对象内部的实现方式和类别。这样,不仅简化了操作系统的操作,而且在设计方面只需要对接口进行设计相应的软件,简化了对设备对象的设计。不同的服务实例所进行的操作不同,得到的结果也不同。而且抽象设备支持多个服务并发执行,在同一个设备上不同的服务实例可以并发执行相应的操作,缩短了设备响应时间。另外,系统为每个抽象设备对象分配了一个非主内核,在灵活性,功能性和执行效率方面都比传统的设备驱动软件好。
  但是抽象设备与智能I/O设备还是有所差别的。智能I/O设备也是通过交互接口实现设备的智能功能,但是其调用级别是设备控制级的,并且其采用的通讯方式是存储器映射方式,它的功能在灵活性和复杂性方面要差于抽象设备。
  在设计并行计算机的过程中,该操作系统模型主要将以下几类设备设计为抽象设备:(1)磁盘:该设备主要包括磁盘、软盘等随机的块存储设备。(2)终端输入设备:该设备主要包括诸如键盘、鼠标等输入设备。(3)网络设备:该设备主要包括网络适配器,在操作系统设计过程中,我们将网络设备器设计为抽象设备,这样不仅可以完成网络设备驱动功能,而且可以使网络协议栈直至网络层的部分放在该对象上实现,大大的减轻主CPU的负担。(4)音频处理设备:音频处理设备设计成抽象设备可以使其完成音频数据的处理。(5)视频处理设备:完成显示设备的输出控制,并且还可以将其功能扩展,如复杂图像图形的处理功能等等。
  (三)主机OS与抽象设备的交互方式
  并行计算机是由一组处理单元和抽象设备组成的,这组处理单元和抽象设备通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。因此,并行计算机的两个最主要的组成部分是处理单元和抽象设备的通信与协作机制。并行计算机体系结构的发展也主要体现在计算节点性能的提高以及节点间通信技术的改进两方面。主机操作系统通过消息传递的方式可以与各个抽象的设备对象进行通信。在操作系统的系统服务层存放着一张表格,该表可以记录着各个设备对象的接口号,并且记录对这些接口进行操作的各种控制命令。通信过程可以分为发送信息和接收信息两步,(1)发送信息。应用程序向操作系统提出I/O请求,经过系统服务层的处理,将相应的操作命令及用户所需要的数据提交到操作系统内核,内核对其进行封装,再依照通信协议,对封装后的信息简单处理后发送到系统内部的数据交换网上。(2)接收信息。数据包被相应的设备对象接收后,先执行通信协议,再进行解封装将获得的操作命令和数据传送向抽象设备服务器,由服务器来调用相应的设备驱动程序,由设备来完成相应的操作。
  主机操作系统与设备对象进行交互,可以采用客户机/服务器模式,该方式的交互方式主要基于以下两种控制方法:远端脚本执行方式和基于抽象设备命令接口的远端过程调用方式,下面就这两种方法加以详细的解释:
  远端脚本执行方式:在并行计算机中,除了可以用命令原语执行抽象设备控制外,还可以采用生成远端执行脚本的方式对设备对象进行控制操作。远端脚本执行方式设计的目的主要是为了使面向I/O的计算机能够在智能I/O设备上进行交互操作,从而可以大大的减少不必要的主机处理,很大程度上降低了系统内的通信量。在并行计算机系统中,主机系统和抽象设备是工作在不同的环境中,难以完成针对设备对象的可执行程序进行编译工作,因此在本文的并行计算机模型中我们提出了远程脚本执行方式进行交换控制。并行计算机抽象设备的脚本语言可以针对每一类的抽象设备独立进行设计,语言规范程度高,仅采用了简单的数据类型和数据结构,支持最基本的程序结构和面向对象设备的操作控制命令,非常简便实用。
  基于抽象设备命令接口的远端过程调用:运程过程调用是由施乐公司Birrel等人共同提出,后来又经过Sun微系统公司精炼凝集,目前已经成为一项互联网标准。远程过程调用广泛应用于互联网络和方不是系统中,许多典型的分布式操作系统,比如Amoeba、Mach、Chorus和DCE等,都采用了远程过程调用作为分布式应用程序的通信机制。在本文的基于并行计算机架构的操作系统设计过程中,由于各个抽象设备的关联对象已经向主机对象共不了其控制接口,这些接口包括诸如可供调用的方法声明等,因此可以采用远端并行计算机中的远端过程调用方法,实现控制抽象设备的目标。
  四、并行计算机OS的QoS模型
  (一)QOS模型
  QoS是指计算机、网络等设备的服务质量,其是网络应用的一种安全机制,它可以用来解决网络延迟和阻塞等问题的一种技术。在网络正常情况之下,如果网络只用于特定的无时间限制的操作系统或者是应用系统,并不需要QoS。但是对关键应用和多媒体应用就十分必要,比如当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。
  通常QoS提供以下三种服务模型:
  1.Best-Effort服务模型是一个相对比较单一的服务模型,也是QoS相关模型中最简单的一个服务模型。对Best-Effort服务模型来讲,网络尽最大的可能性来发送报文。但对时延、可靠性等性能不提供任何保证。Best-Effort服务模型是网络的缺省服务模型,通过FIFO队列来实现。它适用于绝大多数网络应用,如FTP、E-Mail等。
  2.Int-Serv服务模型是一个相对比较复杂的综合服务模型,它可以满足大部分应用程序的QoS需求。该模型再设计和开发过程中使用资源预留协议(RSVP),RSVP运行在从源端到目的端的每一个相关设备上,其可以监视每个流,这样就可以防止某个应用程序消耗过多的资源。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。但是,Inter-Serv模型对设备的要求很高,当网络中的数据流数量很大时,设备的存储和处理能力会遇到很大的压力。Inter-Serv模型可扩展性很差,难以在Internet核心网络实施。
  3.Diff-Serv服务模型是一个多服务模型,它可以满足不同的QoS需求。其不同与Int-Serv服务模型,它不需要通知网络为每个业务预留资源。其区分服务实现过程简单,并且具有良好的扩展性。
  在我们进行研究的系统架构中,由于其基于并行计算机模型,各个设备具有独立的功能,减少系统内信息传递,缩短了应用程序的执行时间,并且CPU对应用程序高响应比的特点,使该架构在实时多媒体方面具有良好的应用前景。因此,我们需要使设计出得操作系统能够支持实施多媒体技术,特别是要提供对应用程序的服务质量QoS保证。
  (二)并行计算机的QoS模型
  为了确保在运行各种实时、多媒体应用程序和网络应用程序能够及时的获得其所需要的资源,在设计操作系统时需支持服务质量保证――QoS,为用户提出的各种服务提供相应的质量保证。当某个系统服务被用户申请时,用户需给出相应的QoS要求,操作系统根据现有空闲资源情况与用户进行协商,最终达成QoS协议,系统为用户保留已协定的相关资源。
  传统的QoS模型是建立在两个基本假定上的,一是主机上的QoS管理器具有所有资源使用状况的记录;二主机系统统一管理I/O设备。该模型描述如下:应用程序将QoS描述发送到QoS管理器,QoS管理器将描述翻译为相应的QoS参数,并查看记录,确定空闲资源是否能满足该QoS的要求,若能够满足,则QoS管理器与应用程序签订契约,并把QoS参数递交给动态资源管理器,由管理器把具体的资源预留或分配给应用程序。若不能满足,则需向应用程序发送否定消息。但是,在并行计算机系统中,每个设备都是独立的,主机不能直接对设备记性管理,这样上面提到的假定就不成立,那么传统的QoS模型就不能实现。因此,本文提出了一种新型的操作系统QoS模型。
  在本文所提出的模型中,各个设备对象都拥有一个QoS服务器,该服务器完成QoS管理和资源分配工作。QoS管理器不再对QoS描述进行处理,而是把该描述分解后转发到相应的设备对象的QoS服务器,由服务器处理相应的QoS请求,然后将结果返回到QoS管理器进行汇总,管理器将汇总后的结果返回给应用程序。
  五、结束语
  并行计算的优点是具有巨大的数值计算和数据处理能力,能够被广泛地应用于国民经济、国防建设和科技发展中具有深远影响的重大课题,如地震预测和预报、石油勘探、气候模拟和大范围天气预报、核武器系统的研究模拟、新型武器设计、天体和地球科学、卫星图像处理、航空航天飞行器、实时电影动画系统及虚拟现实系统等等。随着时代的发展,计算机系统架构也在快速的更新换代。本文所设计的操作系统是为了满足并行计算机架构对操作系统的需求。本文所设计的系统满足以下几个特点:(1)多核心;(2)设备管理系统被封装,使抽象设备具有独立的功能;(3)设计新型的QoS服务,以符合并行计算机架构的需求。该操作系统的设计,使并行计算机的硬件性能充分发挥出来,智能化、实时多媒体的需求得到了满足。
  参考文献:
  [1]王邦千.计算机操作系统体系结构综述[J].达县师范高等专科学校学报,2005,5
  [2]任爱华,杜悦冬.一种实时多处理机操作系统开发方法[J].计算机工程与应用,2001,3
  [3]邓化国.分布式多处理机系统的结构及应用[J].中国民航学院学报(综合版),1995,1
  [4]杜悦冬,任爱华.基于OOPN的多处理机操作系统设计与实现[J].计算机工程与应用,2001,12
  [5]任爱华,杜悦冬.基于Petri网结构的多处理机实时操作系统[J].软件学报,2001,7
  [6]李之棠,赵振龙,黄辉龙,李非.并行计算机系统结构及其I/O性能评价[J].计算机工程与科学,2002,4
  [7]高蕾.计算机网络操作系统结构与功能分析[J].中国科技信息,2005,10
  [8]高尚民,胡铭曾,季振洲.SPMD并行计算机系统中互连结构的模拟研究与实现[J].宇航学报,2006,1
  [9]屈婉霞,蒋句平,汪审权,窦勇,徐荣生.并行计算机系统调试技术研究[J].计算机工程与科学,2000,3
  [10]胡凯.网络分布式并行计算的负载平衡[J].北京航空航天大学学报,2004,11
  [11]申德荣,陈翔宇,吕立昂,邵一川,于戈.一种支持服务网格的动态负载平衡系统[J].计算机工程,2006,21
  [12]杜悦冬,任爱华.基于OOPN的多处理机操作系统设计与实现[J].计算机工程与应用,2001,12
  

推荐访问:并行 架构 模型 计算机

相关文章:

Top