如何在单台计算机上管理多用户作业计划程序

时间:2016-04-02 14:48:52

标签: ubuntu queue multi-user

我是队列/任务管理器场景的新手,目前在可能性方面有点迷失。

我正在寻找什么

在一台计算机上(内部或外部网络上没有任何内容),一个简单的队列,接受来自多个用户的队列,以便顺序运行。

具体细节

我正在运行Ubuntu 14.04

正在运行的程序是计算化学软件包,如PSI4,NWChem,GAMESS等。

这些程序需要一个简单的输入txt文件(由用户制作),输出也是txt文件。

到目前为止我发现了

到目前为止,在我的谷歌搜索中,我遇到了很多看似接近我想要的选项。

这些似乎有点矫枉过正

  • 转矩
  • PBS Grid Works
  • SLURM

我也遇到过这些,但仍然不知道我在做什么。

  • beanstalkd
  • 的cron
  • 任务的后台处理程序
  • 在/批

也许beanstalkd + cron +自制的python脚本可以完成这项工作吗?

哪些程序适合我正在寻找的内容,并且非常感谢有关如何设置的一些方向。

如果这太开放,我道歉......

1 个答案:

答案 0 :(得分:1)

作业调度程序(Torque,Slurm,PBS等)适用于大型集群,并且有点难以安装,但它们的设计是为了做您想做的事情。其他的是出于不同的目的。 public class Test { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int rowNum; int colNum; String search; System.out.print("Enter the number of rows in the array"); rowNum = Integer.parseInt(scan.nextLine()); System.out.print("Enter the number of columns in the array"); colNum = Integer.parseInt(scan.nextLine()); String[][] stringArray = new String[rowNum][colNum]; for (int i = 0; i < stringArray.length; i++) { for (int j = 0; j < stringArray[i].length; j++) { System.out.println("Please enter a value"); stringArray[i][j] = scan.nextLine(); } } for (int ii = 0; ii < stringArray.length; ii++) { for (int jj = 0; jj < stringArray[ii].length; jj++) { System.out.print(stringArray[ii][jj] + " "); } System.out.println(); } System.out.println("Please enter the string you are searching for"); search = scan.nextLine(); for (int iii = 0; iii < stringArray.length; iii++) { for (int jjj = 0; jjj < stringArray[iii].length; jjj++) { if (stringArray[iii][jjj].equals(search)) { System.out.println("Element found at position (" + iii + "," + jjj + ")"); } } } } } 是第二个列表中的一个,看起来像你想要的,但它似乎不是多用户。

我的建议是尝试condor,这是一个功能强大而且easy to install/manage的作业调度程序。