Babel RMI using CORBA - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Babel RMI using CORBA

Description:

Provide another high-level abstraction for HPC infrastructure ... Benchmarking r-array and SIDL array access time ... Develop example DPHPC applications ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 14
Provided by: ccaf
Learn more at: http://www.cca-forum.org
Category:

less

Transcript and Presenter's Notes

Title: Babel RMI using CORBA


1
Babel RMI using CORBA
  • Nanbor Wang and Rooparoni Pundaleeka
    nanbor,roopa_at_txcorp.comTech-X
    CorporationBoulder, CO

CCA Meeting, Jan 25, 2007
Funded by DOE OASCR SBIR Grant DE-FG02-04ER84099
2
DistComp Mixing Distributed Technologies and
Parallelism
  • Provide another high-level abstraction for HPC
    infrastructure
  • A new dimension for partitioning application
    compositions
  • Goal explore the challenges of developing DPHPC
    applications
  • Existing CCA implementations are beginning to
    support both models
  • Demo on integration done before but not part of
    distributions

3
Remoting CCA Components
  • Connect distributed parallel computations by
    composing remote-capable proxy components into
    applications
  • Hide the distributed aspect from the localized
    parallel CCA framework
  • Provide low-cost mechanisms for connecting
    incompatible CCA infrastructures, e.g., Ccafeine,
    Dune, Ccain, and SciRUN

4
Babel RMI Support
  • Babel now generates mapping for remote
    invocations
  • Allow users to take advantage of different
    remoting technologies through 3rd-party RMI
    Libraries
  • We are developing a Babel RMI library
    implementation for CORBA support
  • Main developer Rooparoni Pundaleeka
  • Summer interns Akshay Dabholkar and Jaiganesh
    Balasubramanian
  • And me

5
TaoIIOP Design
  • Goal
  • Support interoperability with existing CORBA
    objects
  • Performance
  • Possible approaches
  • Encapsulating Babel communication with CORBA Any
    objects
  • Mapping Babel communication to CORBA protocols
    directly
  • Direct mapping best suits our goal but it
    requires support of certain Babel types
  • Still exchange messages in CORBA format
  • Allow development of new SIDL-compatible CORBA
    objects
  • There exists no direct mapping for SIDL to CORBA
    anyway remoting components can provide
    adaptability for such services
  • Based on TAO ORB version 1.5.1 or later
  • All special mappings defined under namespace
    taoiiop_rmi

6
Special Mappings Complex
  • CORBA structs for fcomplex and dcomplex
  • struct fcomplex float realfloat imaginary
  • Struct dcomplex double realdouble
    imaginary

7
Special Mappings Arrays
  • CORBA struct for describing layout of
    multi-dimentional arrays
  • typedef sequence ltshortgt ArrayDimsenum Types
    A_BOOL, A_CHAR, A_INT, A_LONG, A_OPAQUE,
    A_FLOAT, A_DOUBLE, A_FCOMPLEX, A_DCOMPLEX,
    A_STRING, A_SERIALIZABLEstruct Array_Info
    string key short ordering short
    ndims ArrayDims dims boolean
    reuse_array Types type
  • Payloads are flattened into unbounded CORBA
    sequences
  • No need to use Array_Info for 1-D arrays
  • Need to support user-defined structs in the future

8
Server Configurations
  • Objects are managed under a Portable Object
    Adapter (POA)
  • POAs can be arranged hierarchically
  • Each ORB has a RootPOA object
  • Our design interoperates with Babels URL parsing
    scheme
  • A single child POA handles all Babel
    communications using the default servant policy
  • A TaoObject implements the default servant
  • Handles local and remote object creation requests
  • Manages Babel object instances
  • De-multiplexes incoming Babel invocations to
    proper instances
  • Other CORBA servants can still co-exist on other
    POAs

9
Client-side Operation Invocations
  • Common Data Representation (CDR) a binary
    serialization format
  • An Operation_Details object encapsulates all
    information related to invocations in TAO
    outgoing CDR and incoming CDR strings
  • TaoIIOPvocation class support both Invocation and
    Response interfaces to share the operation
    details object
  • Need to extend Operation_Details to expose
    internal CDR data members
  • Need to de-optimize TAO argument handling
  • No longer requies full argument lists

10
Server-side Request Handling
  • CDR handling is similar to the client-side
  • Need to extend TAOs ServerRequest class to
    expose internal data members
  • A default servant handles all babel invocations
  • The default servant is always installed under a
    specific chile POA
  • Requests are demultiplexed to babel objects based
    on the instance ID
  • Perhaps we want to manage Babel objects in a
    hierarchical manner to enhance performance?
  • Currently does not support system assigned
    instance IDs (requires explicit registration to
    the ORB)

11
Client-side initialization
  • Need to register TaoIIOP Protocol Factory
  • sidlrmiProtocolFactory (taoiiophandle,
    taoiiop.rmi.TaoIIOPHandle)
  • Create/connect to remote objects
  • URL in the form of taoiiop//serverport/objid
  • TaoIIOP convert it to CORBA URLs automatically

12
Current Status
  • Support
  • Both client and server side
  • Interoperability with regular CORBA server
  • Most primitive types, complexes, strings, and
    arrays of them
  • Things to do
  • Exception support
  • Opaque and serializable support
  • Non-blocking and oneway supports CORBA supports
    it
  • Remotable object incarnation strategies
  • Regression tests?
  • We will package TaoIIOP and make it available on
    the web soon
  • Email (nanbor_at_txcorp.com) if you would like to
    try it out

13
Future Works in Distcomp
  • Planned tasks
  • Benchmarking r-array and SIDL array access time
  • Support user-defined data struct for FORTRAN 2003
  • Distributed-component generator tools
  • Examine and review different composition
    strategies for DPHPC applications
  • Develop example DPHPC applications
Write a Comment
User Comments (0)
About PowerShow.com