Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany DRMAA 1.0.NET Language Mapping Dipl. Inf. Peter Tröger.

Similar presentations


Presentation on theme: "Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany DRMAA 1.0.NET Language Mapping Dipl. Inf. Peter Tröger."— Presentation transcript:

1 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany DRMAA 1.0.NET Language Mapping Dipl. Inf. Peter Tröger University of Potsdam peter.troeger@hpi.uni-potsdam.de www.dcl.hpi.uni-potsdam.de GGF10, 12.3.2004 Humboldt University, Berlin, Germany

2 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Personal facts Operating Systems & Middleware Group (Prof. Dr. Andreas Polze) Ph.D. working title: „Predictable Grid Service Behavior in Heterogeneus Environments“ –Focus on idle time clusters as grid nodes Other working fields of our group: –Adaptive Services Grid –Dynamic reconfiguration of component-based applications –Middleware and embedded devices –AOP for.NET

3 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany.NET Language Mapping Original intention: Find an OGSI.NET frontend for job submission to a condor cluster, based on existing library Intermediate step:.NET language mapping for DRMAA Do not look too much on the Java document, read only the DRMAA 1.0 (01/04) specification Should look familiar, there are many similarities between Java language und C# language (even more with Java 1.5...)

4 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany One Interface IDrmaa interface All C-functions mapped to interface functions No session object: „ 3.1.2 DRMAA Sessions: An application process SHALL open only one DRMAA session at a time. Another session MAY be opened only after the current one is closed. Nesting of sessions is NOT RECOMMENDED.“ Classes: JobTemplate, JobTerminationInfo Structs: JobIdentifier, JobTemplAttrNames Enums: JobControlAction, JobSubmissionState, JobProgramStatus, JobTerminationReason, TransferFileMode

5 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Interface Methods Naming algorithm: Remove prefix and replace all underscores with uppercase letter drmaa_allocate_job_template IDrmaa.AllocateJobTemplate All numeric arguments are signed (CLS conformance) Bool type, where appropriate (e-mail suppression) Using DateTime und TimeSpan for time-related parameters Inline documentation (text from specification, NDoc)

6 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Name – Value Parameters Name-Value encoded string in –job_environment template parameter –drmaa_wait function parameter Mapping to IDictionary type parameter, implemented by several.NET classes (Hashtable, ListDictionary, SortedList) bool Wait( JobIdentifier jobId, TimeSpan timeout, out JobTerminationInfo stat, out IDictionary rusage);

7 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Wait() And WIf* Functions IDrmaa.Wait() returns rusage and a JobTerminationInfo object public abstract class JobTerminationInfo { public JobTerminationReason reason;// enum public bool hasExitStatus; abstract public int exitStatus {get;} public bool hasTermSig; abstract public string termSig {get;} public bool hasCoreDump; abstract public Stream coreDump {get;} }

8 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Exceptions System.ApplicationException DRMAA.DrmaaException DRMAA.AlreadyActiveSessionException DRMAA.AuthFailureException DRMAA.ConflictingAttributeValuesException... Single base class for DRMAA exception 1:1 mapping of DRMAA error codes, no further hierarchy (Java: InvalidAttributeException)

9 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Some Open Issues SetAttribute takes strings, there should be convinience functions for DateTime and TimeSpan conversion How to map the transfer_files options (‚i‘, ‚e‘, ‚o‘ and combinations) public enum TransferFileMode { NoTransfer, TransferInput, TransferOutput, TransferError, TransferInputAndOutput, TransferInputAndError,TransferOutputAndError, TransferInputAndOutputAndError };

10 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Results Ignoring the Java mapping leaded to some differing design issues (which is good) Specification is very C-centric, maybe a consistent mapping to the OO world should be ensured Some things in the specification are unclear to me (already in discussion, thanks to Hrabri) Mapping is in an alpha state

11 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Next Steps Learning about DRMAA and GGF procedures Updated version of the NDOC files With your agreement: Writing a draft document Proof-of-concept for single system (Windows Server 2003, Linux) Proof-of-concept for Condor.NET frontend Doing the „Magic JAX-RPC WSDL stub generator “ experiment with.NET tools

12 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Future Work Further interests: –OGSI / WSRF mapping (original intention) –Reviewing, Testing And what about: –OMG conformant IDL –job requirements specification (JSDL, RUS, GRAP) –Interfacing some real DRMS from.NET DRMAA (maybe Sun Grid Engine)

13 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany Thank you !

14 Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany. NET & Grid.NET as container (OGSI.NET, WSRF.NET) HPC (CLI Grande, MPI) Grid projects using OGSI.NET (GEODISE, GRASP) Heterogeneus execution platform (Mono, DotGNU) –x86, PowerPC, ARM, Sparc, PARISC, s309, Alpha, IA-64.NET may be useful for –user‘s grid frontend (GUI) –Re-using legacy code (languages) –idle-time computing (midsize companies)


Download ppt "Operating Systems and Middleware Group Hasso – Plattner – Institute, University of Potsdam, Germany DRMAA 1.0.NET Language Mapping Dipl. Inf. Peter Tröger."

Similar presentations


Ads by Google