核心代码,注释必读
// download:3w 52xueit com
vue 2.x 响应式
Object.defineProperty
爱学it学无止境
本文介绍在Linux服务器中,通过PBS(Portable Batch System)作业管理系统脚本的方式,提交任务到服务器队列,并执行任务的方法。
最近,需要在学校公用的超算中执行代码任务;而和多数超算设备一样,其也是需要通过作业队列的方式,来提交、管理、排序不同用户的任务,从而使得不同用户都可以较为公平地使用超算设备的资源。由于学校的这个超算是基于PBS来提交任务的,所以这里就介绍一下撰写PBS脚本,从而将自己的代码执行需求提交给服务器(也就是提交任务)的方法。
其中,PBS(Portable Batch System)是一个用于管理、调度计算任务的开源软件;其是一个常用的作业调度系统,用于在大规模计算集群或超级计算机上管理并分配计算资源。在使用时,我们需要首先提交作业到计算集群,PBS将会根据资源可用性、作业优先级等因素进行作业调度和分配。其基本工作流程如下:
用户编写PBS脚本,描述任务的资源需求、执行命令和其他相关信息。
用户使用PBS命令,将上述编写好的脚本提交到PBS系统。
PBS系统根据脚本中作业的资源需求和集群的可用资源情况,将作业放入作业队列中等待执行。
当有可用的计算资源时,PBS系统会选择一个作业并将其分配给相应的计算节点。
作业在计算节点上执行,直到完成,或达到预设的运行时间限制,或任务执行时出错等。
那么接下来,就介绍一下撰写PBS脚本,并基于其提交自己的任务到服务器中的方法。
首先明确一下本文的需求。已知当前在服务器的某个路径下,我们有一个可执行文件(或者是有1个Python代码文件);我们希望后续在超算中,对这个可执行文件(或者Python代码文件)加以运行。
明确了需求,接下来就可以开始操作。首先,如果有需要,我们可以cd进入自己的工作目录。我这里就直接进入存放有可执行文件的目录中;具体代码如下。
cd Data_Reflectance_Rec
随后,基于如下代码查看一下当前路径中的文件。ls用于列出目录中的文件和子目录。
ls
接下来,基于如下代码创建PBS脚本,我在这里将其命名为py_task.pbs;其中,.pbs就是PBS脚本文件的固定拓展名。后续我们向PBS系统提交任务时所用的脚本,就是这个文件。
touch py_task.pbs
其中,touch是一个常用的命令,用于创建空白文件或更新已存在文件的访问和修改时间戳。创建完毕后,可以基于如下代码再次看一下当前路径下的文件。
ls
执行上述代码,如下图所示。可以看到,py_task.pbs这个PBS脚本文件已经创建完毕了。
创建脚本文件完毕后,我们即可开始编辑这个文件。在这里,我选择基于Vim来编辑,所以执行如下的代码即可。
vim py_task.pbs
其中,Vim是一个强大的文本编辑器,广泛用于命令行环境下代码的编写和文本的编辑。执行上述代码,如下图所示。可以看到,py_task.pbs这个PBS脚本文件已经被Vim打开了。
领取专属 10元无门槛券
私享最新 技术干货