我刚刚想出了如何使用Condor在集群上的机器上发送要处理的作业.既然我们有很多机器,而不是每台机器都配置相同,我想知道:
是否有可能告诉condor只将我的作业(python脚本)发送到机器上,因为我的脚本依赖于这个包,所以机器上安装了numpy?
我想找一个用户空间工具(最好是在Python中 - 禁止在任何我可以轻易修改的内容,如果它还没有我需要的那样)来替换我一直在使用的那个短脚本以下两件事:
例如,使用我当前的脚本,我可以在python提示符下
>>> import hosts
>>> hosts.run_commands(['users']*5)
Run Code Online (Sandbox Code Playgroud)
或者从命令行
% hosts.py "users" "users" "users" "users" "users"
Run Code Online (Sandbox Code Playgroud)
运行该命令users
5次(通过从配置文件中检查至少5台计算机上的cpu负载和可用内存,找到可以运行该命令的5台计算机).除了我刚刚运行的脚本之外,应该没有作业服务器,并且在运行这些命令的计算机上没有工作人员守护程序或进程.
我还希望能够跟踪作业,在失败时再次运行作业等,但这些是我实际上并不需要的额外功能(在实际作业调度程序中非常标准).
我找到了很好的Python ssh库,比如classh和PuSSH,它们没有我想要的(非常简单的)负载均衡功能.在我想要的另一边是Condor或Slurm,正如我在澄清之前所说的那样,我想要更轻松的东西.那些会以正确的方式做事,但是通过阅读它们,它们听起来就像在用户空间中将它们旋转起来只有在我需要它们时才会让人烦恼.这不是专用群集,我在这些主机上没有root访问权限.
我目前正计划使用一个包装器周围的包装器,当我需要知道如果我找不到其他东西时他们有多忙时,会对计算机进行一些基本的轮询.
我正在寻找在我的大学计算机网格上为多台计算机发送作品的方法.
目前它正在运行Condor并且还提供Hadoop.
因此,我的问题是,我应该尝试将R与Hadoop或Conder连接到我的项目吗?
对于讨论,让我们假设我们正在谈论令人尴尬的并行任务.
ps:我已经看到了CRAN任务视图中描述的资源.
我正在努力研究是否应该在工作中尝试Condor或Sun Grid Engine(或者可能是其他东西).
我们经常有很多未使用的WinXp工作站.希望我们可以使用局域网唤醒,运行所有工作,然后自动关闭.我们主要运行Matlab,Java或Python模拟monte-carlo或参数探索.
由于我对Condor的了解有限,听起来使用vm Universe可能是一种处理快照的便捷方式,而无需修改现有代码.
对于这种工作,SGE还是其他比秃鹰更好的东西?
我需要在Google Compute Engine上设置并运行"令人尴尬"的并行作业.我正在寻找工具来促进这一点.
在EC2上,我使用MIT的Starcluster来设置集群,然后将作业提交给SGE.
Google Compute Engine还有类似的工具吗?
如果没有,我可能会手动设置一个Condor Cluster来完成这些工作.嗡嗡杀人.
sungridengine embarrassingly-parallel condor google-compute-engine starcluster
我正在寻找一个程序来执行分布式计算(不需要并行计算),它具有:
我需要在每台机器上有多个插槽的群集上启动Condor作业.
我还要求在同一台物理计算机上不能同时放置两个作业.这是由于我无法控制的某些二进制文件执行某些网络(很差).
这是一个有点相关的问题:限制condor安排的并发进程数,
但它并没有完全解决我的问题.我理解我可以通过以下方式限制作业可以运行的位置:Requirements = (name == "slot1@machine1") || (name == "slot1@machine2") ...
但是这太限制了,因为只要两个作业不在同一台机器中,我就不关心作业运行的哪个插槽.
有没有办法实现这个目标?
如果这不可能,我怎么能告诉神鹰挑选有最多可用插槽的机器?
我是 Condor 的新手,正在尝试在 Condor 上运行我的 Python 程序,但很难做到这一点。我发现的所有教程都假设单个文件 Python 程序,但我的 Python 程序由多个包和文件组成,并且还使用其他库,例如 numpy 和 scipy。那么,我怎样才能让Condor运行我的程序呢?我应该将程序转换为某种可执行文件吗?或者,有什么方法可以将Python源代码转移到Condor机器上并让Python在Condor上运行源代码吗?
谢谢,
我在运行秃鹰作业后尝试使用电子邮件选项。我试过这个:
Executable = executable.sh
Log = file.log
Output = file.stdout
Error = file.stderr
# Use this to make sure 1 gpu is available. The key words are case insensitive.
REquest_gpus = 1
# Note: to use multiple CPUs instead of the default (one CPU), use request_cpus as well
Request_cpus = 3
# "Queue" means add the setup until this line to the queue.
Queue
#
Notify_user = my_email@yahoo.com
Run Code Online (Sandbox Code Playgroud)
但它失败了。为什么?如何将其放入提交文件中?
这也没有帮助:
notify_user = $<$email-address$>$
Used to specify the e-mail address to …
Run Code Online (Sandbox Code Playgroud) 我是 HTcondor 的新手,在我通过 Putty 提交作业后,该作业被搁置,日志文件显示以下错误:
007 (274036.000.000) 06/28 23:12:08 Shadow exception!
Error from slot1@hana-******: Failed to execute '/var/lib/condor/execute/dir_107122/condor_exec.exe': (errno=8: 'Exec format error')
0 - Run Bytes Sent By Job
16520 - Run Bytes Received By Job
...
012 (274036.000.000) 06/28 23:12:08 Job was held.
Error from slot1@hana-2.*******: Failed to execute'/var/lib/condor/execute/dir_107122/condor_exec.exe': (errno=8: 'Exec format error')
Code 6 Subcode 8
...
Run Code Online (Sandbox Code Playgroud)
下面是我提交的描述文件:
# defining the programm
cmd = /***/my_prog.ipynb
# defining the parameters
#args = /***/model_1/data_1.csv
#args = /***/model_2/data_2.csv
#args = /***/model_3/data_3.csv …
Run Code Online (Sandbox Code Playgroud) 我的神鹰网格上有一个主机由于某种原因是不好的,即在该主机上运行的作业将永远运行.我不是管理员,无法登录,因此我无法调查,也无法将其从网格中删除.我想在我的提交文件中指定我不想在该主机上运行作业.这是什么语法?
condor ×11
python ×3
format ×1
hadoop ×1
networking ×1
pbs ×1
python-2.7 ×1
r ×1
scheduler ×1
ssh ×1
starcluster ×1
torque ×1