Papers by Author | in ( Plenary | Parallel | Poster | Summary ) Sessions

Data Analysis in an Object Request Broker Environment

 
    David M. Malon and Edward N. May 
        Argonne National Laboratory 

    Christopher T. Day and David R. Quarrie 
      Lawrence Berkeley Laboratory

            Robert Grossman
    University of Illinois at Chicago

 Petabyte Access and Storage Solutions Project (PASS)

  • Paper (Postscript)
  • Paper (PDF)

  • Slides
                    Abstract
    
    Computing for the Next Millenium will require software interoperability in heterogeneous, increasingly object-oriented environments. The Common Object Request Broker Architecture (CORBA) is a software industry effort, under the aegis of the Object Management Group, to standardize mechanisms for software interaction among disparate applications written in a variety of languages and running on a variety of distributed platforms. In this paper, we describe some of the design and performance implications for software that must function in such a brokered environment in a standards-compliant way. We illustrate these implications with a physics data analysis example as a case study.

    The promise of brokered-request object architectures is alluring_my software will talk to your software, even if I know neither in what language your software is written, nor where it runs. The idea is this: no matter what language you use to implement your software, you describe its interface in a single, application-language-neutral Interface Definition Language (IDL), and place an interface description in a repository. You then register your implementation so that it can be found by system utilities.

    When I wish to invoke your software, I use standard utilities to find its interface, and pass my request to an Object Request Broker (ORB). The ORB looks for a server capable of handling my request_its location may be transparent to me. The ORB may instantiate such a server if none is already running. The ORB then forwards my request to your software and returns any results, handling the language mapping at both ends.

    Services commonly required by many objects_lifecycle services, persistence services, query services, and others_are the subjects of standardization specifications as well. Is this environment appropriate for high-performance physics applications? If the physics community ignores these approaches, does it do so at its own peril? Among the questions that must be addressed are these:

  • Is the Interface Definition Language rich enough to capture the interfaces required by data-intensive physics applications?
  • Is the performance penalty of brokered interactions inherently too great?
  • Can we use an ORB simply to connect our applications, and then get it out of the way?
  • If the ORB does get out of the way, do we lose language-independence, and are we back to home-grown low-level interfaces?
  • What is the appropriate level of granularity for brokered interactions?
  • The potential location transparency provided by an ORB is appealing, but will performance considerations require that I provide a "smart proxy" to run on your machine when you invoke software on my machine, in order to sustain brokered interactions at a reasonable cost?
  • If so, is proxy support a nightmare for providers of general-use software, or can proxy generation be standardized or automated?
  • What are the implications of proposed persistence services specifications in this environment?

    We explore these and other issues in a case study, in which we use commercially available request brokers in an examination of a variety of potential implementations of a statistical computation on physics data extracted from a persistent data store.


    Submitter's Name:              David M. Malon
    Submitter's Institution:       Argonne National Laboratory
    Address of Institution:        9700 South Cass Avenue, Building 900
                                   Argonne, IL 60439 USA
    Submitter's EMAIL address:     malon@anl.gov
    Submitter's telephone number: 708-252-5174
    Fax number:                 708-252-5128