弹性并行树搜索应用的开发与运行:TASKWORK 系统解析
一、引言
如今,像亚马逊网络服务(AWS)和微软 Azure 等众多云服务提供商,都推出了针对高性能计算(HPC)工作负载优化的云服务。与传统基于静态资源分配和作业调度的 HPC 集群不同,云环境为并行应用带来了诸多优势,如按需访问计算资源、按使用付费以及弹性伸缩能力。弹性伸缩,即能够在运行时动态调配和释放计算资源,这一特性引入了细粒度成本控制的新概念,为并行计算带来了新的机遇与挑战。
近年来,使并行应用具备云感知能力的需求日益增长。现有研究主要集中在具有简单通信和协调模式的应用,如迭代并行工作负载。然而,对于其他类型的并行应用,如何从云的特性中获益,如何利用弹性伸缩以及确保分布式计算资源的云感知协调,仍是有待研究的问题。
本文聚焦于并行树搜索应用,这类应用在生物化学、电子设计自动化、金融投资组合优化等多个领域有广泛应用。我们将探讨如何应对这些应用在云环境中的挑战,并介绍 TASKWORK 这一云感知运行时系统,它为在云环境中开发和运行弹性并行树搜索应用提供了全面的基础。
二、基础与相关工作
(一)并行树搜索
并行树搜索技术常用的元算法包括分支限界法和回溯搜索法,用于解决枚举、决策和优化问题,如布尔可满足性、约束满足和图搜索问题。这些算法在非常大的状态空间中搜索解决方案,并通过高级的分支、剪枝和回溯机制提高搜索效率。
并行执行通常通过将状态空间树拆分为独立的任务来实现,每个任务在对应的子树中搜索解决方案,这种方法也称为探索性并行或空间分割。但由于搜索树的形状和大小受分支和剪枝操作的影响很大,这些应用具有高度的不规则性。为了有效利用大量
超级会员免费看
订阅专栏 解锁全文

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



