CORBA/RMI issues in Nile 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) CHEP 2000
2/10/00Dominic Mimnagh CHEP20002 Overview What is Nile? Distributed Object Architecture –CORBA –RMI Future work
2/10/00Dominic Mimnagh CHEP20003 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
2/10/00Dominic Mimnagh CHEP20004 Nile Architecture
2/10/00Dominic Mimnagh CHEP20005 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
2/10/00Dominic Mimnagh CHEP20006 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
2/10/00Dominic Mimnagh CHEP20007 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
2/10/00Dominic Mimnagh CHEP20008 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 CORBA Issues
2/10/00Dominic Mimnagh CHEP20009 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
2/10/00Dominic Mimnagh CHEP 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!
2/10/00Dominic Mimnagh CHEP 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
2/10/00Dominic Mimnagh CHEP Jini Lookup Service –Name Service –transparent replication –object database Lease mechanism Distributed events