基于集中式I O技术的两阶段I O算法优化.docx

基于集中式I O技术的两阶段I O算法优化.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于集中式I O技术的两阶段I O算法优化

基于集中式I O技术的两阶段I O算法优化   (1.内蒙古科技信息研究所,内蒙古 呼和浩特 010010;2.上海电机学院,上 海 XX40)   摘 要: 文章在两阶段I/O的基础上,针对两阶段I/O中数据再分配算法,提出了一个全新改进 方案:统计——执行式I/O技术。该方案针对最常见的按块 数据分布进行了I/O优化,这种优化策略将统计阶段的开销分摊到了若干I/O操作中。文章 评估统计——执行式I/O技术的性能,并与其他不同的集中式I/O技术进行了比较。   关键词:统计-执行式I/O;并行文件系统;性能评估;MPI I/O;并行程序   中图分类号:TP393 文献标识码:A 文章编号:1007—6921(XX)20—0070—03   在过去的几年中,计算机的处理能力成指数增长,但是,更多的迹象表明,I/O子系统逐渐 成为了并行体系结构中重要的瓶颈所在。因此,为了提高I/O子系统的性能,基于不同层次 的研究越来越多:硬件方面,并行文件系统和中间件。   本文主要研究现有的非连续数据的I/O技术。研究的重点是集中式I/O技术中的两 阶段I/O技术。在两阶段I/O研究的基础上,对两阶段I/O技术提出了优化方案,该优化方案 被称为统计——执行 I/O技术,这项技术与一般的两阶段I/O技术相比,有着较高的性能。    本文提出了SE I/O技术,这个技术使用两种不同的策略来提高性能。首先,这个I/O技术被 分为两个阶段,第一个阶段是通信模式的计算,另一个阶段是执行通信和文件存取。这个策 略允许重复使用第一阶段产生的信息,因此,在相似的I/O操作经常执行的时候可以降低整 体的执行时间。第二个策略包括,通过利用进程之间交换数据来增加本地文件存取 。假设每一个进程存取相邻文件区域的独立的块,这些策略可以改善了I/O操作的效率。用 两阶段I/O算法与SE I/O算法相比较,我们的方法有若干的优势:首先是允许通信并行,在 每一个通信阶段,进程被组成进程对,并且执行私有的点对点的通信,这样 提供了更高级别的并行,因为若干个通信操作可以在同一时间执行。然后是,因为所有的进 程接收和发送相同的数据量,因此通信得到很好的平衡。   为了验证此方法的有效性,我们利用了科学应用中最常用的数据分配方式:按块分配对文 件进行划分[4],然后分别执行两阶段I/O测试程序和SE I/O测试程序,基于实验 结果,可以得出结论:我们的算法可以大大减少整体I/O的开销。   1 两阶段I/O的概念   两阶段I/O方法通过分析集体I/O请求对数据的总体需求,把一次I/O操作分成两个阶段来完 成。   第一个阶段是所有进程交换彼此的I/O信息,确定每个进程的文件域,从磁盘上读取相应I/O 数据;第二个阶段是按照应用需求将缓冲区的数据交换分配到各进程的用户缓冲区,写操作 与读操作类似。在这两个阶段中,进程之间需要进行通信来使得同一通信域中的相关进程获 得自己的数据信息,从而得到程序总体的I/O行为信息,以便整合各个进程独立的I/O请求。 下面是一般情况下的两阶段方法[5]的简单描述。   第一阶段:①确定参加读取文件的进程,同步通信域中所有进程;②确定每个进程需要读取的数据;③每个进程计算进程访问的文件域(为文件的一个连续块);④每个进程根据自己的文件域进行I/O访问,同步所有进程到每个进程I/O操作结束;第二阶段;⑤进行I/O数据的重分配;⑥同步所有进程到数据重分配结束。   2 统计——执行 I/O概述   针对分布式系统,开发了一种新的I/O技术,称为SE I/O技术。方法是利 用快速通信网络来交换数据,目的是改善局部文件的访问,并且减小全局I/O操作的开销。 我们的技术通过通信操作,在文件系统执行存取操作之前,增加了本地数据,优化了两阶段 I/O。   我们提出的统计——执行模式,将通信阶段和文件存取 模式从实际执行中分离开来。最终,通用的部分被计算一次,并且被多次重用。实验结果显 示:当与两阶段I/O技术相比较的时候,我们的方法获得了更好的性能。   2.1 统计——执行方式的集中式I/O算法   SEI/0的方法是:通过利用进程间的数据交换,来逐步增加本地的数据。在我们的算法中, 对于不连续的数据分布来说,数据类型结构可以通过统计程序来自动生成。这种程序分析了 数据分布和内存分配,并且选择了与数据传输相当的存储单元。   在这项工作中,我们将数据类型生成算法从执行阶段分离出去。执行阶段被看 作是数据传输和文件存取阶段。首先,阐述这一阶段,随后,对生成数据类 型的统计程序进行详细的描述。   2.2 执行阶段   在存储空间被分配完毕,并且数据类型也已经产生后,计算节点就要进行数据交换了。这个 操作是由一对进

文档评论(0)

mmrs369 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档