广域异构并行计算平台——Leta
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一 2 99 一
2 广域异构并行计算系统实例
- t L s e
Lt是我们在研究现有的异构并行计算技术基 e a 础上开发的一个基于 J a a 语言的异构并行计算系 v
统。构造这个系统的目的是建立一个异构并行计算
方法研究的框架 , 异构并行计算技术的各个方面的
新方法新思路, 都可以在这个框架中实现出来, 并通 过实验来验证新方法的优点和缺点 , 最终总结出能 够适应 日益发展的计算要求的好办法。
W i( s s c pt ) heh tk n o le { l a a o m ed s t
I n br n o p t a s< nm e o m e o ucm le t k fu ( f e d s u br f
c pi n s tg e o un o ) m d
D l o
方案
当然 J a a 语言也有它的局限性, v 由于它编译生 成的字节码在虚拟机中是解释执行的, 因此执行的 效率是比较低的。但随着 J a a 虚拟机技术的不断 v 发展, aa J 语言最终将有望成为能适应大规模科学 v 计算需求的计算语言
22 系统结构 .
问题必须是用 Lt所提供的编程接口编写的) e a 我们把用户提交问题的结点称为问题结点, 把 所有参与计算的结点称为计算结点 , 在整个系统中 的任何一个结点都 可以同时是计算结点和问题结 点。所有愿意参与协作计算的结点在后台都会运行 一个监护进程, 并将在系统中的某个位置( 资源信息 库) 登记自己的基本情况, 如计算能力、 监护进程的 UL R 等信息 这个监护进程在通常情况下是闲置 的。而当用户在某个结点上提交 了问题以后 , 该问 题将与资源信息库联系, 从信息库中选择适当的计 算结点, 并与该结点 上的监护进程联系, 发出计算请 求。计算结点上的监护进程接收到计算请求后 , 根 据本结点的当前状态作出回应, 如果可以参与计算, 则会主动与问题结点进行联系, 通过 J a a 的类载人 v 机制将计算任务线 程通过网络取 回到本地进行计 算。图 I 和图 2 分别给出了 Lt系统运行时的逻辑 e a 结构( 星形) 和每一个问题从提交到解决之间计算结 点与问题结点之间的工作过程。
关词L,碱 构并计 ‘ e广 ) ,行算 t a
0 广域异构并行计算简介
传统的并行计算研究都是以局域网为通信基础 进行的, 而且这些用局域网连接起来的计算资源要 求在系统结构、 软件结构上都是一致的, 不容易扩展 到地理 L 分布的, 系统结构互异的计算资源上去。 这造成全世界广域网上分布的数 目极大的计算机资 源在大部分时间里处于闲置状态, 得不到充分利用。 广域异构并行计算将地理上分散的、 软硬件平 台 异构的多种计算资源通过网络连接起来, 集成一 个有效的计算环境, 去解决一些用通常的计算方法 与计算环境无法解决或者解决起来较困难的计算问 题。这些计算资源可以是超级计算机、 机群系统、 单 个_作站或者 P 〔 C机。这整个计算环境称为异构并 行计算系统。本文将介绍一种适合于将广域网上的 异构资源组织起来共同完成并行计算的异构计算平 台: t (a z 。该平台为解决异构并行计算研究 中所 面 临的各种问题, 如任务调度中的容错、 各任务之间的 通信机制等提出 了 新的思路。
Se a io le a ( n r c p t tka ie on ec n m ed sg d o lt n s s t
as nd ; s ge ) i
Slt p i o ( l r ; mun n e d on ) eca tg ie o e c o d t
It系统 由两个部分组成。 .a e 一个部分是相对静
图 I e Lt 辑结构 a逻
2 9 9
高技术通讯・ 增刊 2 20 0 . 0 8
计算结点
0 .登记资源信息
4通 过 Jv . aa 类载入机制 下载任 务线 程
3 .提 出
资源信息库
及 回应 计算请
求Fra Baidu bibliotek
2 . 查询资源信息
问题结点
r d m, . a o e 二 n t c
I F d ie ptg ) oe f i a d cm un nd ( n o i n l As n tk ts e sg ts t h nd; i h a o o i s i
1 . 提交计算问题
用户
图 2 e 的执法、 L t a 通迅过程
23 任务调度算法 . 异构并行计算的基础是一些不可靠的网络和计 算机。在异构并行计算系统中的计算资源随时可能 无法被使用, 并且随时可能有新的计算资源进人系 统参加计算。这样, 就要求异构并行计算运行时系 统在进行任务调度时采取相应的措施 , 针对动态的 执行环境提供容错性和负载平衡支持。 解决资源动态性的传统 调度算法是 “ 自调度
1 广域异构并行计算的特点
广域异构并行计算系统的硬件基础是一些不可 靠的、 动态变化的由广域网连接起来的机器和网络, 这使得广域异构并行计算与传统的局域同构并行计 算相比有着以下特点: 11 计算资谏在多层次上的异构性 . 构成虚拟网络计算环境的计算资源和网络连接 常常是高度异构的。这种异构的特征表现在多个方 面, 包括不同的机器类型, 不同的操作系统, 不同的 网络环境以及不同的调度、 安全策略等。这些异构 的特征是广域异构并行计算区别于传统的同构局域
并行计算的重要特点。 12 计算资源及其行为的动态性, . 不可预侧性 传统的并行计算系统经常使用空间共享或者组 调度的调度策略, 可以预测其对处理机和网络的访 问。而在广域异构并行计算 系统 中, 资源( 计算资 源、 网络资源等) 可能是有条件共享的, 这就造成系 统的行为和性能可能随时间而变化, 还可能会遇到 资源和网络的失败 , 这就导致了系统行为的无法预
3 0 一 0
谢 非等: 广域异构并行计算平台— lt e s
参与 计算 在调度算法中, 还使用了“ 动态粒度管理” 技术 来减少任务由问题结点到计算结点上的网络传输开
销 动态粒度管理简单地说就是每次给计算结点分 配的任务都是 组任务而不是一个。这一组任务的 数目是根据当前未完成的任务数和参与计算的计算 结点数日动态计算的。动态粒度管理有三个优点: . ‘能减少任务分配的次数, 1 : : 从而减少网络传 输的月销; 二 一 个计算结点 仁 的多个任务的执行可以进行 流水, 一 任务完成以后, 前 介 它向问题结点返回结果 的过程’后 一 。 个任务的计算过程可以并发执行; ・臼 能够将用户所编写的细粒度程序自动透明
Sls e lg i un ply e- hd i oc fc Whe tk nt g d } s s a i e) i (a a o s n l h s s Sl t ua i e t k / o d i ; /r n r b , e c a nsg d e n sn a s u o n b
Fs wi ut a l s n c ptg e oe m u n nd ae t i t t o i o l a nl e a
fie i t k i s s a ; nh t s s
Egrceun ply ae shdlg i - i oc
统的计算方法与计算环境无法解决或者解决起来较困难的计算问题。本文介绍的 Lt e a 系统就是一个基于 J a a 语言的广域异构并行计算平台, v 使用运行时系统来管理和调度用 户的计算任务。它在并行计算中采用积极调度的方式, 用冗余来屏蔽广域异构计算环境 的动态性, 各并行任务之间用全局共享内存来进行通信。它直接面向计算问题, 以计算性 能的提高为目 比较适合作为今后高性能广域异构并行计算的研究墓础。 标,
测性 。
13 可扩展性 . 具有可扩展性是异构并行计算的一项基本的特 征, 这使得网络上的丰富的计算机资源可以方便地 加人到系统中充分利用, 而这些资源也可以从系统 中去除, 且不应对应用程序的执行结果产生影响。 14 管理域的复杂性 . 广域异构并行计算所使用的资源在地域上分布 广泛, 因此不可能只被一个实体拥有和管理, 必然是 由多个管理实体来对各个部分进行管理的。不同的 实体可能采用不同的管理机制 、 不同的验证机制和 授权机制 , 这也就要求异构并行计算系统要解决在 不同的管理域上进行协调的问题。
高技术通讯・ 增刊 20 .8 020
广域异构并行计算平台—
Lt e a
谢 非 黄大正 杨广文 ( 清华大学计算机系高性能计算技术研究所 北京 1 04 0 8) 0
摘 要 广域异构并行计算, 也称元计算(ec p i )将地理上分散的、 mto un , a m tg 软硬件平台 异构的多 种计算资源通过网络连接起来, 集成为一个有效的计算环境, 用来解决一些用传
台土的 J a虚拟机 中运行。这样可以比较方便地 a v 解决异构计算资源的协同问题。同时 J a a 语言将 v 线程实现作为其语言的一部分, 这样就很适合把用 户的并行计算任务分成一个一个的线程, 然后将其
态的用户程序。从 L a e 的角度看, t 整个异构并行计 算系统中的所有的结点都是平等的, 用户可以在其
中的任意一个结点上提交它的计算问题( 当然 。 这个
无缝地结合到整个运行时系统中运行。同时,a Ja v 还是一种安全语N, 它在三个级别上提供了安全机 制: 言级 , 语 虚拟机级, P 级。这三个级别的安全 AI 机制使得用 Jv 语言开发的程序 比用诸如 C语言 aa 开发的程序更加安全和健壮 , A I 而 P 级的安全机制 使得用户[以为自己的应用程序提供更灵活的安全 i f
谢 非等: 广域异构并行计算平台一 一e Lt a
21 语言平台 . l。 a 系统采用 J a s t a 语言作为开发语言。J a v a 语 v
态( 指执行代码) 的运行时系统 , 另一部分是相对动
言 作为「 ! 趋成熟的新一代网络语言, 其语言定义本 身就拥有着对异构平台和并行计算 的支持能力 Ja a 源程序通过编译产生的是与平台无关的字节 v 码, 这些. 码可以不经过修改就在各种异构的平 ( f i
(lcdi) t。 s-h u g ese l 算法”' 这种简单算法将计算任 f n 6
务分解成大量的小的计算单元, 称为任务。参与计 算的计算机 一 次从中拿来一个任务进行计算, 直到 所有的任务都计算完成为止。Lt所使用的积极调 e a
度( g-h un) e es e lg算法是对自 a rc d i 调度算法的改进:
Asn s t h nd; t k ts e sg t a o o i h s i i { nl n m le a a g d i op t tk i e; ut a c ed s n il l s s d e- eui ; e e Slshdl g l o fc s n 用户将计算问题提交给 Lt运行时系统 以后, e a Lt将程序中定义的计算任务形成一个任务池, e a 记 录每一个任务的状态( 可能是未分配, 已分配未完 成, 或已完成) 。对每一个参加计算的空闲结点, 都 从任务池中分配若干未完成的计算任务给它。积极 调度算法的主要思想是: 一旦未完成的任务数 比参 加计算的计算资源的数 目少时, 就对这些任务在所 有的计算资源中进行重新分配。这样, 丢失的计算 资源上的计算任务就有机会被分配到其他可用的计 算资源上继续计算。其结果, 即使系统中只有 一 个 计算资源可用, 也可以保证任务最终完成; 而新增加 到系统中的计算资源也可以很迅速地得到计算任务
2 广域异构并行计算系统实例
- t L s e
Lt是我们在研究现有的异构并行计算技术基 e a 础上开发的一个基于 J a a 语言的异构并行计算系 v
统。构造这个系统的目的是建立一个异构并行计算
方法研究的框架 , 异构并行计算技术的各个方面的
新方法新思路, 都可以在这个框架中实现出来, 并通 过实验来验证新方法的优点和缺点 , 最终总结出能 够适应 日益发展的计算要求的好办法。
W i( s s c pt ) heh tk n o le { l a a o m ed s t
I n br n o p t a s< nm e o m e o ucm le t k fu ( f e d s u br f
c pi n s tg e o un o ) m d
D l o
方案
当然 J a a 语言也有它的局限性, v 由于它编译生 成的字节码在虚拟机中是解释执行的, 因此执行的 效率是比较低的。但随着 J a a 虚拟机技术的不断 v 发展, aa J 语言最终将有望成为能适应大规模科学 v 计算需求的计算语言
22 系统结构 .
问题必须是用 Lt所提供的编程接口编写的) e a 我们把用户提交问题的结点称为问题结点, 把 所有参与计算的结点称为计算结点 , 在整个系统中 的任何一个结点都 可以同时是计算结点和问题结 点。所有愿意参与协作计算的结点在后台都会运行 一个监护进程, 并将在系统中的某个位置( 资源信息 库) 登记自己的基本情况, 如计算能力、 监护进程的 UL R 等信息 这个监护进程在通常情况下是闲置 的。而当用户在某个结点上提交 了问题以后 , 该问 题将与资源信息库联系, 从信息库中选择适当的计 算结点, 并与该结点 上的监护进程联系, 发出计算请 求。计算结点上的监护进程接收到计算请求后 , 根 据本结点的当前状态作出回应, 如果可以参与计算, 则会主动与问题结点进行联系, 通过 J a a 的类载人 v 机制将计算任务线 程通过网络取 回到本地进行计 算。图 I 和图 2 分别给出了 Lt系统运行时的逻辑 e a 结构( 星形) 和每一个问题从提交到解决之间计算结 点与问题结点之间的工作过程。
关词L,碱 构并计 ‘ e广 ) ,行算 t a
0 广域异构并行计算简介
传统的并行计算研究都是以局域网为通信基础 进行的, 而且这些用局域网连接起来的计算资源要 求在系统结构、 软件结构上都是一致的, 不容易扩展 到地理 L 分布的, 系统结构互异的计算资源上去。 这造成全世界广域网上分布的数 目极大的计算机资 源在大部分时间里处于闲置状态, 得不到充分利用。 广域异构并行计算将地理上分散的、 软硬件平 台 异构的多种计算资源通过网络连接起来, 集成一 个有效的计算环境, 去解决一些用通常的计算方法 与计算环境无法解决或者解决起来较困难的计算问 题。这些计算资源可以是超级计算机、 机群系统、 单 个_作站或者 P 〔 C机。这整个计算环境称为异构并 行计算系统。本文将介绍一种适合于将广域网上的 异构资源组织起来共同完成并行计算的异构计算平 台: t (a z 。该平台为解决异构并行计算研究 中所 面 临的各种问题, 如任务调度中的容错、 各任务之间的 通信机制等提出 了 新的思路。
Se a io le a ( n r c p t tka ie on ec n m ed sg d o lt n s s t
as nd ; s ge ) i
Slt p i o ( l r ; mun n e d on ) eca tg ie o e c o d t
It系统 由两个部分组成。 .a e 一个部分是相对静
图 I e Lt 辑结构 a逻
2 9 9
高技术通讯・ 增刊 2 20 0 . 0 8
计算结点
0 .登记资源信息
4通 过 Jv . aa 类载入机制 下载任 务线 程
3 .提 出
资源信息库
及 回应 计算请
求Fra Baidu bibliotek
2 . 查询资源信息
问题结点
r d m, . a o e 二 n t c
I F d ie ptg ) oe f i a d cm un nd ( n o i n l As n tk ts e sg ts t h nd; i h a o o i s i
1 . 提交计算问题
用户
图 2 e 的执法、 L t a 通迅过程
23 任务调度算法 . 异构并行计算的基础是一些不可靠的网络和计 算机。在异构并行计算系统中的计算资源随时可能 无法被使用, 并且随时可能有新的计算资源进人系 统参加计算。这样, 就要求异构并行计算运行时系 统在进行任务调度时采取相应的措施 , 针对动态的 执行环境提供容错性和负载平衡支持。 解决资源动态性的传统 调度算法是 “ 自调度
1 广域异构并行计算的特点
广域异构并行计算系统的硬件基础是一些不可 靠的、 动态变化的由广域网连接起来的机器和网络, 这使得广域异构并行计算与传统的局域同构并行计 算相比有着以下特点: 11 计算资谏在多层次上的异构性 . 构成虚拟网络计算环境的计算资源和网络连接 常常是高度异构的。这种异构的特征表现在多个方 面, 包括不同的机器类型, 不同的操作系统, 不同的 网络环境以及不同的调度、 安全策略等。这些异构 的特征是广域异构并行计算区别于传统的同构局域
并行计算的重要特点。 12 计算资源及其行为的动态性, . 不可预侧性 传统的并行计算系统经常使用空间共享或者组 调度的调度策略, 可以预测其对处理机和网络的访 问。而在广域异构并行计算 系统 中, 资源( 计算资 源、 网络资源等) 可能是有条件共享的, 这就造成系 统的行为和性能可能随时间而变化, 还可能会遇到 资源和网络的失败 , 这就导致了系统行为的无法预
3 0 一 0
谢 非等: 广域异构并行计算平台— lt e s
参与 计算 在调度算法中, 还使用了“ 动态粒度管理” 技术 来减少任务由问题结点到计算结点上的网络传输开
销 动态粒度管理简单地说就是每次给计算结点分 配的任务都是 组任务而不是一个。这一组任务的 数目是根据当前未完成的任务数和参与计算的计算 结点数日动态计算的。动态粒度管理有三个优点: . ‘能减少任务分配的次数, 1 : : 从而减少网络传 输的月销; 二 一 个计算结点 仁 的多个任务的执行可以进行 流水, 一 任务完成以后, 前 介 它向问题结点返回结果 的过程’后 一 。 个任务的计算过程可以并发执行; ・臼 能够将用户所编写的细粒度程序自动透明
Sls e lg i un ply e- hd i oc fc Whe tk nt g d } s s a i e) i (a a o s n l h s s Sl t ua i e t k / o d i ; /r n r b , e c a nsg d e n sn a s u o n b
Fs wi ut a l s n c ptg e oe m u n nd ae t i t t o i o l a nl e a
fie i t k i s s a ; nh t s s
Egrceun ply ae shdlg i - i oc
统的计算方法与计算环境无法解决或者解决起来较困难的计算问题。本文介绍的 Lt e a 系统就是一个基于 J a a 语言的广域异构并行计算平台, v 使用运行时系统来管理和调度用 户的计算任务。它在并行计算中采用积极调度的方式, 用冗余来屏蔽广域异构计算环境 的动态性, 各并行任务之间用全局共享内存来进行通信。它直接面向计算问题, 以计算性 能的提高为目 比较适合作为今后高性能广域异构并行计算的研究墓础。 标,
测性 。
13 可扩展性 . 具有可扩展性是异构并行计算的一项基本的特 征, 这使得网络上的丰富的计算机资源可以方便地 加人到系统中充分利用, 而这些资源也可以从系统 中去除, 且不应对应用程序的执行结果产生影响。 14 管理域的复杂性 . 广域异构并行计算所使用的资源在地域上分布 广泛, 因此不可能只被一个实体拥有和管理, 必然是 由多个管理实体来对各个部分进行管理的。不同的 实体可能采用不同的管理机制 、 不同的验证机制和 授权机制 , 这也就要求异构并行计算系统要解决在 不同的管理域上进行协调的问题。
高技术通讯・ 增刊 20 .8 020
广域异构并行计算平台—
Lt e a
谢 非 黄大正 杨广文 ( 清华大学计算机系高性能计算技术研究所 北京 1 04 0 8) 0
摘 要 广域异构并行计算, 也称元计算(ec p i )将地理上分散的、 mto un , a m tg 软硬件平台 异构的多 种计算资源通过网络连接起来, 集成为一个有效的计算环境, 用来解决一些用传
台土的 J a虚拟机 中运行。这样可以比较方便地 a v 解决异构计算资源的协同问题。同时 J a a 语言将 v 线程实现作为其语言的一部分, 这样就很适合把用 户的并行计算任务分成一个一个的线程, 然后将其
态的用户程序。从 L a e 的角度看, t 整个异构并行计 算系统中的所有的结点都是平等的, 用户可以在其
中的任意一个结点上提交它的计算问题( 当然 。 这个
无缝地结合到整个运行时系统中运行。同时,a Ja v 还是一种安全语N, 它在三个级别上提供了安全机 制: 言级 , 语 虚拟机级, P 级。这三个级别的安全 AI 机制使得用 Jv 语言开发的程序 比用诸如 C语言 aa 开发的程序更加安全和健壮 , A I 而 P 级的安全机制 使得用户[以为自己的应用程序提供更灵活的安全 i f
谢 非等: 广域异构并行计算平台一 一e Lt a
21 语言平台 . l。 a 系统采用 J a s t a 语言作为开发语言。J a v a 语 v
态( 指执行代码) 的运行时系统 , 另一部分是相对动
言 作为「 ! 趋成熟的新一代网络语言, 其语言定义本 身就拥有着对异构平台和并行计算 的支持能力 Ja a 源程序通过编译产生的是与平台无关的字节 v 码, 这些. 码可以不经过修改就在各种异构的平 ( f i
(lcdi) t。 s-h u g ese l 算法”' 这种简单算法将计算任 f n 6
务分解成大量的小的计算单元, 称为任务。参与计 算的计算机 一 次从中拿来一个任务进行计算, 直到 所有的任务都计算完成为止。Lt所使用的积极调 e a
度( g-h un) e es e lg算法是对自 a rc d i 调度算法的改进:
Asn s t h nd; t k ts e sg t a o o i h s i i { nl n m le a a g d i op t tk i e; ut a c ed s n il l s s d e- eui ; e e Slshdl g l o fc s n 用户将计算问题提交给 Lt运行时系统 以后, e a Lt将程序中定义的计算任务形成一个任务池, e a 记 录每一个任务的状态( 可能是未分配, 已分配未完 成, 或已完成) 。对每一个参加计算的空闲结点, 都 从任务池中分配若干未完成的计算任务给它。积极 调度算法的主要思想是: 一旦未完成的任务数 比参 加计算的计算资源的数 目少时, 就对这些任务在所 有的计算资源中进行重新分配。这样, 丢失的计算 资源上的计算任务就有机会被分配到其他可用的计 算资源上继续计算。其结果, 即使系统中只有 一 个 计算资源可用, 也可以保证任务最终完成; 而新增加 到系统中的计算资源也可以很迅速地得到计算任务