首页 > 解决方案 > HTCondor Scatter Gather

问题描述

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

现在,想法是使用 HTCondor,所以每个Resource接收视频的一部分(Scatter),降低它的质量,然后返回它,所以最后所有部分可以放在一起制作完整的视频 720p(Gather)。问题是,每个节点都返回自己的段,所以我怎样才能使返回是总结视频。我想使用一个 .dag 文件,所以在执行之后,它会运行一个脚本来合并它们,但是,根据我从每个节点上运行的文档而不是在所有段所在的地方,是客户,我猜。

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

标签: condor

解决方案


我认为您与 dagman 走在正确的轨道上。从文档中的钻石 dag 开始:

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

但也许你想要超过 2 个节点来进行处理——散射。随着每个 HTCondor 作业完成,输出将被发送回提交机器。您可以将所有这些发送到最终组装的 HTCondor 工作节点,或者,如果组装不是 CPU 密集型活动,只需在所有中间输出所在的提交机器上运行它。在 HTCondor 中,“本地宇宙”作业看起来就像一个普通作业,但在提交机器上运行。也许依赖于所有分散节点的最终节点可能是本地 Universe 作业。

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

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


推荐阅读