|
2006-07-07 | 中国,北京
阻止信息学上的错误行为
既然在自由连接的专用服务器集群上进行信息学计算是一个如此诱人的解决方案,那么为什么生命科学的IT部门仍然花费大量的金钱用于购买如同冰箱般庞大的对称多处理器(SMP)计算机呢? 集群计算的主要优点在于其低成本的前期投入。据估计,它所需的花销要比具有同等处理和存储能力的SMP超级计算机便宜4到50倍。然而,集群系统的真正魅力在于它的可扩缩性。(当然,其扩展能力依赖于对硬件和网络结构的正确选择。) 集群计算另一个重要优点在于其易于管理:管理一个正确配置的具有100个节点的集群系统只需要和单个SMP大型机一样多的工作投入。现在不像以前那样很容易构造一个糟糕的集群系统。各种商业化的操作系统,例如Linux和OS X,已经开始支持集群系统。同样地,分布式负载管理软件(例如Sun公司的Grid Engine软件或者Platform公司的LSF软件)的稳定性也提高到了商业化的程度,并且可以(也应该)被认为是操作系统的一部分。 真正科学地使用集群系统非常具有挑战性。最可悲的莫过于看到一个数据中心是一个状态良好的集群系统,它使用了大量电力和成吨的冷却设备,可是它的大部分时间却没有计算任何东西。闲置集群系统应该成为受惩罚的信息学错误行为。导致这种情况的一部分原因在于科学家与IT工作者之间存在着沟通上的鸿沟。 除了合作策略之外,有效地使用集群系统的另一个最富挑战性的问题是应用的可行性。也就是说,如何使应用、方案和工作流程能充分利用可以不断扩展的集群计算系统。集群计算的有效应用基于对此应用方案的基本执行流程的理解。通常有两种应用类型适合于平行的分布环境,即数据驱动处理流和参数搜寻算法。 许多序列分析就属于数据驱动的处理流类型,比如用于基因芯片分析和NCBI's的BLAST的相似矩阵计算。在这两个例子中,数据从一个指定源流向核心算法,来进行比较和分析。执行流的一个非平行组件汇编和处理最终的结果。有许多商业的和非商业的“加速的”BLAST算法可供使用。 系统模拟是参数搜寻算法的一个例子。此时,需调节模型参数的向量以优化模型对于实际数据的反应。相互独立的模型计算可以并行。 利用集群计算,信息学家必须学会将复杂的、集成的问题分解成可操作的、清晰定义的多个任务。比如,与其下载所有的GenBank制作一个Hash表用于串行处理,还不如调整结构实现单个序列的分析处理。这样就可以并行分析多个序列。 有无数的工具和技术可将复杂的、非线性的问题转化成分布式的解决方案,其中包括类似信息传递界面(MPI)和并行虚拟机器(PVM)这样底层的工具。不幸的是,这些工具同时也能将问题转化成复杂的、难以操纵的、不便移植的代码,所以使用它们的时候必须谨慎。通常,平行的和非平行的组件可以被分离,因此,一个装载管理系统显然可以执行这项任务,就像在冰箱般庞大的SMP上执行一样。 你还不必抛弃庞然大物般的SMP。集群计算系统并不能解决所有的科学计算问题,但是它们能够缓解你的机构中SMP一般性的处理工作,并且延长SMP的寿命。因为大量科学计算间的差异正在缩小,所以利用集群计算来处理问题所付出的额外的努力将很快获得回报。 http://www.biotechworld.cn/content.aspx?id=245
|
|
|


|