condor - HTCondor Scatter Gather
问题描述
我正在开发一个项目,我需要将视频分辨率从 1080p 降低到 720p。这部分使用命令“ffmpeg -I inputVideo.mp4 -r 60 -s hd720 outputVideo.mp4”非常简单。
现在,想法是使用 HTCondor,所以每个Resource接收视频的一部分(Scatter),降低它的质量,然后返回它,所以最后所有部分可以放在一起制作完整的视频 720p(Gather)。问题是,每个节点都返回自己的段,所以我怎样才能使返回是总结视频。我想使用一个 .dag 文件,所以在执行之后,它会运行一个脚本来合并它们,但是,根据我从每个节点上运行的文档而不是在所有段所在的地方,是客户,我猜。
所以我想问一下,你有什么建议让我可以合并输出的视频文件。
解决方案
我认为您与 dagman 走在正确的轨道上。从文档中的钻石 dag 开始:
但也许你想要超过 2 个节点来进行处理——散射。随着每个 HTCondor 作业完成,输出将被发送回提交机器。您可以将所有这些发送到最终组装的 HTCondor 工作节点,或者,如果组装不是 CPU 密集型活动,只需在所有中间输出所在的提交机器上运行它。在 HTCondor 中,“本地宇宙”作业看起来就像一个普通作业,但在提交机器上运行。也许依赖于所有分散节点的最终节点可能是本地 Universe 作业。
在 dagman 的培训课程中,有一个使用 mandlebrot 集的类似图像处理示例。这个链接可能会给你一些好主意:
https://opensciencegrid.org/user-school-2019/#materials/day4/part4-ex1-simple-dag/
推荐阅读
- javascript - 如何在另一个函数中获取函数内部的var?
- scala - 如何在 Gatling 的 foreach 循环中调用资源请求?
- angular - 在创建角度元素时,会生成多个块文件。如何将所有这些合并为一个
- ios - 在后台模式下使用 CoreML 对用户活动进行分类
- javascript - 如何使用 clearRect() 而不删除我拥有的其他对象?
- kotlin - Kotlin 项目创建期间缺少模板
- node.js - 带有 React 前端的 NodeJS/Express API 实时通知
- java - 有条件地记录信息的最有效方法是什么?
- assembly - 在 x86_x64 架构上组装 x86 汇编源代码
- excel - 有一个更好的方法吗?VBA 脚本