efficient way to wait for job completion : python and drmaa

回眸只為那壹抹淺笑 提交于 2019-12-10 11:47:11

问题


I wanted to ask about "wait" feature in drmaa API I am using through Python. Does it do constant qstat's ( if we are running it on SGE) to check whether a program has finished execution.

Our admin want us to avoid any constant qstat's as it slows down the performance due to extra load on scheduler.

In general wat would be an efficient way to check for job status through DRMAA without overboarding the scheduler.

Thanks! -Abhi


回答1:


From an DRMAA API point of view, there is no better way. The API simply reflects what you are able to do in a shell script with the default command-line tools.

The problem lies in the implementation strategy of your particular DRMAA library, since SGE offers better ways than constant polling to get job status updates.You therefore have the following options:

  • Fix the DRMAA implementation you are using to rely on some direct communication with the scheduler. One source of information for the wire protocol could be the Open Grid Scheduler project.
  • Wait until Univa (or others) deliver a DRMAAv2 implementation for their Grid Engine product. This version of the API supports library callbacks on job status changes (http://ogf.org/documents/GFD.198.pdf), which seems to be exactly what you want.


来源:https://stackoverflow.com/questions/10937081/efficient-way-to-wait-for-job-completion-python-and-drmaa

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!