Institute of Computer Science AGH Towards Multilanguage and Multiprotocol Interoperability: Experiments with Babel and RMIX Maciej Malawski, Daniel Harężlak, Marian Bubak Institute of Computer Science AGH, Kraków, Poland ACC CYFRONET AGH, Kraków, Poland
16
Embed
Institute of Computer Science AGH Towards Multilanguage and Multiprotocol Interoperability: Experiments with Babel and RMIX Maciej Malawski, Daniel Harężlak,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Institute of Computer Science AGH
Towards Multilanguage and Multiprotocol
Interoperability: Experiments with Babel and RMIX
Maciej Malawski, Daniel Harężlak,
Marian Bubak
Institute of Computer Science AGH, Kraków, Poland ACC CYFRONET AGH, Kraków, Poland
Institute of Computer Science AGH2
Outline
• Motivation: multiple languages and protocols in Grids
Motivation• Grids are heterogeneous• Multiple programming languages – in single application
– Java for middleware– C for system programming– FORTRAN for computing– Python for scripting
• Multiple protocols – in single application– High speed local networks (Myrinet)– TCP/SSL/TLS in WAN– SOAP for loosely coupled message exchange– Overlay P2P networks for traversing private network
• Existing multilanguage CCA components – see CCA tutorial
Javaapplication
Fortrannativelibrary
SIDL
C++nativelibrary
SIDL
Babel IOR
Babel IOR
Institute of Computer Science AGH11
Our Solution
• Babel + RMIX• Implementation of
Babel RMI extensions– generic mechanism
of method invocation (reflection)
– Dynamic loading of communication library
– No need for code generation and compilation
Javaapplication
Fortrannativelibrary
SIDL
C++nativelibrary
SIDL
Babel IOR
RMIXlibrary
Babel IOR
Network
SIDL
RMIXlibrary
SIDL
Institute of Computer Science AGH12
sidl.io
sidl.rmi
Class Diagram
<<interface>>InstanceHandle
<<interface>>Invocation
<<interface>>ServerInfo
<<interface>>Response
RmixInstanceHandle
RmixSerializer RmixDeserializer
RmixServerInfo
RmixInvocation RmixResponse
<<interface>>Deserializer
<<interface>>Serializer
rmix
Institute of Computer Science AGH13
Client-side Invocation
Institute of Computer Science AGH14
Server-side Invocation
Institute of Computer Science AGH15
Conclusions
• Combining Babel with RMIX will offer distributed application flexibility
• Now: beginning of implementation phase• Applicable to MOCCA framework, but the
solution is general– Interfacing legacy systems– Interfacing Web services
• More interoperability? – multiple component standards...
Institute of Computer Science AGH16
References• Maciej Malawski, Dawid Kurzyniec, and Vaidy Sunderam. MOCCA
– towards a distributed CCA framework for metacomputing, 10th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS2005) at IPDPS’2005 http://mathcs.emory.edu/dcl/h2o/papers/h2o_hips05.pdf
• H2O Project homepage: http://www.mathcs.emory.edu/dcl/h2o/• CCA Forum: http://www.cca-forum.org