投稿指南
一、本刊要求作者有严谨的学风和朴实的文风,提倡互相尊重和自由讨论。凡采用他人学说,必须加注说明。 二、不要超过10000字为宜,精粹的短篇,尤为欢迎。 三、请作者将稿件(用WORD格式)发送到下面给出的征文信箱中。 四、凡来稿请作者自留底稿,恕不退稿。 五、为规范排版,请作者在上传修改稿时严格按以下要求: 1.论文要求有题名、摘要、关键词、作者姓名、作者工作单位(名称,省市邮编)等内容一份。 2.基金项目和作者简介按下列格式: 基金项目:项目名称(编号) 作者简介:姓名(出生年-),性别,民族(汉族可省略),籍贯,职称,学位,研究方向。 3.文章一般有引言部分和正文部分,正文部分用阿拉伯数字分级编号法,一般用两级。插图下方应注明图序和图名。表格应采用三线表,表格上方应注明表序和表名。 4.参考文献列出的一般应限于作者直接阅读过的、最主要的、发表在正式出版物上的文献。其他相关注释可用脚注在当页标注。参考文献的著录应执行国家标准GB7714-87的规定,采用顺序编码制。

利用LSF API实现高性能计算机集群的机时统计(2)

来源:计算机时代 【在线投稿】 栏目:期刊导读 时间:2020-08-03
作者:网站采编
关键词:
摘要:ib.h、string.h、time.h,另外还包括两个 LSF软件所提供的头文件:lsf.h和lsbatch.h。 2.2.1 时间格式转换 由于该程序操作的主要对象就是时间,然而LSF的bacct程序对
ib.h、string.h、time.h,另外还包括两个 LSF软件所提供的头文件:lsf.h和lsbatch.h。 2.2.1 时间格式转换 由于该程序操作的主要对象就是时间,然而LSF的bacct程序对时间有一定的格式要求,为了程序设计的统一,我们将此C程序所需读入的时间参数格式确定为“年/月/日/小时:分钟”,如“2013/3/15/0:0”。另外,由于历史原因,计算机的计时系统存在一个千年问题,因此也需要在时间格式转换时加以考虑,下面列出了时间格式转换的主要代码。 2.2.2 获取作业wall time 此部分需要实现对某个用户在一段时间内累计使用的wall time和CPU time的统计。这里需要提到的是,有些多线程程序在运行时会占用多个CPU资源,这时可能出现CPU time比wall time还高的情况。在这种情况下,我们取两者中较高的值加入到累计机时中。程序的关键部分如下(省去了参数检查、lsb.events检查等部分): 2.3 编译、调用及后期处理 上述的C语言程序编写好后,需要使用如下命令编译成二进制可执行代码:gcc getwalltime.c-I/lsf-path/include LSF_LIBDIR/libbat.a LSF_LIBDIR/liblsf.a-lm-lnsl-ldl,编译后生成的可执行程序为getwalltime。此程序在运行时需提供三个参数,分别是:开始时间、结束时间和用户名,具体的形式是“getwalltime startTime endTime username”,比如“getwalltime 2013/1/1/0:0 2013/3/15/0:0 user”。外部程序若要调用该程序,方法类似。基于getwalltime程序,我们可以灵活地使用Shell脚本来对各个用户在特定的时间段里的计算机时进行统计,甚至生成具有一定格式的年度、月份统计报表。由于getwalltime除了可以获得作业的wall time之外,也可以获得CPU time,因此,我们可以通过计算CPU time与wall time的比值得到作业的CPU使用效率,一定程度上可以帮助我们了解作业的并行度是否合适,对于提高集群的整体利用效率可以起到一定作用。 3 结束语 利用LSF的API进行C语言编程,结合灵活的Shell脚本语言,可以设计出个性化的集群机时统计软件。在使用过程中我们发现该软件可以准确反映用户作业对计算资源的占用,为高性能计算中心的计费提供了有效可靠的数据,也大大方便了对集群年度、月份统计报表的制作。 近年来,由于高性能计算在科学研究、国防建设以及科技发展中的重要作用[1],国内对高性能计算机集群的建设兴趣有增无减。上海、无锡、广州等地纷纷建立了超级计算中心,国家也先后在天津、深圳、长沙、济南等地建立了国家超级计算中心。高校和科研院所也不断地增加高性能计算方面的投入[2-8]。由于各地高性能计算中心或超级计算中心都采取收费政策,因此,准确的计算机时统计信息不仅可以为进行高性能计算的用户提供可靠的计算量数据,也可为超算中心在制定计算服务价格时提供参考。目前,对用户计算机时的统计一般是依赖于LSF、PBS Pro、SGE等作业调度软件提供的计算机时统计功能。然而,这些作业调度软件所提供的计算机时统计功能并不完善,不一定适合高性能计算中心的个性化需求[9-10]。以Platform公司的LSF 7.5为例,其提供的bacct命令只能查询某段时间内用户累计使用的CPU time,而不能提供对应的wall time。因此,若需要以wall time作为计时计费的依据,则会遇到困难,但一些新建的高性能计算中心又的确对这方面有切实的需求。本文将探讨一种利用LSF API实现对用户计算机时(wall time)进行统计的程序设计。1 机时统计策略准确可靠的计算机时统计是高性能计算中心实施收费政策的前提。在Linux系统中,有两种较普遍的统计时间的方法:一种是CPU执行程序指令累计所使用的脉冲时间,称之为CPU time;另一种是用计时器(如手表)度量的实际时间,也就是我们日常生活中所使用的时间度量,称之为wallblock time,简称wall time。由此可见,CPU time只代表程序占用CPU的时间,更倾向于反映CPU的使用效率,并不能代表程序真实占用计算资源的时间,因为像进行I/O操作等消耗的时间都不在CPU time的统计范畴。Wall time则反映的是一个程序从开始运行到结束所总共用去的时间。对于通常的作业调度系统策略而言,一旦一个程序占用了一个CPU资源,即使该程序的CPU使用效率接近0 ,该CPU资源也不会释放给其他程序使用。由于计算资源是集群中所有用户共享的,并且计算资源的总

文章来源:《计算机时代》 网址: http://www.jsjsdzzs.cn/qikandaodu/2020/0803/328.html



上一篇:没有了
下一篇:基于单片机晶振的守时研究

计算机时代投稿 | 计算机时代编辑部| 计算机时代版面费 | 计算机时代论文发表 | 计算机时代最新目录
Copyright © 2021 《计算机时代》杂志社 版权所有
投稿电话: 投稿邮箱: