120 likes | 135 Views
Explore the CORBA and RMI issues in Nile presented at CHEP 2000. Learn about the history, architecture, and future work of Nile, a fault-tolerant and self-managing distributed computing solution for High Energy Physics research. Uncover the challenges and benefits of utilizing CORBA and RMI in distributed object architecture.
E N D
CORBA/RMI issues in Nile CHEP 2000 Authors: F. Handfield (University of Texas, Austin, TX USA) D. Mimnagh (University of Texas, Austin, TX USA) M. Ogg (University of Texas, Austin, TX USA) L. Zhou (University of Florida, Gainesville, FL USA) Presented by: D. Mimnagh (University of Texas, Austin, TX USA)
Overview • What is Nile? • Distributed Object Architecture • CORBA • RMI • Future work Dominic Mimnagh CHEP2000
What is Nile? • Nile: Distributed computing solution for CLEO • fault-tolerant (recover from resource failure) • self-managing (sophisticated resource scheduling) • heterogeneous (will run anything anywhere) • Designed for HEP • track reconstruction • data analysis • simulation • But very generic Dominic Mimnagh CHEP2000
Nile Architecture Dominic Mimnagh CHEP2000
History of Nile • Initially • C++ • Electra, for the CORBA ORB • Isis for replication • Isis product was eventually abandon by its vendor • C++ was hard to use portably • Nile rewritten in Java with CORBA Dominic Mimnagh CHEP2000
Distributed Object Architecture • Computation is distributed • Should we distribute the control system? • scalability • resilience • separation of function • additional failure modes • error handling • Choices available: • CORBA, RMI, DCOM Dominic Mimnagh CHEP2000
Nile with CORBA • Code specified by IDL to Java bindings • write interfaces in IDL • compile IDL to Java for interfaces, proxies helper classes etc... • implement Java interfaces • Successful robust Nile implementation achieved • HERA-B MC • CLEO II MC Dominic Mimnagh CHEP2000
CORBA Issues • Restrictive object model • pass data only • not Serializable • members are public • classes are final • Under specified • OMG politics? • Name Service is single point of failure • ORB supplier • bug reporting • Scaling problems Dominic Mimnagh CHEP2000
Nile with RMI • No code mappings needed • write interfaces in Java • implement Java interfaces • compile implementation to proxies classes • Improved Nile prototype (see E301) • no deadlocks • no scalability problems with 60 CPUs Dominic Mimnagh CHEP2000
RMI Issues • Less complex • only the essentials functions are provided • fewer lines of code • Java only (could use JNI to get to others) • rudimentary registry service • Real objects • data + code • One vendor • better integration • no alternatives • It does the job! Dominic Mimnagh CHEP2000
Future Work • Complete port to RMI • robust fault-tolerance,GUIs, etc... • CLEO III data processing and analysis • scheduling • data management • comprehensive security • Enhance Nile with RMI technologies • Jini Dominic Mimnagh CHEP2000
Jini • Lookup Service • Name Service • transparent replication • object database • Lease mechanism • Distributed events Dominic Mimnagh CHEP2000