1 / 15

Production Experience with CORBA in the BaBar Experiment

Production Experience with CORBA in the BaBar Experiment. Scott D. Metzler California Institute of Technology For the BaBar Computing Group. Introduction. BaBar computing planners embraced Object-Oriented design and the need for large numbers of Unix nodes from the outset.

gilberts
Télécharger la présentation

Production Experience with CORBA in the BaBar Experiment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Production Experience with CORBA in the BaBar Experiment Scott D. Metzler California Institute of Technology For the BaBar Computing Group CHEP 2000, Padova, IT Feb. 7-11

  2. Introduction • BaBar computing planners embraced Object-Oriented design and the need for large numbers of Unix nodes from the outset. • One unresolved issue was how to augment Unix system calls and TCP for use in the Online system. • CORBA was provisionally adopted in early 1998 for a small number of pilot projects. • Further use of CORBA followed later that year. CHEP 2000, Padova, IT Feb. 7-11

  3. BaBar’s Usage of CORBA • Primary Reasons for using CORBA: • Object-level interprocess communication (IPC) • Language interoperability (C++ and Java) • Extensibility (marshalling is internal to CORBA) • BaBar adopted the TAO version of CORBA that is freely available with the ACE Unix system wrappers. • Not all of BaBar’s CORBA projects use TAO. • Only those that do use TAO will be discussed here. CHEP 2000, Padova, IT Feb. 7-11

  4. Objectivity Browser • Background • 300 TB of physics events/year stored in Objectivity. • Requirements • Graphical tools needed to view information. • Tools needed to assist administrators in exporting databases to remote sites. • Reasons for CORBA: • Object-level IPC • Language interoperability • The C++ interface to Objectivity is much richer than the Java interface (C++ server). • A portable client was desired (Java client). CHEP 2000, Padova, IT Feb. 7-11

  5. Objectivity Browser GUI CHEP 2000, Padova, IT Feb. 7-11

  6. Distributed Histogramming • Background • Online Event Processing runs on 32 farm nodes. • Requirements • Monitor online data in real-time to quickly find problems. • Provide access to data for GUIs and automatic monitoring. • Reasons for CORBA: • Object-level IPC • Extensibility • Language interoperability CHEP 2000, Padova, IT Feb. 7-11

  7. JAS Display of BaBar EMC OnlineData An adaptor converts the Distributed Histogrammer’s CORBA protocol to JAS. CHEP 2000, Padova, IT Feb. 7-11

  8. Ambient Data Handling • Background • Detector Controls monitors and archives detector and environmental information. • Requirements • Access to real-time data. • Access to archived data. • Reasons for CORBA: • Object-level IPC • Language interoperability • Reuse of Distributed Histogramming IDL means the same GUI can be reused without changes. CHEP 2000, Padova, IT Feb. 7-11

  9. Ambient Data Handling GUI CHEP 2000, Padova, IT Feb. 7-11

  10. Online Prompt Reconstruction • Background • Event Logger works with both Level 3 and OPR. • OPR reconstructs events within a couple hours of data-taking. • Requirements • System configuration of Event Logger for L3 and OPR modes. • Monitor data and system. • Reasons for CORBA: • Object-level IPC (Configuration and control). • Language interoperability (Java display of monitoring data). CHEP 2000, Padova, IT Feb. 7-11

  11. Performance and Reliability • CORBA is slower than TCP (as of 1/98) • Factor of 10 for small data transfers. • Factor of 2 for large data transfers. • Rate is unnoticeable for our GUI applications. • ACE/TAO are very reliable. CHEP 2000, Padova, IT Feb. 7-11

  12. Operational Issues and Lessons Learned • It is quick and easy to learn “Elementary” CORBA. • Experienced programmers can be effective in less than a week. • CORBA is very rich. Learning how to use most of the available services would take a significant amount of time. • Name service has been very useful for connecting processes. CHEP 2000, Padova, IT Feb. 7-11

  13. IDL • Useful abstraction technique. • Provides separation of client development (GUI in Java) from server development (server in C++). • Provides reuse (Ambient Data Handler reuses Distributed Histogramming IDL and GUI). • (Multiple) Inheritance of IDL can be a powerful design technique. • Avoids painful debugging and migrations in writing (de-)serialization code. CHEP 2000, Padova, IT Feb. 7-11

  14. Multi-threading • Useful for performance in many of our applications. • Most applications send the same command to many (32-200) servers. • We haven’t thoroughly pursued multi-threading yet. • Early versions of TAO did not support multithreading. • We have not yet returned to this issue, but we want to. CHEP 2000, Padova, IT Feb. 7-11

  15. Conclusions • CORBA is useful for IPC • Slow, but acceptable for our GUI applications. • Speed compensated by ease of use. • Easy to learn and use “Elementary” CORBA. • Easier and more tolerant than using TCP directly. • Many services we have not explored. • We recommend CORBA for applications that can afford to sacrifice better performance for ease of development. CHEP 2000, Padova, IT Feb. 7-11

More Related