Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...

PDF
nameDRMAAv2_Layout.pdf

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

PDFnameDRMAA2Overview.pdf

Job State model Defined in DRMAAv2 Specification

PDF
namestatemodel.pdf

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
languagecpp
themeEclipse
titleForward declaration required for API
collapsetrue
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

...