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

Slides:



Advertisements
Similar presentations
National Institute of Advanced Industrial Science and Technology Ninf-G - Core GridRPC Infrastructure Software OGF19 Yoshio Tanaka (AIST) On behalf.
Advertisements

Three types of remote process invocation
OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
Self-Regenerative Middleware Service for Cross-Standards and Ubiquitous Services Activation Mengjie Yu ( )
pa 1 Porting BETA to ROTOR ROTOR Projects Presentation Day, June by Peter Andersen.
Proposed update of Technical Guidance for INSPIRE Download services based on SOS Matthes Rieke, Dr. Albert Remke (m.rieke, 52°North.
General introduction to Web services and an implementation example
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Remote Procedure Call Design issues Implementation RPC programming
The Web Warrior Guide to Web Design Technologies
Design Patterns Introduction What is a Design Pattern? Why were they developed? Why should we use them? How important are they?
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
University of British Columbia Software Practices Lab Introduction to Middleware for Software Engineering Eric Wohlstadter 539D.
PROJECT IN DISTRIBUTED SYSTEMS IPERF FOR ANDROID Developers: Shir Degani, Yuval Degani Supervisors: Prof. Roy Friedman, Alex Kogan.
Software Reuse Building software from reusable components Objectives
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Object Oriented System Development with VB .NET
Encapsulation by Subprograms and Type Definitions
ISYS 512 Business Application Design and Development with.Net David Chao.
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
AXP: Adaptive eXecution Platform for Services Grids Prof. Dr. Andreas Polze Peter Tröger Operating Systems and Middleware Group.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CS110/CS119 Introduction to Computing (Java)
ISYS 512 Business Application Design and Development with.Net David Chao.
Track 1: Cluster and Grid Computing NBCR Summer Institute Session 2.2: Cluster and Grid Computing: Case studies Condor introduction August 9, 2006 Nadya.
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
CORBA Celsina Bignoli Enterprise Computing Corporation have similar computing environments: –mixed set of HW platforms –a mixed set.
TYX CORPORATION Page 1 © Copyright TYX Corporation 2006 TYX TestBase Development of Diagnostics with DSI eXpress and TYX TestBase For eXpress versions.
Chapter 1 Introduction. Goal to learn about computers and programming to compile and run your first Java program to recognize compile-time and run-time.
QCDGrid Progress James Perry, Andrew Jackson, Stephen Booth, Lorna Smith EPCC, The University Of Edinburgh.
GRAM5 - A sustainable, scalable, reliable GRAM service Stuart Martin - UC/ANL.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Java Programming, Second Edition Chapter One Creating Your First Java Program.
What’s new? Update on Netrics Matching Engine V4.0 and V4.1 Dave Chamberlain
Chapter 6 Server-side Programming: Java Servlets
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
SEE-GRID-SCI The SEE-GRID-SCI initiative is co-funded by the European Commission under the FP7 Research Infrastructures contract no.
Nguyen Tuan Anh. VN-Grid: Goals  Grid middleware (focus of this presentation)  Tuan Anh  Grid applications  Hoai.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Introduction Application of parallel programming to the KAMM model
CSCE 314 Programming Languages Reflection Dr. Hyunyoung Lee 1.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
“The world’s most misunderstood language has become the world’s most popular programming language” Akshay Arora
Partnerships in Innovation: Serving a Networked Nation Grid Technologies: Foundations for Preservation Environments Portals for managing user interactions.
ISYS 512 Business Application Design and Development with.Net David Chao.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Programming with the DRMAA OGF Standard.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
HYBRID APPROACH TO INTERFACE ADAPTATION.  Computing power anywhere and everywhere  Need interfaces that can adapt to different device conditions and.
© Geodise Project, Scenario: Design optimisation v Model device, discretize, solve, postprocess, optimise Scripting.
1/18/2000STScI Software Workshop Object-oriented Design Elements of the OPUS Application Programming Interface Data Processing Team.
Topic 5: CORBA RMI Dr. Ayman Srour
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
GGF10 DRMAA Working Group Hrabri Rajic Intel GGF10 Berlin, Germany March, 2004 GLOBALGRIDFORUM.ORG.
Congreso Cuidad, Spain May 15, 2007 GridWay 1/27, Programming with the DRMAA OGF Standard GridWay Distributed Systems Architecture Group Universidad Complutense.
GGF8 DRMAA State of C binding/implementation DRMAA implementation compliance test Andreas Haas Sun Microsystems GGF10 Berlin,
CST 1101 Problem Solving Using Computers
Outline SOAP and Web Services in relation to Distributed Objects
Module 5: Common Type System
Outline SOAP and Web Services in relation to Distributed Objects
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Re- engineeniering.
Software Architecture & Design
Presentation transcript:

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 GGF10, Humboldt University, Berlin, Germany

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

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 )

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: „ 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

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 ( suppression) Using DateTime und TimeSpan for time-related parameters Inline documentation (text from specification, NDoc)

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);

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;} }

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)

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 };

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

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

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)

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

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)