Linux高性能集群-软件体系结构介绍
2007-03-12 10:50:43 来源:WEB开发网3.2.5 Backend Database
基于后端数据库的共享是完全不同于文件共享的方式。后端数据库系统解决了数据的一致性、性能、可用性和可扩展性问题。但是数据库的访问方法要比文件访问复杂的多。
4 并行化应用程序
并行化应用程序,使其更高效的运行是使用Beowulf集群系统的最终目的。一般说,并行化应用程序分为三个步骤:
确定应用程序的并发部分;
估计并行的效率;
实现应用程序的并发。
在并行化应用程序的过程中,需要开发环境、并行开发库和各种工具的支持。这些软件都是Beowulf集群软件体系结构中重要的组成部分。
4.1 确定应用程序的并发部分
从实用的角度说,应用程序有两种类型的并发:计算和I/O。尽管在多数情况下这两者是正交的,但是也存在一些应用同时需要这两种并发性。有一些工具可以用来帮助分析应用程序的并发,而且通常这些工具都是专门为Fortran设计的。
4.2 分析并行的效率
分析并行的效率是并行化应用程序中很重要的一个步骤。正确的分析并行的效率可以帮助你在有限的经费下最大化应用的执行效率。往往Beowulf集群的需要和应用的需要有些许的差别。比如,CPU消耗型的应用往往需要的是稍微快一点的CPU和高速低延迟的网络,而I/O消耗型的应用需要的是稍微慢一点的CPU和快速以太网。
如果没有分析工具,你只能使用猜测和估计的办法完成这一步骤。一般来说,如果在应用的一部分中,计算的时间是分钟级而数据传输的时间是秒级,那么这一部分可以并行执行。但是如果并行后计算时间降到秒级,你就需要实际测量一下再做权衡。
另外,对于I/O消耗型的应用,Eadline-Dedkov法则对你做决定有些帮助:如果两个并行系统具有相同的CPU指标,慢CPU和相应具有低速CPU间通信网络的系统反而具有较好的性能。
4.3 实现应用程序的并发
有两种方法去实现应用程序的并发:显式并发和隐式并发。显式并行化是指由开发者决定程序的并行。开发者通过在程序中增加PVM或MPI消息,或者增加程序执行的线程从而达到程序的并行化。显式并行化通常难以实现和调试。为了简化显式并行化,某些开发库中增加了一些函数用于简化标准并行方法的实现。
更多精彩
赞助商链接