版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 多核平台间的并行计算系统研究 王韦桦Summary:近年来,随着多核芯片的产生和现代科学计算需求的不断增大,并行计算系统被广泛研究和使用,旨在提高多核芯片的利用率,提升系统的计算执行效率。该文针对多核平台间的并行计算系统,首先,介绍了并行计算系统的硬件组成结构,然后,针对系统的硬件结构,提出了相应的并行编程模型的基本编程接口和支持机制,并从3个角度,即并行性分解、任务划分和任务调度介绍并行计算系统的设计原理;最后总结并展望了并行计算系统未来的研究方向。Key:并行计算系统;并行编程模型;并行任务划分;并行任务调度:TP391 :A :1009-3044(2016)05-0244-03Abst
2、ract: In recent years, with the development of multi-core chips and the increasing demand of modern scientific computing, Parallel computing systems have been widely studied and used in order to improve the utilization of multi-core chips, and to improve the computational efficiency of the system. I
3、n this paper, a parallel computing system is aimed at the multi core platform, First, the hardware structure of parallel computing system is introduced;Then, the basic programming interface and supporting mechanism of the parallel programming model are put forward;The design principles of parallel c
4、omputing system are introduced from 3 aspects, namely, parallel decomposition, task partitioning and task scheduling; Finally, the future research directions of parallel computing systems are summarized and discussed.Key words: parallel computing system; parallel programming model; parallel task par
5、titioning; parallel task scheduling1 背景随着互联网行业的蓬勃发展,针对不同行业各类应用的数据处理性能要求也在不断提升,直接推动了并行计算系统和分布式处理系统的广泛应用。所谓并行计算系统,就是构建一组并行处理单元,并建立各个处理单元间的交互与协同规则,将数据处理任务分解成多个子任务,并依据并行计算系统各个处理单位的处理能力和运行状态进行任务分派,以达到提高系统数据处理能力、处理规模和处理效率的目的1。如图1所示,并行计算系统的构建主要包含三个部分,即:系统的硬件组成、系统的软件环境和系统的并行程序设计2。以下针对这三个部分分别展开描述。2 并行计算系统硬件组
6、成本文所设计的并行计算系统的硬件设备,由三台并行计算节点compute-0-0、compute-0-1 和 compute-0-2组成,如图2所示。这三个计算节点无主次之分,采用对等通信方式,通过以太网交换机构成局域网络。其中各个并行计算节点CPU:选用不低于Intel Core i7二代运算能力的处理器(四核八线程),支持同步多线程;内存:容量为4G,支持大容量高速运算。该并行计算系统的存储方式可以认为是一种多层次分布式内存共享并行结构,它同时结合了结点间分布式存储和结点内共享内存的层次结构。在该结构下每个计算节点内的多核CPU间利用内存共享的方式进行并行计算,而各计算节点之间则可采用基于消
7、息传递的方式实现并行处理,其结构如图3所示。3 多层次的并行编程模型鉴于并行计算系统的分布式共享内存并行结构特点,和并行处理节点操作系统所提供的软件支持,可以采用MPI+POSIX接口(Portable Operating System Interface of Unix) 的混合编程模型进行并行计算系统的设计与开发。MPI由一组库函数组成,提供了统一的编程接口,并行程序的各个进程之间通过这些函数进行通信。在标准串行程序设计语言(C、C+)的基础上,再加入实现进程间通信的MPI消息传递函数,就构成了MPI并行程序设计所依赖的并行编程环境2。MPI是一个标准,它不属于任何一个产商,不依赖与某个操
8、作系统。MPI支持多种操作系统,包括绝大多数的类Unix、Windows系统和所有主流的并行机3。POSIX接口也称为Pthreads,它是C语言多线程编程接口标准的一种具体实现,主要提供线程管理(创建、连接等)、线程同步(互斥量的创建、销毁和锁定等)和线程间的通信(条件变量的创建、销毁和等待等)。使用 MPI+Pthreads的多层次并行编程模型可以充分利用分布式内存共享结构的特点。上层使用MPI实现并行计算系统节点间的并行处理,下层使用Pthreads实现并行计算系统节点内的多线程并行计算,实现原理如图4所示。 4 并行计算系统的并行程序设计根据并行计算系统的硬件组成和编程模式,其程序并行
9、设计应包含以下二个层面:1)单个并行平台内的程序并行设计根据系统在各个节点上所执行的功能任务,从数据/任务划分、通信同步和任务分配的层面上,讨论程序并行处理设计的实现手段。2)多个并行节点间的程序并行设计重点考虑系统多节点间并行处理的任务分解和任务调度方法,目的是根据系统硬件组成和软件环境,对数据处理任务进行有效分解,并通过各节点间的任务合理调度,提升系统数据处理能力。4.1 单个并行平台内的程序并行设计单个并行平台内的并行程序设计就是将一个串行程序并行化,分解成若干个子程序块,再分别进行调度,从而让程序并发的在多个核上运行。以构建仿真系统为例,依据并行程序设计的基本思路和设计模式开展研究讨论
10、:4.1.1 任务划分根据仿真系统在单个并行平台内执行的功能任务流程,同时,按照软件构件化设计思想,遵循高内聚低耦合的设计理念,可将单个节点所处理的仿真任务按照不同的处理粒度和执行层次划分为一系列阶段分别实施,包括:场景模拟阶段、仿真数据生成阶段、信息处理阶段和显示及结果评估阶段。各个数据处理阶段在进行任务处理时,可依据各阶段任务处理流程,分时顺序执行。该阶段划分任务的特点表现为:1)系统由多个阶段的不同功能处理协作完成任务;2)每个处理阶段均对应不同的处理任务,并且各个任务之间按照规定的流程分时顺序执行;3)各个处理阶段之间可以采用基于消息传递或者内存共享的方式进行参数传递和函数调用。综上所
11、述,仿真系统在单个并行计算平台内处理时,可按不同任务阶段,基于流水线的方式实现并行计算处理,如图5所示。4.1.2 任务间的通信、同步和调度根据仿真系统处理各个阶段相对独立的特点,各个处理阶段通过自主交互的方式进行任务间的通信、同步和调度。首先,并行处理模块建立一个任务队列,各处理阶段建立属于其自身的任务调度器,用于其内部任务的调度和从任务队列提取任务。各个处理阶段进程中的任务调度器都有一个标识信息,在从任务队列拿到任务数据后,利用数据中的标志信息,与各个处理阶段的标识信息进行匹配,匹配时就激活该处理阶段,并在处理完成后更新处理数据中的标志信息,继而激活后续的处理阶段。同时,在各个任务阶段(进
12、程)之间的通信和同步,可利用MPI系统实现基于消息传递的点对点通信、全局通信和同步处理;亦可通过共享内存方式,通过参数传递实现通信和同步。而对于大规模数据处理需求,即可能在某个时间点或时间范围内会出现大量的待处理数据,而如果单个并行处理模块的计算能力不足,造成数据队列的堵塞,就会使系统出现无法预测的问题。此时,可用考虑采用一定的调度算法将实时任务分派到不同的处理节点执行,实现多个并行处理模块间的任务并行处理,从而使系统处理能力得到最大程度优化。4.2 多个并行节点间的程序并行设计实时应用的日趋复杂、数据的快速增长和系统规模的不断扩大迫切需要高性能的计算和处理能力的增长。提高系统计算和处理能力的
13、途径主要有两种,一种是依赖于硬件(如电子元器件)的性能;另一种是建立多节点并行处理系统,利用节点的并行计算提高系统的处理能力4。同样以构建仿真系统为例,研究讨论多个并行节点间的任务分配和调度策略:4.2.1 任务划分对于多个并行处理节点间的并行程序设计,应根据并行系统的硬件组成和软件环境,首先对处理任务进行有效分解,并在实现处理能力提升的基础上,满足系统负载均衡需求。处理任务的划分方法通常可从处理的数据和实现的功能两方面进行考虑。1)基于处理数据分解的任务划分数据分解的对象可以是输入数据,计算的输出数据或计算的中间结果。其实现步骤是,首先分解与仿真处理相关的输入数据,并尽可能对数据进行等量划分
14、;其次再将每个计算关联映射到相应的操作节点;当该操作需要别的任务的数据时,就会产生通信要求。2)基于计算功能分解的任务划分功能分解也叫计算分解,它主要关注所需执行的计算,将整个计算任务分解成一些小的任务,即各个处理节点使用同一处理软件的不同功能模块,对相同的数据信息进行处理。其目的是尽量开拓并行执行的可能,并行结构如图7所示。4.2.2 任务调度1)在数据分解并行模式下,并行处理系统应有一个任务调度中心,在尽量考虑负载均衡、存储空间均衡使用以及较少并行节点间通信的基础上,将分解的数据发送到各个处理节点并行执行。各个节点接受到任务调度中心的数据后开始本节点的局部计算任务,并实施计算节点间的通信,
15、通过流水线方式输出计算结果。2)在功能分解并行模式下,多个处理模块的并行系统也应有一个任务调度中心,任务调度中心可以根据各个处理节点的处理功能和处理状态,在并行系统内寻找任务执行节点。各个节点在完成对数据的本地处理功能后,向任务调度中心提交任务并发出后续功能操作的执行请求。5 结束语本文以单平台并行程序设计和多并行节点间的并行程序设计两种体系结构为例,说明并行计算技术在多核平台间的并行计算体系结构中的必要性和可行性。提出了用并行处理流水线的方法来加速单个平台内的多核系统计算;对于多个并行处理节点,通过将数据处理队列或功能处理队列的划分,同时通过保证不同队列间的时间同步,在不损失精度的前提下实现多平台间的并行处理功能。综上所述,随着多核/众核芯片的发展以及一系列互联网新兴应用的涌现,并行计算系统正步入面向新处理器结构和新兴应用的优化阶段,如何高效设计并行模型和如何支持各类数据并行处理应用将是未来发展重要方向5。Reference:1 陈国栋. 基于网络流模型的统计费用流相位解缠并行算法研究D. 成都: 成都理工大学硕士论文, 2012.2 李伟峰. FDTD与MPSTD并行算法在电磁散射中的应用研究D. 长沙: 国防科学技术大学硕士论文,2010.3 王金花. 工程化星载SAR/InSAR数据处理软件设计与实现D.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州城市职业学院《西医外科学医学免疫学与病原生物学》2023-2024学年第一学期期末试卷
- 贵州财经大学《藏族文化概论》2023-2024学年第一学期期末试卷
- 2025青海省安全员-B证考试题库附答案
- 2025安徽省建筑安全员《A证》考试题库及答案
- 贵阳人文科技学院《形式化方法导论》2023-2024学年第一学期期末试卷
- 广州珠江职业技术学院《机能学实验(二)》2023-2024学年第一学期期末试卷
- 广州新华学院《工业机器人基础操作与编程实训》2023-2024学年第一学期期末试卷
- 广州卫生职业技术学院《分子与细胞生物学检测技术》2023-2024学年第一学期期末试卷
- 广州铁路职业技术学院《建筑及环境设计方法学》2023-2024学年第一学期期末试卷
- 2025年江西省安全员《B证》考试题库
- 浙江省金华市(2024年-2025年小学五年级语文)人教版期末考试((上下)学期)试卷及答案
- 陆上风电场设备选型技术导则
- 核心素养导向的单元整体教学
- 中医妇科疾病的治疗(完美版)课件
- 汽车维修行业投诉处理管理制度
- 济南大学《线性代数与空间解析几何》2023-2024学年第一学期期末试卷
- 山东省青岛市2024-2025学年七年级上学期11月期中英语试题
- 2024年海南省公务员录用考试《行测》试题及答案解析
- 《预防未成年人犯罪》课件(图文)
- 教育机构日常运营与管理指南
- 2024年浙江省能源集团应届生招聘高频难、易错点500题模拟试题附带答案详解
评论
0/150
提交评论