...
Assumptions
Color coding in Diagram
https://troeger.eu/files/talks/ogf35.pdf
Requirements
The implementation of DRMAA2 specification for PBS Pro is broadly divided into the following requirements/user stories.
...
|
Note : Document is part of https://troeger.eu/files/talks/ogf35.pdf
Domain model diagram
ConnectionPool is a set of active connections with PBSPro. In multi-threaded application each thread uses one connection. ConnectionPool Is Member of DRMSystem
Overview of Object mapping
name PDF
Job State model Defined in DRMAAv2 Specification
|
Note : Document is part of https://www.ogf.org/documents/GFD.231.pdf
DRMAA2 spec relies on concept of session to support the persistency of job and reservation information in multiple runs of short lived applications.
...
C-Style binding APIs definition
Note: APIs are as defined in https://www.ogf.org/documents/GFD.230.pdf
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
typedef const char * drmaa2_string; typedef struct drmaa2_list_s * drmaa2_list; typedef struct drmaa2_list_s * drmaa2_string_list; typedef struct drmaa2_list_s * drmaa2_j_list; typedef struct drmaa2_list_s * drmaa2_queueinfo_list; typedef struct drmaa2_list_s * drmaa2_machineinfo_list; typedef struct drmaa2_list_s * drmaa2_slotinfo_list; typedef struct drmaa2_list_s * drmaa2_r_list; typedef struct drmaa2_dict_s * drmaa2_dict; typedef drmaa2_jinfo_s * drmaa2_jinfo; typedef drmaa2_slotinfo_s * drmaa2_slotinfo; typedef drmaa2_rinfo_s * drmaa2_rinfo; typedef drmaa2_jtemplate_s * drmaa2_jtemplate; typedef drmaa2_rtemplate_s * drmaa2_rtemplate; typedef drmaa2_notification_s * drmaa2_notification; typedef drmaa2_queueinfo_s * drmaa2_queueinfo; typedef drmaa2_version_s * drmaa2_version; typedef drmaa2_machineinfo_s * drmaa2_machineinfo; typedef struct drmaa2_jsession_s * drmaa2_jsession; typedef struct drmaa2_rsession_s * drmaa2_rsession; typedef struct drmaa2_msession_s * drmaa2_msession; typedef struct drmaa2_j_s * drmaa2_j; typedef struct drmaa2_jarray_s * drmaa2_jarray; typedef struct drmaa2_r_s * drmaa2_r; /** Note : Names ending with _s are forward declaration **/ |
...
forward defalcation required for API
IFL call
...