HTCondor是一个 开源 的高吞吐量计算软件框架,用于计算密集型任务的粗粒度分布式并行化。它可用于管理专用计算机群集上的工作负载,或将工作分配给空闲的台式计算机,即所谓的循环清理。HTCondor可在Linux,Unix,Mac OS X,FreeBSD和Microsoft Windows操作系统上运行。HTCondor可以将专用资源(机架式集群)和非专用台式机(循环清理)集成到一个计算环境中。高通量计算中的Throughput应该是吞吐量的意思,也就是调度计算机资源的能力。与 高性能计算 (HPC)不同,高通量计算(HTC)应对的问题是在高性能的同时能够长时间稳定运行的能力,并充分利用集群或网络内计算资源。长时间计算时,集群或网络内计算资源往往是不可靠的,这中间蕴含了计算资源管理和任务调度的问题。
具体来说,HTC的思想就是将规模的密集运算拆分成一个个的子任务,交给集群计算机运算。HTCondor提供了如下功能:
发布任务:根据设定的集群内计算资源条件,将任务发布到集群计算机。
调度任务:任务能够发送到满足条件计算机中运行,或者 迁移 到另外一台计算机。
监视任务:随时监视任务运行的情况和计算资源的情况。
注意拆分任务这一步还是需要用户自己控制的,拆分合适粒度的并行任务,有助于最大程度的 负载均衡 。
除此之外,一个不能忽视的的问题就是磁盘IO的问题。HTC往往伴随着海量数据,巨量数据的磁盘IO必定会造成性能瓶颈。HTCondor自带了一种文件传输机制,发布任务的时候能够自动将数据发送到对应的机器中运行。当然,也可以尝试搭配分布式文件系统如hdfs进行计算。