版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学毕业设计(英文翻译)节能型机房温度远程控制系统测控节点设计年学姓专
级:号:名:业:指导老师:二零一一年六月
西南交通大学本科毕业设计(英文翻译)
第1页Mosix修改上BSD/OS来提供电脑上的跨网络的动态负载平衡组和先发制人进程迁移这是不错的东西不只是为并行处理但对于通常使用一个集群很像一个可扩展的
。是否有
Linux
版本?详细信息,请看http://www.cs.huji.ac.il/mosix/。NOW伯克利工作站网络项目,,已经极大地推广了并行计算中使用工作站网络这里还有很多工作在进行中都致力“在未来几年内展示一个实际的100理器系统唉,他们不使用。用并行处理使用LinuxWWW站点,是些指南和许多相关文件包括为全日制量身订造的在线幻灯片的家园除了在报纸项目上普渡大学电机与计算机工程系已经是并行处理的领先者个网站的设立是为了帮助别人申请并行处理的电脑。自从普渡大学的第一组Linux个人电脑在年月组装以来,已经诞生了许多的集群些还包括视频墙而这些集群使用486和奔腾系没有奔腾Pro系统特尔最近获得普渡大学的捐赠,将允许它的奔腾II系统构建多个大型集群(与单个群集计划多达165机且这些集群都将有论文网,也具有最传统的网络。腾Pro集1997,4月10-11,埃姆斯实验室在得梅因,爱荷华州举行了奔腾Pro集群研
讨
会。
WWW
在
本
次
研
讨
会,/workshops/PPCworkshop.html从云集的参加者中收集了很多丰富的集群信息。曼存帝斯(分布式共享内存是一种技术即一个消息传递系统可以出现的行为作为一个。有不少这样的系统,其中大部分使用页故障触发消息传输机制。TreadMarks/~willy/TreadMarks/overview.html是这种系统更有效地之一,并在Linux群上运行。坏消息是“TreadMarks”正在由一个小成本的大学和非盈利机构的分配。欲了解更多有关该软件,请联系息。
西南交通大学本科毕业设计(英文翻译)U型网用户级网络接口架构)
第2页U
型网(用户级网络接口架构)在康奈尔大学,/U-Net/Default.html,项目试图提供低延迟,高带宽的网络硬件使用商品由虚拟的网络接口便应用程序可以发送和接收邮件没有作业系统的干预。在上运行的型网,使用DECchip快速以太网卡或前置系统的主成分-200(不常设仲裁法院)ATM。WWT(威洞的确有相当多集群相关的工作在威斯康星州WWT威斯康星风洞目,/~wwt/,正在致力于对发展的“标准”之间的并行编译器和底层硬件接口各项工作。还有就是威斯康星牛(集群工作站合作共享内存和暴风雨的Paradyn行性能工具等,不幸的是关于Linux的不是很多。
西南交通大学本科毕业设计(英文翻译)在A寄存器的(例如,用MMX公司)
第3页在A寄存器的SIMD(单指令流多数据流)并不是一个新想法。给定一个有k位寄存器数据路径和功能单元机人们早已知道普通的寄存器操作可以像一样并行操作,位,整数字段值。然而,这只是由于对多媒体最近有SIMD推动的倍到倍加速技术已成为主流计算的关注。大多数微处理器的版本包括硬件SWAR支持:AMD的型MMX司(多媒体扩展)Cyrix的货币供应M2MMX公司(多媒体扩展)数字Alpha马克斯(多媒体扩展)惠普的PA-的最大(多媒体加速扩展)英特尔奔腾II奔腾MMX公司与(多媒体扩展)SIGD(单一数据组指令上)的数字媒体扩展(MDMX,发音疯狂的麦克斯)的SunSPARCV9VIS(视觉指令集)还有一些新的微处理器提供了一个由硬件支持的几洞癖像场大小只支持一些操作一些。重要的是要记住,但是,你不需要任何SWAR经营的硬件有效的支持。例如,位操作是不会被寄存器逻辑分区影响的。:有什么优?虽然每个现代处理器至少具一些并行执行能力的SWAR不幸的是即使是最好的SWAR增强指令集不支持非常通用并行。事实上,许多人已经意识到,奔腾与“带MMX技术的奔腾”之间性能上的差异通常都是由巨大的L1存存在MMX造成的。因此,实际上,什么是SWAR(或MMX)的优势呢?仅整数,越小越好。两个32位值可安装在位MMX寄存器,但这样做的八单字节字符更或者是一个完整的国际象棋板上的一位注将会有一个浮点版本的MMX,虽然在此篇文章很少提及。Cyrix已经布幻,/developr/mpf97rm.pdf其中包括一些的评论。显然MMFP支持两个位浮点数字装入到一个64的MMX寄存器,结合这两个MMFP道将产生四个单精度每时钟触发器。SIMD或向量式并行。相同的操作同事应用到各个领域。有许多办法来废止选定域的作用(即相当于掩蔽的SIMD它会带来更为复杂的编码和性能的损害。本地化,有规律的(完美的包装内存参考模式。SWAR在一般情况下,特别是MMX,在随机存取方面很可怕;聚集一个相昂贵的x[y]向量(其中y一个索
西南交通大学本科毕业设计(英文翻译)
第4页引阵列这些都是严重的限制但这种类型的并行算法发生在许多并行而不只是多媒体应用。对于算法的正确类型,SWAR比SMP或并行群集更效率得多,而且它不需要任何费用。程导论SWAR基本概念在A寄存器里的SIMD是指在字长寄存器的操作能被用于加速由SIMDnk/n位表上的操作运算然而使用SWAR技术可能会难以处理,并且一些SWAR操作确实比串行序列比昂贵的多,因为他们需要额外的指令以执行实地划分。为了说明这一点,让我们考虑一个大大简化SWAR模型,管理每一32寄存器里的48位字段。两个寄存器中的值可以表示为:PE3PE2PE0+-------+-------+-------+-------+Reg0|D7:0C7:0B|A7:0+-------+-------+-------+-------+Reg1|H7:0G7:0|7:0E7:0+-------+-------+-------+-------+这个模型表明每一个寄存器都被有必要地视为一个包4个独立8位整型的向量。另外,AE作为Reg0和Reg1处理元素0(B和F视为的寄存器,等等。本文档的其余部分简要回顾这些整数向量的SIMD并行操作的基本类型如何将这些功能都可以实现。有些SWAR操作可以很一般地使用普通的32整型操作而不必担心这个操作是真的打算在这些8位的字段上并行操作。我们呼吁任何SWAR操作多态性,因为该功能并未受到字段类型(大小)的影响。测试如果任何字段是非零是多态的因为都是按位逻辑运算例如一个普通的位与操作(C&操作符)执行按位与,无论这个字段的大小。一个简单的寄存器位与实例如下:PE3PE1
西南交通大学本科毕业设计(英文翻译)+---------+---------+---------+---------+Reg2|D&H|C&G7:0B&F7:0|A&E|+---------+---------+---------+---------+
第5页由于位与操作总有K值的结果位值来影响操作,所有字段的大小都支持使用相同的单指令。不幸的是,很多重要的SWAR操作都不具有多态性。算术运算,如加,减,乘,除等都实行在字段间进/位。我们称这样的作为分区,因为每一个这样的操作必须有效地分开操作数和结果之间的相互作用,以防止字段间相互影响。然而,实际上有三种不同的方法来获得这样的效果。也许最明显的方法来实现分区操作是字段间提供硬件支持“分区并行指令来进行字段见的/借位。这种方法可以产生最高的性能,但它需要改变处理器的指令体系,但一般存在许多限制(例如,位字段可能得到支持,但位的并不能MMX,MAX,MAX和Sun都实现分区指令限制版本不幸的是这些不同的指令集扩展有不同的限制使得他们之间的算法有些不简便。例如,分析下面的采样分区操作:指令
MMXDECMAXHPMAXVIS+---------------------+---------------------+---------+--------+---------+绝对差别
|8+---------------------+---------------------+---------+--------+---------+相融最大值
16||+---------------------+---------------------+---------+--------+---------+比较
8,|16,32+---------------------+---------------------+---------+--------+---------+相乘
16|||+---------------------+---------------------+---------+--------+---------+相加
16,32|16+---------------------+---------------------+---------+--------+---------+在这个表中这些数字表明了字段的大小以位为单位因此每个操作都是支持
西南交通大学本科毕业设计(英文翻译)
第6页的即便此表省略了绝大多部分的外来指令还是可以清楚地看到有许多差异直接结果是高级语言(HLLS)并没有编程模型那样有效,并且可移植性普遍较差。用分区指令来实现分区操作一定是有效的如果你所需要的分区操作并不被硬件所支持时该如何解决?方法是你可以使用一连串普通指令来实现字段见的进/借位操作,来改正那些不受欢迎的限制。这是一个纯软件的方法且做了上层介绍能在通用字段分区环境下工作。这种做法也是完全通用的,因为它不仅可以被用来填补空白,说明硬件支持的分区,也可以用来提供完整的功能在所有的目标机器没有硬件支持。事实上,如C一样的表达语言,这种方法使得SWAR方案得到充分的可移植性。问题立即出现了:很明显,使用带纠错码的未分区操作来模拟SWAR分区操作是多么的无效?因此,这是一个类似于64K的问题…但许多操作并不像人们想象中的那么难。考虑推行使用四个原色的8整型向量通过使用普通位操作来实现两个源向量的相加操作。一个普通的位加法实际上可能产生正确的结果,但8位字段进位操作排除在外因此我们的目标仅仅是确保这一的进位不会发生因为两个k位字段的数相加最少会产生位的结果们能通过简单掩盖每个字段最有效的位来确保没有进位发生。下面是一个通过与0x7f7f7f7f的与操作来实现普通32的加操作。t=&0x7f7f7f7f)+(y&0x7f7f7f7f));很显然结果是正确的除了每个字段里的最有效位计算每个字段的正确值仅仅是一个分区的问题做两个1位增加了位最重要的位从和y进行计算的结果运的是,1分区加操作是有一个普通的异或操作来实现的。因此,结果很简单:(t^((x^y)&好吧,也许事实远非如此简单。毕竟,这是通过次操作仅仅来实现4次相加。然而,请注意操作数并不是由一个功能有多少字段来表示的因此,在更多的领域,我们需要进步事实上我们可能会加速反正只是因为字段被装和操作存储在一个单一(整数向量存器的供应情况可能会有所改善,并且会有更少的动态代码调度依赖(因为部分字词引用以被避免
西南交通大学本科毕业设计(英文翻译)
第7页而另外两个分区的操作方法来执行两个寄存器中心得到利用的最大空间以更有效地计算,而不是控制字段值,使不同字段间的进/位永远不会发生。例如,例如如果我们知道所有的字段值被添加的字段溢出这样会不会发生分区添加操作可实现使用一个普通的指令,事实上,由于这个限制,一个普通的ADD指令出现多态性是代码可用的大小没有收到有效的校正因此问题变成了如何确保字段值不会引起进/位事件。确保这一点的一个方法是实施分区指令来限制字段值的范围。DigitalMAX的低和最高指令可以被视为由硬件支持的避免内部字段的进位。然而设我们没有分区才做指令来有效地限制字段值的范围是否有充分的条件能以廉价地确保进/借位事件不会干扰相字段?答案在于性能分析算法两个k位数相加最多会生成k+1位的结果;因此,一个k+1位字段可以安全地使用这样的操作尽管使用普通指令来操作。因此,假设前面例子中的8字段现在改成位并带有1位“进/位”操作的字段:PE3PE2PE1+----+-------+----+-------+----+-------+----+-------+Reg0|D6:0|6:0B'B6:0|A'A6:0+----+-------+----+-------+----+-------+----+-------+7向量之间的加操作的实现如下我们假设一下动开始之前的任何分区,所有的执行间隔位A的B的,D的)的值为0.只需执行一个普通的加操作,所有字段即可获得正确的7位值;尽管,一些间隔位可能会。我们可以通过一个更传统的操作来改正它如掩盖间隔位这样7位的整型向量x与y相加是这样的:((x+&这只用了两个操作就实现了四次相加,很明显效果良好。锐利的读者可能已经注意到设置间隔位为0适合减操作然而这次修改却非常简单。为了计算x-y我们只需确保所有x的间隔位为,而在y的所有间隔位为0最坏的情况下,我们可以得到:
西南交通大学本科毕业设计(英文翻译)(((x0x80808080)-&0x7f7f7f7f)
第8页然而,更多的按位或操作往往可以得到优化,确保最后一步操作生成的值是用X|0x80808080来的,而不是用&0x7f7f7f7f而来的。哪种方法更适合用于SWAR分区操作?答案很简单“能产生最好的加速比趣的是,理想的方法,不同的是可在相同的机器上运行相同程序见的不同字段。虽然一些并行计算包括许多在图像像素上的操作所具备的性能是一个向量里的第i个值是一个出现在第i个位置的仅值功能通常却不是这样的例如例如,即使像素的FFT变换一样的操作,如需要相邻像素值从操作数,并作为平滑需要更复杂的(较少本地化)的通讯模式。有效地实现一维邻近沟通来让SWAR用未分区的移位操作并不难。例如,移动一个值从(i到(i+1是一个简单的例子。如果字段8长的话,我们将使用:(x<<不过,它并不总是那么简单。例如,移动一个值(i)到(i+1个简单的转换操作就足够了…而C语言不注明向右移动保护标志位,并签署一些机器只提供右移。因此,在一般情况下,我们必须明确零的潜在复制符号位:((x>>8)&0x00ffffff)加入“缠绕连接”也是合理有效地使用未分区的变化。例如,环绕式地移动一个值从到PE(i+1):((x<<8)((x>>&0x000000ff))真正的问题是当更一般的沟通模式必须得到执行。只有MAX指令集支持任意的表,就是所谓的。它确实是一个名不副实的表,不仅可以执行任意置换的字段,更可以允许重复。总是它实现了一个任意x[y]操作。不幸的是,在没有如此的指令下很难实现。一般的代码序列都很长而且效率低下;实际上它是连续的代码。这样非常另人失望。在和具有思维SIMD上执行相对高速x[y]操作是这些机器运行良好的关键
西南交通大学本科毕业设计(英文翻译)
第9页因素。然而,x[y]以后都慢于邻近的沟通计算机,即便是这些超级计算机,所以许多算法的目的是为了尽量减少x[y]操作的需要。总之,没有硬件的支持,最好的做法就是发展算法,即便x[y]并不合法,更或者说至少不便宜。复发是一种在被计算的质之间存在明显的连续关系的计算然而如果这些复发包含关系操作,它很有可能会重新编码计算使用树结构的并行算法。并行发生的最常见的类型是可能的减少关联的类称例如要计算一个向量的值的综合,一个纯粹的连续C写法如下:t=0;for(i=0;i<MAX;tx[i];但是加的条件是非常的重要浮点数和饱和数可以产生不同的答案如果加的条件被改变的话,但普通缠绕整数加法会产生相同的结果忽视加法条件的影响。因此,我们可以重新编写并行求和成为树形结构正如我们先前添加的对值然后归纳这些局部的对值,等等,直到一个最后的求和结果。对于一个具有4个8位值的向量,只需要两步即可;第一步是让两个8位的相加,产生个16位的字段(每一个包含一个9的结果t=&0x00ff00ff)+((x>>&0x00ff00ff));第二步是将这些两个位字段的位值进行运算而产生一个位的结果:((t+(t>>16))&0x000003ff)其实第二步执行两个位字段的相加但前16位加法是没有意义的这就是为什么结果是一个伪位的结果。扫描也被称“并行前缀行动一般情况下比较难以有效地实现这是因为,不像减少扫描会产生分区结果居于这个原因扫描可以实现于使用一个相当明显的并行操作序列。Linux下的MMXSWAR对于,IA32处理器是我们首要关注的。好消息是AMD公司Cyrix英特尔都实现了同样的MMX指令。不过,MMX公司的表现各不相同,例如,在
西南交通大学本科毕业设计(英文翻译)
第10页型只有一个MMX管道-的MMX奔有两个。唯一真正的坏消息是,英特尔仍然在运行那些愚蠢的MMX广告….实际上有三种方法可以使用MMXforSWAR:1.从MMX公司使用程序库。特别是,英特尔已经开发了几个“性能库”,能够向用户提供各种任务的手,共同优化多媒体程序。随着一点点努力,许多非多媒体算法可以返工来确保一些计算密集型来实现使用一个或多个这些库例程些库目前没有可用的但可以移植。2.直接使用MMX令。出于两个事实,这确实有点复杂。第一个问题是MMX公司可能并不使用于处理器,因此另一种实现还必须提供。第二个问题是IA32的Linux使用的汇编器目前通常还无法识别MMX指。3.使用高级语言或模块的编译器,可以直接生成相应的MMX指令。这些工具目前正在发展,但还没有一个在
Linux下充分发挥作用。例如,在美国普渡大学(/hankdSWAR/们正在开发一个编译器,将采取方言的C函数写在一个显式并行,并会产生SWAR模的调用为C的功能,以此来使用现有的SWAR支持技术包括MMX第一个原型模块的编译器建于1996年秋季,然而,使用这种技术将会比我们原先预期的更多的时间。总之,MMX仍然难以使用。然而,随着一点点额外的努力,上述第二种方法目前可以使用了。下面是一些基础:1.你不能使用MMX如果你的处理器不支持它。下面的代码将被用于测试MMX是否被你的处理器所支持。如果返回0表示不支持,如果返回0表示支持。externint{int__volatile__(/*GetCPUversion*/"movl$1,"cpuid\n\t""andl$0x800000,%%edx\n\t""movl%0":"=q"(mmx_available)
西南交通大学本科毕业设计(英文翻译):/*noinput*/);
第11页}2.一个MMX寄器基本上长期持一个在GCC里称之为无符号双字型。因此,这种类型的内存基础变量成为了MMX模块与C程序之间的沟通机制。或者,你可以声明你的MMX据为64数据结构的数这样便于确保64位队列能通过明你的数据类型为一个带无符号双字字段的联合体3.如果MMX可用,你可以在你MMX代码中使用字节的汇编指令,使每个指令进行编码通过手工来制作确实是一件痛苦的事情但对于一个编译器来生成却不是一件难事例如MMX指令MM0MM1可被编码为的如下代码:__volatile__(".byte0xfc,请记住,MMX常使用一些同样类型的能被用于浮点操作的硬件,所以代码与MMX混合使用不得援引任何浮点运算浮点堆栈在执行任何MMX码之前必须为空;浮点堆栈通常在不适用浮点的函数功能前是空的。4.通过执行EMMS指令的方式退出您的MMX代码,它可被编码为:__volatile__(".byte是否上面看起来很尴尬很粗糙?然而MMX还相当年轻.这个文件的未来版本将提供更好的方法来使用MMXSWAR。
西南交通大学本科毕业设计(英文翻译)Linux的管附加处理器
第12页尽管这种方法最近失宠了这几乎是不可能的并行处理方法以达到举办一个附加的并行计算系统的低成本,高性能的可能,使用Linux系统。问题是,很少提供软件支持,几乎都是关于自己的研究。Linux的良好的主机在一般情况下,往往附加并行处理器是专门履行职能的具体类型。在知道几乎所有研究都是居于自己之前理解一个道理尽管它可能很难找到一个适当的主机特定的系统平台PC一个非常适合少数这种使用类型。对以后的学习将会有很大的帮助。机作为主机有两个主要原因。首先是价格低廉,且易于展的能力源如:更多的内存,磁盘,网络等等,都是平凡地添加到个人电脑。第二个是连接方便。不仅是ISA和总线原型卡的广泛使用,并行端口提供合理的性能侵入接口更是一个优势。在在的独立的I/O空间也便于借口提供单独的端口地址,以起到硬件址的保护作用。Linux也成为了一名优秀的主机操作系统。源代码免费提供全面和广泛的“黑客”导游,显然是一个巨大的帮助。然而,Linux还提供了良好的近实时调度,甚至有一个真正的实时版本在的/。也许更为重要的是,同时提供一个完整的UNIX境中Linux可以支持开发工具比如那些在微软DOS和Windows程序可以在中使用dosemuMSDOS的情况下执行,并且提供一个受保护的并且能真正运行MSDOS的虚拟机。序支持Windows列更是直接:免费软件比如,http://www.linpro.no/wine/,对于大多数的程序它模拟十分的恰到好处,便于在环境下正确而且有效地执行。以下两部分将举一些结合了并行系统的例子,我也希望它能在Linux下被支持。你的样么?有一个处理器繁荣的高性能(数字信号处理处理器市场虽然这些芯片通常都被设计为嵌入式特定应用系统中,但他们与并行电脑也有极大的关系,为什么呢?1.们的如(TMS320和置()的SHARCDSP家族,被设计来利用小或者无“胶”的逻辑来构建并行机器。2.他们很便宜,特别是每MIP或MFLOP。包括基本逻辑支持在内的成本,
西南交通大学本科毕业设计(英文翻译)
第13页处理器的成本仅仅是PC电脑成本的十分之一,对于说这并不是闻所未闻。3.他们不需要太多的电量,也不会带来太多的热量。这意味着,有可能有这样一些芯片的所有的功率都是有传统的PC电脑来提供,在封闭的情况下你的电脑就不会变成一个烤箱。.多数指令集里都具有看起来奇怪东西,那些高级(例如,)编译器好像是用得并不怎么好,例如向位”是用一个附加的并行系统,它可以最直接地编译和运行主机的代码同时能在DSP上细手工调整代码一样运行最耗时算法。5.这些处理器并不是真正设于运行类UNIX操作系统且一般都不是很便于作为独立的通用计算机处理器如许多处理器没有内存管理硬件句话说,他们能工作得到更好,当他们被当作一个更通用目的的电脑主机来使用时如电脑。虽然有些声卡和调制解调器包括DSP处理器的Linux驱动程序可以访问,大收益来自使用一个附加的有四个或更多的理器的并行系统。由于德州仪器TMS320系列,已经流行了非常久这仅仅是微不足道的建设TMS320经有好一些这样的系统可用。现在已经有仅整型和浮点能力的TMS320本式旧的设计采用了不同寻常的单精度浮点,但新机型支持格式。老TMS320C4x又名')达到80使用TI的专用单精度浮点格式相反一个'C67x将提供高达GFLOPS单精度或420MFLOPS精度为IEEE浮运算,使用一个VLIW的芯片架构称为VelociTI。它不仅是易于配置多处理器集团作为这些芯片但在一个单一芯片中'C8x处理器将提供100MFLOPS浮点DSP的主从处理器的RISC随着两个或四个整数。其他的处理器家族最近已经被用于连接并行系统,有ADI公司的(又名,)。这些芯片可以配置为一个六处理器共享内存多处理器技术而不需要额外的胶逻辑,而且更大的系统也可以配置使用
6个4链接/片。大多数规模较大的系统似乎针对军事应用,但是有点昂贵。然而,综合计算引擎公司,制作了一个有趣的小双板卡组,称为GreenICE本单元包含一个处理器阵列,并能够提供格式精度IEEE峰值速度大约为的处理器。GreenICE本还不到美元。在我看来并行DSP处理器真的值得在行操作社区里引起极大的关注。FPGA重构逻辑运算如果并行处理是所有关于获得最高的提速,那么为什么不建立定制的硬件?好吧,我们都知道答案,它的成本太大,开发时间太长,当我们略微改变算法时便变得无用等。但是,最近进展中的电可编FPGA(现场可编程门阵列)已废止了那些反对。现在,门密度足够高,使整个FPGA内置处理器可以在一个单一,时间
西南交通大学本科毕业设计(英文翻译)
第14页来重新配置(重新设定)的FPGA已经下降到一个合理水平,这是重新配置,甚至是从一个移动算法的一个阶段到下一个。这东西不适合心脏虚弱的人必须使用硬件描述语言如VHDL的配置,主机系统,以及写作的低级别的代码Linux的程序接口。但FPGA成本低,尤其是算法操作在低精度的整数数据(实际上,还擅长于SWAR的小超集行复杂的操作系统时的速度可以和你输入的数据速度一样快。例如,简单的基于系统已经在基因数据库搜索时间上已经优于超级计算机系统。还有其他公司在制作合适的基于FPGA的硬件面的两家公司做了一个很好的示范。虚拟电脑公司提供各种产品的使用动态可重构为基础的赛灵思。他们的位的“虚拟的ISA样机板”/products/isa.html,价格低于2000元。Altera的ARC的PCI(的可构计机,总线)/html/new/pressrel/pr_arc-pci.html,是同类型的卡但是使用的是AlteraFPGA和一个PCI总线,而不是ISA总线。许多工具的设计,硬件描述语言,编译器,路由器,映射器等,作为对象的代码只运行在Windows和或DOS下任何时候当您需要使用它们时你可以简单地保持并重新启动您主机PC上的磁盘分区为/Windows,然而,许多这些软件包可以在使用或像wine样的Windows拟器。
西南交通大学本科毕业设计(英文翻译)普遍感兴趣本节中所包含的材料,适用于所有四个并行处理模型的Linux。编程语和编译器
第15页我是一个比较知名的编译器研究者,所以我想说,有很多十分棒的编译器在为Linux系统自动产生有效的并行代码。不幸的是,现在很难打破的一个事实是,通过各种明确的沟通和带有C代码的并行操作一般都是有GCC来编译的。下面的语/编译器项目,是指语言中的一些高级别尽了最大努力从生产走向合理高效的代码一般来说每个目标都有各种各样有效合理的任务但没有一个强大的通用语言和编译系统使你永远停止编写由GCC编译的C程序哪个更好呢。出于他们的用途来使用这些语言和编译器你会更更短的开发时间更容易调试和维修等。下面列出了大量的语言和编译器(排名不分先后下面这网站里有许多免费提供的编译其中大部分与Linux并行处理无关/free-compilers/。66/77/PCF/90/HPF/95至少在科学计算社区,总是有的存在。当然,现在并不意味着还是处理1966年的标准一样的事情,Fortran66是一个很简单的东西。Fortran77增加了大量的图像功能,其中最明显的改进是支持字符数据和循环变化。(并行计算论坛Fortran图增加各种功能的支持图像的并行处理于型HPF(高性能的Fortran/HPFF/home.html本身已经经历了两个版本(和HPF-2本上是加强,规范的,版本很多的东西。如我们以前认识的CM言或者FortranD它延伸的具有增强的并行处理的布局,主要集中在制定的数据。最后Fortran95是一个相对次要的和提高完善的。就像能运行C程序的一般也能运动g77一个不错的Linux专用概述,http://linux.uni-regensburg.de/psi_linux/gcc/html_g77/g77_91.html),是商业的产品中可以获得相关资料。这是因为所有的这些编译器最终都归结为同一代码生成的使用背景。商业的,可以于SMPS的代码现的和/vast/vast_parallel.html现在尚不清楚,是否这些编译器会用在SMPLinux上,但它可能会给出在Linux下工作的标准POSIX线程(即,LinuxThreads波特兰集团具有商业并行的可以为SMP生成代
西南交通大学本科毕业设计(英文翻译)
第16页码的HPF(和编译器他们也有一个针对使用MPI或PVM集群。这些在/的产品有可能对SMP或集群有用。免费提供的并行Fortrans可能工作于的并行Linux统包括:
(
自
动
数
据
并
行
翻
译,http://www.gmd.de/SCAI/lab/adaptor/adaptor_home.html们可以利用MPC或PVM将HPF翻译成代码,但没有提及到Linux。2.FX/~fx/Fx在卡内基梅隆有一些目标工作站集群是否有Linux?3.HPFC(HPF原型编译器用PVM可以生成代码。它在Linux集群中可用么?4.PARADIGM(处理机为/Paradigm/)能和Linux一起使用么?5.北极星编译器,,能为共享内存处理器生成代码,并有可能很快被重定向于群。,http://www.irisa.fr/EXTERNE/projet/pampa/PREPARE/prepare.html,目标MPI群..在还不明确它是否能生成在IA32理器上运行的代码。7.集合ADAPT和ADLIB,(子集高性能编系统,是公共域的,并能利用MPI产生调用所以,如果你有一个Linux下的编译器….8.SUIF(斯坦福大学中间形态,请参)具的并行编译器这也是国家重点项目的编译器基础设施…那么所有人都会来关注并行统么?我敢肯定,我遗漏了各种方言的Fortran编译器,许多潜在的有用的,但有这么多确实难以跟踪。今后,我宁愿只列出那些运行Linux上鲜为人知的编译器。请电子邮件您宝贵的意见或建议到。GLU(清晰的粒状结构)(清晰的粒状结构个非常高层次的建立在混合编程模型上的编程系统,结合了内涵和必要的模型它同时支持和TCP套字它能否在Linux运行呢?更多的信息可以见/GLU.html。Jade和J
是一种并行编程语言,扩展了C的功能来适应连续的和必要的程序。它假定一个分布式共享存储模型,这是实施集群工作站PVM的使用。更多信息可在/~scales/sam.html
。
西南交通大学本科毕业设计(英文翻译)Mentat和
第17页M是一个可与工作站集群一起运行的面向对象的并行处理系统已被移植到Linux。编程语言(MPL)是一种建立C++基础之上的面向对象的编程语言。执行系统使用类似于非阻塞远程调用技术。更多的信息可以见/~mentat//~legion/建立在之上,提供了单个虚拟机在广域网机器的表现。(MasPar言为了不与的混淆,这种语言最初被发展为专用于SMID超级计算机的本地并行C言。然而,MasPar已经不再从事这方面的业务了(它们现在是NeoVista,,一个数据采集公司但他们的MPL建成使用GCC译器,所以它仍然是免费提供。在亨茨维尔和普渡大学的共同努力下,的MPL已经可以利用AFAPI实现重定向生成代码,因此可以再LinuxSMP和集群运行。然而,译器还存在些题,请见PAMS(并行应用管理系统)Myrias是一家销售软件产品的公司,称为(并行应用管理系统PAMS为虚拟内存并行处理提供了非常简单的指令。网络版Linux机组还未被支持。参见/可获取更多相关知识。Parallaxis-III是一个结构化编程语言它为数据并(一个SIMD型扩展了–2“虚拟处理器和连接Parallaxis件包含了使用于顺序和并行电脑系统的编译器,调试器(xgbd调试器来自不同领域的各种例子算法,尤其是图像处理方面这将运行在顺序的Linux系统上…版本支持各种并行目标新版将会例如配置了PVM集。更多的信息可见。一种扩展到C++语言,它允许通过使用来自于基础元素族的“收藏对象”来实现数据并行操作。这是一个预处理生成可运行于的C++代码。它能否运行于更多的信息可见
。
西南交通大学本科毕业设计(英文翻译)
第18页(同源)同步资源)是一个并行编程语言封装过程中的资源和变量;提供了过程相互作用的主要机制。SR提供了用于调用服务操作的机制和一种新的融合了。因此所有本地和远程过程调用,教诲,消息传递,动态进程创建,和组播与支持。同样还支持共享全局变量和操作。它已经被移植到Linux但目前尚不清楚怎么样的并行可被执行多的信息可见/sr/www/index.html。ZPL是一个数组为基础的编程语言用于支持工程和科学应用它生成调用一个简单的消息传递接口称为铁人并通过系统一些功能构成这个接口可以很容易地实现使用几乎任何消息。然而,它主要是针对在工作站集群的M和PVM,并支持
Linux
。
更
多
的
信
息
可
见。性能问已经有很多人花了很多时间去基准特定主机板网卡等等试图确定哪个是最好的这个方法还存在一个问题那就是当你能够基准一些东西的时候它可能已经不再是最好的了甚至可能已经被撤下取而代之的是市场和属性完全不同的一个修正模型。购买PC硬件就像买橙汁。通常,它是用非常好的东西,论什么公司名字的标签上。很少人知道,也不关心,那里的组件(或浓缩橙汁)来源。尽管如此,有一些硬件差异你还是应该注意的我的建议很简单就是你可以从运行于Linux的这个硬件或者怎样的预期效果然后集中你的注意力在获取快速的驱动良好的价格和合理的政策。一个很好的概括各种处理器的不同在/ref/cpu/fam/实上,整个网站在PC硬上有技术全面的概括。它也有必要了解一个位的件配置有关具体表现,以及Linux的标杆HOWTO/LDP/HOWTO/Benchmarking-HOWTO.html是一个很好的开端。英特尔处理器有许多精致的细节特殊寄存器,可用于测量正在运行的系统性能。英特尔,/design/perftool/vtune/使用用途广发的性能寄存器在一个非常完整的代码微调系统不行的是不能再下运行个可加载模块的设备驱动程序和例,访问现有的奔腾性能从
西南交通大学本科毕业设计(英文翻译)/users/akinlar/driver.html
第19页请记住,这些寄存器是处理器的性能在不同的上的不同;此代码仅适合奔腾,而不是,奔腾,奔腾II,等等。另一个表现是适当的评论尤其是对那些你们谁想要建立的大集群把他们的空间很小。至少有一些现代化的处理器采用热传感器和电路,用于内部时钟速度慢,如果工作温度过高(企图减少热输出,提高可靠性我不是说每个人都应该去购买佩尔蒂埃设备(热泵)来让每个CPU冷却,但你应该知道,高工作温度不只是缩短元件寿命-它也可以直接降低系统性能。不要把你的物理配置移动到区块的气流区,还要注意热陷阱领域限制等。最后性能不只是速度而且还有可靠性和可用性高可靠性意味着你的系统几乎从不崩溃,甚至当组件失败...这通常需要特殊的功能,如主板交换冗余电源和热,但一般却不便宜可用性的概念的是你的系统能利用现有的几乎所有时间.系统可能会崩溃当组件失败,但该系统能迅速修复并重新启动。有一个高可用性的HOWTO那里讨论了许多问题的基础。然而,特别是对于群集,可以实现高可用性只要有几个备件足以。我建议至少有一台备用,并希望有至少一个群集不遗余力地为没一台16电脑贡献自己的力量。舍弃一个硬件故障和更换设备如果考虑周全不仅可以获得高的性能更可以有低的成本。6.3结论那么,每个人做并行处理的时候都是用Linux?是的!不久以前多人惊叹到是否并行处理超级计算机公司的灭亡就意味着并行处理的
灭
亡。
我
并
不
这
样
认
为(
参
见/~hankd/Opinions/pardead.html我认为真正的发生了是一件很有趣的事在似乎很明确,并行处理正在逐渐上升。即便是英特尔,最近刚刚停止了并行超级计算机,一直以并行处理能在MMX和即将推出的上运行为骄傲(显性并行指令计算机如果你用你最爱的搜索引擎搜索Linux”和“你会发现有不少的地方有参与是用并行处理是机群似乎是突然出现都是。的适宜性,再结合PC硬件的低成本和高性能,使得并行处理使用Linux流行方法为小型超级计算机还包括预算约束团体和大型计算机等带来了便利同事还具有充足的资金和国家研究的支持。这个文件的各种项目中列出了各个地方相似的并行
Linux配置等。然而,在/~pplinux/Sites/,有一个超文本文件,以提供本地使用Linux系统的并行处理的图片所有不同的描述信息和联系等有关于您的网站的信息发布有:
西南交通大学本科毕业设计(英文翻译)
第20页1.你必须有一个永久的并行Linux网站:一个机器的SMP集群,SWAR系统,或被配置在Linux下允许用户并行执行程序的个人电脑连接处理器。一个基于Linux的软件环境(如PVM,MPI,)的直接支持并行处理的系统必须安装在该系统上。然而,这些硬件则不需要Linux下专门的并行处理,可能是完全不同的用途用于并行程序时不被运行。2.要求你的网站被列出。将你的信息发送到。请参照你在其它完整的网站信息上使用的标准格式在没有一个明确的联络人请求的情况下不会有任何网站被列出。现今已有个集群上市但我们知道当今世上至少有好几打Linux集群当然,上市并不意味着宣传,等等;我们的希望仅仅是提高认识度,研究和协作包括使用Linux的并行处理。MosixMOSIXtoprovidebalancingpreemptiveprocessacrossnetworkedofnicejustforbutforgenerallyaclusterlikeaSMP.WillbeLinuxLookformoreNOWOfTheNOWproject,ledtheparallelusingofworkstations.alotworkgoingonallaimedapractical100systeminthefewyears."Alas,theyuseLinux.ParallelProcessingUsingLinuxTheprocessingusingLinuxsite,/LDP/,homeofHOWTOdocumentsincludingonlineforfull-daytutorial.theworkproject,thePurdueSchoolofElectricalEngineeringgenerallyhasbeeninothersLinuxPCsforparallelSincePurdue'sfirstclusterofPCsassembledinFebruarytherehaveLinuxclustersatPurdue,includingwithvideowalls.clustersPentium(noPentiumIntelrecentlyawardedPurduedonationwillitconstructmultiplelargeclustersofII(withasmanyasforacluster).Althoughtheseclustersallhave/willhavePAPERSalsoconventionalPentiumInMoines,Iowa,April10-11,AMESLaboratoryheldthePentiumProTheworkshop,awealthofPCgatheredfromallattendees.TreadMarksDSMMemory)DSM(DistributedMemory)wherebysystemappearbehaveasanTherefewsuchmostofwhichuseOSmechanism
西南交通大学本科毕业设计(英文翻译)
第21页messageTreadMarks,oneofmoreefficientofsuchsystemsdoesrunLinuxThe"TreadMarksisdistributedasmallnonprofitinstitutions."Formoretreadmarks@.U-Net(User-levelTheU-Net(User-levelCornell,/U-Net/Default.htmltoprovidelow-latencycommoditynetworkbyvirtualizingthecanandmessageswithoutrunsonLinuxaDECchipDC21140basedcarda(notATMWWT(WisconsinWindTherereallyaofworkWWT(WisconsinWindproject,/~wwt/doingallsortsofworktowarddeveloping"standard"betweenandparallelhardware.ThereWisconsinCOWOfSharedMemorytheParadynUnfortunately,isSIMDWithinARegister(e.g.,usingMMX)SIMD(SingleInstructionstream,Multiplestream)WithinAisn'tidea.withk-bitunits,itlongknownthatregisteroperationsSIMD/-bit,integerfieldHowever,itisonlywithpushfor8xspeedupofferedbySWARformainstreamcomputing.The1997ofmostmicroprocessorshardwaresupportforSWAR:
AMDK6MMX(MultiMediaeXtensions)CyrixMMX(MultiMediaDigitalMAX(MultimediAPA-RISCMAXAccelerationeXtensions)IntelPentiumII&PentiumwithMMX(MultiMediaMicrounity(SingleonGroupsofData)MIPSDigital(MDMX,pronouncedMax)SunV9VIS(VisualInstructionThereafewinthehardwaresupportprovidedbythenewmicroprocessors,quirkslikesupportingfieldIttoremember,however,youdon'tneedanyhardwareformanySWARtobeefficient.Forexample,areaffectedbythelogicalpartitioninga4.1SWAR:WhatIsItGoodeveryisofwithatfactisthatbestSWAR-enhancedinstructionsetsnotveryparallelism.Infact,manypeoplehavethatthePentium"PentiumwithMMXtechnology"thingslikelargerL1withMMX.So,realistically,isSWAR(orMMX)goodfor?
only,thesmallertheTwo32-bitfitin64-bitMMXbutdoeightone-byteanentirechessvalues.therewill
西南交通大学本科毕业设计(英文翻译)
第22页
befloating-pointversionof,veryaboutitthiswriting.Cyrixhas/developr/mpf97rm.pdf,fewcommentsMMFPMMFPwill32-bitbe64-bitMMXcombiningthiswithtwoMMFPpipelineswillyieldsingle-precisionclock.SIMDorsameallTherewaystonullifythe(i.e.,toSIMDcomplicatehurtperformance.SWARinandMMXparticular,areterribleaccesses;gatheringavectorx[y](whereyisanindexisprohibitivelyexpensive.areseriousbutparallelismoccursparallelalgorithms-notjustmultimediaapplications.therighttypeofSWARisthanorclusteranditcosttouseit.4.2IntroductionToARTheSIMDWithinAisonword-lengthregistersbeperformingSIMDparallel/-bitfieldvalues.However,makinguseofSWARcanbeandsomearethancorrespondingofbecausetheyrequireadditionalenforcethefieldpartitioning.illustratepoint,let'sSWARwobePE3PE2PE0+-------+-------+-------+-------+DC7:07:0|A7:0|+-------+-------+-------+-------+H7:0|7:07:0|+-------+-------+-------+-------+Thissimplyindicateseachisviewedasvectorof8-bitvalues.Alternatively,thinkAvaluesinReg0element0(PE0),BFvaluesinTheofbrieflybasicofSIMDparallelandhowfunctionsimplemented.PolymorphicSWARoperationscanbeperformedtriviallyusingordinaryintegeroperations,withoutforisinparallelfields.WecallSWARoperationsincefunctionunaffectedbyfieldtypes(sizes).
西南交通大学本科毕业设计(英文翻译)
第23页iffieldispolymorphic,alllogicForexample,an(C's&performsabitwisewhatfieldsizesare.AsimplebitwiseandabovePE3PE2PE1PE0+---------+---------+---------+---------+D&H|C&G7:0|B&F7:0A&E+---------+---------+---------+---------+bitwisevaluebitkaffectedonlyoperandbitkallfieldareusingsameinstruction.PartitionedOperationslotsofimportantarenotadd,multiply,allfields.Wecallsuch,becauseeachpreventbetweenfields.However,thereactuallydifferentmethodsusedtoachieveeffect.PartitionedPerhapstheobvioustoimplementingpartitionedprovidehardwareforparallelinstructions"thecarry/borrowbetweenfields.canyieldtheitachangetotheprocessor'splacesmanyfield(e.g.,8-bitfieldsbenotTheAMD/Cyrix/IntelMMX,DigitalMAX,VISallrestrictedversionsofpartitionedUnfortunately,differenthavesignificantlydifferentrestrictions,algorithmsnon-portableForexample,considerthefollowingpartitionedInstructionAMD/Cyrix/IntelMMXDECMAXHPMAXSunVIS+---------------------+---------------------+---------+--------+---------+||+---------------------+---------------------+---------+--------+---------+Merge|16|+---------------------+---------------------+---------+--------+---------+Compare|8,||16,32+---------------------+---------------------+---------+--------+---------+Multiply16|||8x16+---------------------+---------------------+---------+--------+---------+Add8,16,+---------------------+---------------------+---------+--------+---------+
西南交通大学本科毕业设计(英文翻译)
第24页Inthetheindicatefieldinforwhicheachissupported.tableomitsalltheitisthatdifferences.(HLLs)veryeffectiveprogrammingmodels,andportabilityOperationsWithpartitionedoperationsusingcancertainlybebutyoudoifyouneedisnotsupportedhardware?Theansweryouuseseriesoftowithcarry/borrowfields,andcorrectforfieldinteractions.ThisisdobutitwithfullyfieldapproachisalsofullyinthatitbeusedtofillinthehardwareforpartitioneditcanbeusedfullfornoatInfact,byexpressingcodesequencesinlanguagelikeC,approachSWARfullyportable.Theimmediatelypreciselyhowinefficientisittooperationsusingwithcorrectioncode?Well,istheasdifficultoneexpect.Considerimplementingavectoraddoftwosourcex+y,using32-bitoperations.ordinarymightthecorrectresult,notif8-bitfieldcarriesintothenextfield.ourgoaltoensurethatsuchacarrynotoccur.Becauseaddingtwok-bitfieldsgeneratesatkbitresult,weensurethatcarryoccursbysimply"maskingout"themostbitoffield.donebybitwiseeachoperandwithandperforming32-bitadd.t=((x&+(y&0x7f7f7f7f));Thatisforsignificantbitwithineachfield.Computingvalueforeachfieldaoftwo1-bitpartitionedaddsofmostsignificantfromxyforFortunately,aaddisbyexclusiveThus,resultissimply:(t((xy)&Ok,well,maybethatisn'tsoAfterall,itissixoperationstodojustadds.numberofnotaoffieldsare...so,withmorefields,getspeedup.fact,wemaybecausewereloadedin(integerregisteravailabilitymayimproved,andarefewerdynamicdependencies(becausepartialwordreferencesareFieldWhilethetwotopartitionedimplementationbothcenterthemaximumutilizationforitbemorethefieldsointer-fieldcarry/borrowoccur.Forexample,ifweknow
西南交通大学本科毕业设计(英文翻译)
第25页allfieldbeingaddedaresuchfieldoverflowwilloccur,apartitionedbeimplementedusinginfact,giventhisconstraint,addpolymorphic,andisusableforfieldsizeswithoutcorrectionThequestionthushowtofieldvalueswillnotevents.Onewayensurethispartitionedinstructionsthatrestrictrangeoffieldvalues.TheMAXvectorminimummaximuminstructionscanbeasforfieldvaluesavoidHowever,thatwehavepartitionedcanrestrictfieldisasufficientthatcancheaplyimposedtoeventswillinterferewithadjacentTheliesinanalysisofAddingtwo-bitnumbersgenerateswithatmostkbits;afieldof+1cansafelycontainsuchusingordinaryThus,supposethatthe8-bitinearlierarenowwith1-bitPE3PE2PE1PE0+----+-------+----+-------+----+-------+----+-------+D'|D6:0|C'6:0|B'B6:0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消控室安全责任制度
- 消防柜管理责任制度
- 液化气安全生产责任制度
- 游乐园财务部责任制度
- 火车站安全生产责任制度
- 煤矿安委会责任制度
- 工程项目协作与沟通方案
- 项目安全管理与应急响应方案
- 公司数据隐私保护措施方案
- 起重机安装施工用料计划方案
- 2026年长沙职业技术学院单招职业倾向性测试必刷测试卷附答案
- 2025年荞麦绿色防控技术体系与病虫害监测报告
- 坝身埋石混凝土施工方案
- 碳排放核算课件
- ISO 9001(DIS)-2026《质量管理体系要求》中英文标准对照版(2025年9月)
- 山东港口集团笔试题库2025
- 《反窃电电子数据提取与固定技术规范》
- 最近时事政治课件
- 2025至2030中国光电子行业发展趋势分析与未来投资战略咨询研究报告
- 企业文化建设咨询服务合同书
- 电梯安装维修安全培训课件
评论
0/150
提交评论