网格应用分类与启用及NetSolve的应用探索
1. 网格应用的现状与挑战
在新兴的网格世界中,应用程序与网格的交互和受益方式仍有诸多待明确之处。尽管存在安全、发现机制等问题,但这些对应用开发者使用GAT - API编写代码并无影响,开发者可免受网格服务部署方式及所用技术变化的干扰。
不同类型的应用在网格中的有效性取决于应用本身的性质和实现代码的功能。例如,蒙特卡罗类型的方案具有高度并行性,适合任务分发场景;而紧密耦合的有限差分应用则需要新的算法和技术,才能在松散耦合的机器上高效运行。
技术的进步可能使编译器或自动化工具能够分析应用程序,并确定最佳的网格利用方式,就像编译器技术实现了某些程序的自动并行化一样。然而,自动启用网格的技术需要数年时间才能发展成熟,并且很可能需要用户在源代码中嵌入某种指令,为处理过程提供提示,这与如今的并行编译器类似。或许可以开发出类似于OpenMP标准的规范,以实现不同编译器或工具供应商之间的兼容性,这对于真正的异构环境至关重要。
即使有了这些启用技术,应用开发者仍需关注一些事项,其代码也必须具备特定功能。例如,为了充分利用迁移等操作,应用程序必须能够以独立于机器架构和处理器数量的方式检查点其当前状态。像Cactus这样的编程框架的一个优点是,许多所需功能可以自动且透明地实现。
中间件开发的一个风险是,在开发接近完成之前,应用程序无法有效地使用它。否则,在开发过程中API进行重组或发现基本错误时,应用程序将遭受严重干扰。但我们希望在这些技术完全成熟之前就使用网格,既能利用已完成的部分,也能开始构建应用程序,以融入适当的场景和操作。目前,应用开发者要么手动为其应用程序启用网格功能,要么使用像Cactus这样的启用框
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



