HTCondor 分散聚集

HTCondor Scatter Gather

我正在开发一个项目,我需要将视频分辨率从 1080p 降低到 720p。该部分使用命令 "ffmpeg -I inputVideo.mp4 -r 60 -s hd720 outputVideo.mp4".

非常简单

现在,想法是使用 HTCondor,所以每个 Resource 接收视频的一部分 (Scatter),降低它的质量,然后 returns 它,所以最后所有部分可以放在一起制作完整的视频 720p (Gather)。问题是,每个节点 return 都有自己的段,所以我怎样才能使 return 成为总路口视频。我想过使用 .dag 文件,所以在执行后,它会 运行 一个将它们合并的脚本,但是,据我从 documentation 中理解,每个 运行节点而不是所有段所在的地方,我猜这是客户端。

所以我想问一下,您有什么建议可以合并输出的视频文件。

我认为您对 dagman 的理解是正确的。从文档中的钻石 dag 开始:

https://htcondor.readthedocs.io/en/stable/users-manual/dagman-applications.html#the-dag-input-file-basic-commands

但也许您需要 2 个以上的节点来进行处理——散射。当这些 HTCondor 作业中的每一个完成时,输出将被发送回提交机器。您可以将所有这些发送到 HTCondor 工作节点以进行最终组装,或者,如果组装不是 cpu-heavy activity,只需 运行 它在提交机器上所有中间输出的位置。在 HTCondor 中,一个 "local universe" 作业看起来就像一个普通作业,但在提交机器上却是 运行s。也许依赖于所有分散节点的最终节点可能是本地 Universe 作业。

在 dagman 的培训课程中,有一个与 mandlebrot 集类似的图像处理示例。这个link可能会给你一些好主意:

https://opensciencegrid.org/user-school-2019/#materials/day4/part4-ex1-simple-dag/