是否有任何安全且免费的与语言无关的 Linux 分布式 make 系统?
背景资料:
我运行的科学实验(计算机科学实验)有时会有很大的依赖树,有时会有数千或数万个树节点。此依赖关系树位于数据文件、数据处理可执行文件和结果文件之上。
多年来,我尝试了各种技术,包括:
- 使用数据库滚动我自己的依赖跟踪器并在每台工作机器上运行脚本。这可能会有点麻烦,尤其是在尝试使用非脚本语言时。
- 将所有处理命令放在单个 makefile 中,伪目标可以在不同的工作机器上手动“构建”。这不需要特殊工具,但是手动将工作分解为大小均匀的伪目标块并在每个工作盒上正确调用“make”可能会很痛苦。
- distmake:自动分发来自单个 makefile 的命令的执行...
我基本上在寻找类似 distmake 的东西,但更安全。据我所知,distmake 本质上为每个工作节点留下了一个敞开的后门。
如果替代品比 distmake 更强大,那也很好。如果您中断主 distmake 调用,它可以关闭后门服务器,但它不会正确终止工作节点上的执行进程。
说明:
我正在使用 makefile 处理数据,而不是使用 gcc 编译和链接。从我在文档中看到的内容来看,distcc 是一个专门用于分发 gcc 的工具。我将在共享文件系统上托管的非常大的数据文件上运行我自己的可执行文件,而不是在源文件上运行 gcc,因此 distcc 没有帮助。
工作节点是外部可见的机器,所以我希望任何工作守护进程至少与 ssh 一样安全。尽我所能在不阅读源代码的情况下判断,distmake worker 守护进程会打开一个端口,并将接受来自任何附加到它的人的命令。他们将以启动守护程序的用户身份执行命令。