1、通过脚本查询Job的利用率和所占的Core数,从而管理低利用率的Job。
•通过脚本查询JOB的利用率和所占的CORE数,从而管理低利用率的JOB。
•低CPU利用率的JOB要特别小心,最可能存在2个原因:JOB缺少LICENSE导致等待;存储IO过高,导致JOB一会儿用CPU,一会儿不用。
2、通过BSTAT脚本,同时看到某台服务器的LSLOAD信息和BHOSTS,LSHOSTS相关信息
•建议显示一起上相关信息,可以指定某台主机或者某个主机组。
3、配置Explorer,使用ElasticSearch来存储Job相关信息,可以快速查询某个用户、某个项目,在某段时间内对服务器的使用情况。
4、允许Job可以resize
•LSF可以通过LSB.APPLICATIONS 引入特定设置,允许用户的JOB,可以被RESIZE。比如用户不确定自己提交多少个CPU,就可能一次提交16个CPU,实际上跑起来才用4个。那么我们能否修正,让用户只占用4个CPU即可。
5、自动绑定core,避免NUMA节点的时候,Job在多个Core上漂移,一般我们在short和normal的队列,只允许一个Job用一个CPU core
6、配置严格的LDAP群组提交权限限制
•首先,可以通过LINUX群组跟项目对应的方式,将每个项目对应多个LINUX群组。比如某个PROJECTA,可以有UG-PROJECTA-DESIGN UG-PROJECTA-VERIFY UG-PROJECTA-COT几个群组。•然后,可以通过BSUB -G UG-PROJECTA-XX来严格限制LINUX的群组跟项目提交权限统一,只有加入了对应的UG-PROJECTA-XX的用户,才能利用这个-G UG-PROJECT-XX来提交JOB,这样可以跟踪到某个项目使用了多少资源,哪些用户在用什么群组提交JOB。
•这里需要配置3个地方:ETC/EGROUP、LSB.USERS 、ETC/ESUB
7、配置guarantee资源池
•保障资源,在LSF内,主要有2种方式存在:SLOTS GUARANTEE和HOSTS GUARANTEE两种。分别对应的方式是,按SLOTS配置,某个项目,需要多少个CORE,一般就配置这种保障;项目另外一些情况,需要按HOST来保证,尽量让自己的项目能够独占某台服务器。HOSTS保证类似给某个项目给出一些专用服务器,但是这些服务器是动态提供的,而不是固定允许某个用户一直占用。因为固定提供的专用机,非常难以管理,利用率也非常低。
•两种保障方式,使用场景不同,一般SLOTS保障,用于大量验证的情况,比如模拟的模块SPICE仿真,数字的REGRESSION验证。后端K库也可以用SLOTS保障。而HOSTS保障,经常用于综合,STA,BES,PD&PR等场景。
8、配置DISPLAY变量,让其始终指向我们的ETX桌面
•准确地说,这个配置不是LSF的,但是在我们IC设计中,却经常会遇到一些比如BSUB无法提交交互任务的情况,如何解决呢?其实思路很简单。就是在.CSHRC增加一个SOURCE CSHRC.DISPLAY,然后在CSHRC.DISPLAY这个文件内,我们在LOGIN服务器上,将DISPLAY变量写入到.DISPLAY文件,然后在其他服务器上会首先去读取这个文件内容,然后再设置一下DISPLAY变量即可。
9、LSF设置elim信息,比如/local磁盘剩余大小
10、配置内存不足自动挂起Job
•如果不采用LSF,我们经常会遇到服务器因为内存不足,服务器挂死的情况。因为内存不足,JOB还在跑,不断申请新的内存,最后就是使用SWAP,进而很慢,逐步走向服务器死机状态,导致这台服务器上跑的所有JOB都挂掉。如何避免这种情况呢?采用LSF就简单多了。
•其实不止内存,还有其他比如/TMP空间不足,服务器瞬时负载过大等情况。
以上便是关于LSF的一些高级用法的介绍,希望能给大家带来帮助,想要了解更多LSF相关资讯,可搜索:江苏信瑞一芯科技有限公司~~~江苏信瑞一芯科技有限公司是国内IBM的银牌代理商、netapp的金牌代理商。