Presentation is loading. Please wait.

Presentation is loading. Please wait.

CORBA Technologies and Beyond

Similar presentations


Presentation on theme: "CORBA Technologies and Beyond"— Presentation transcript:

1 CORBA Technologies and Beyond
Nanbor Wang Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge, TN, June 8, 2005

2 Outlines Overview of CORBA Applications Domain-Specific Services
CORBA Object Model Interface Definition Language Portable Object Adapter Common Object Services Domain-specific QoS concerns CORBA application domains CORBA-NG – CORBA Component Model (CCM) New paradigm for application development Component Implementations Definition Language Application assembling, packaging, deployment and configuration CCM application domains Beyond CORBA Scientific computation Distributed and Parallel High-Performance Computing Synergy with Common Component Architecture Hardware Domain-Specific Services Common Middleware Services Distribution Middleware Host Infrastructure Operating Systems & Protocols Applications

3 Driving Force of CORBA RTP DNS HTTP UDP TCP IP TELNET Ethernet ATM FDDI Fibre Channel FTP INTERNETWORKING ARCH TFTP Win2K Linux LynxOS Solaris VxWorks Middleware Services Applications MIDDLEWARE ARCH Traditional programming paradigm for distributed applications Socket, RPC Developers implement all aspects of applications Distributed middleware abstracts away many aspects of using remote and local objects Provide a foundation for higher-level services CORBA is an OMG specification, there are many implementations

4 CORBA Object Model Location transparency, language interoperability
Parameter marshaling/demarshaling Connection management Object activation Making client simple

5 Interface Definition Language
Separate interface and implementation External view of objects (as interfaces) Interface Echo { string echo_string (in string message); }; Well-documented standard types Interface, module, sequence, array, struct, enum, valuetype, etc. IDL compiler generates object proxies and server skeletons Mappings for “common” languages C, C++, Java, Ada, Perl/Python, etc. Memory management rules

6 Portable Object Adapter
Demultiplex incoming invocations Act as a policy management domain Standardize server configuration interfaces Enable portable object implementations (servants) Object activation strategies Object reference lifecycle Sharing an object implementation among multiple instances

7 Common Object Services
Services common for building applications of various domains Naming Service – white page directory service Trading Service – yellow page directory service Messaging Service – asynchronous method invocation standard Event/Notification Service – Flexible publisher/subscriber-based broadcasting mechanisms Security Service – secure communication and access authorization, firewall traversal specification Transaction Service – atomic execution of a series of operations A/V Streaming Service – Managing A/V data streams GPS IFF FLIR HUD Nav WTS Air Frame Publishers Subscribers push(event) Event Channel

8 Domain-Specific QoS Real-time CORBA Fault-tolerant CORBA
Static and dynamic scheduling Custom transport protocol Fault-tolerant CORBA Fault detection, fail-over and recovery through redundancy Load-Balancing CORBA Load sharing using multiple object instances Minimum CORBA Small footprint applications Portable interceptor standard Injecting non-functional behaviors Local interface

9 CORBA Application Domains
Joint Forces Global Info Grid Enterprise/civil applications Financial apps Real-time stock trading Workflow planning Embedded controllers Air-traffic control Military applications Network-centric warfare/operation Logistic planning 3C (Communication, command and control) On-board computers

10 CORBA Application Domains (cont.)
Scientific community Accelerator control and data acquisition NASA space projects Medical Imaging Modalities e.g., MRI, CT, CR, Ultrasound, etc.

11 Real-time Avionic Applications
Challenges Real-time periodic processing Complex dependencies Very low latency

12 Global PCS Applications
Challenges Long latency satellite links High-reliability Prioritization

13 Software Design Abstractions for Large-scale Distributed Applications
Problem Distributed app & middleware functionality is subject to change since it’s often reused in unforeseen contexts, e.g., Accessed from different clients Run on different platforms Configured into different run-time contexts MIDDLEWARE Solution Don‘t structure distributed applications & middleware as a monolithic spagetti Instead, decompose them into modular classes, frameworks, & components

14 New Paradigm for Application Development
CORBA 2.x defines interfaces & policies, but not implementations Separation of apps development concerns Component Server Component Implementation Framework Deployment and Configuration Composing rather than programming applications Container COMPONENT EXECUTORS Component Home POA Transaction Security Notification Persistent Callback Interfaces I n t e r a l f c s E v S i k F R p o u Reference C m x COMPONENT SERVER 1 COMPONENT SERVER 2 ORB

15 CORBA Component Ports A CORBA component can contain ports:
Facets (provides) Offers operation interfaces Receptacles (uses) Required operation interfaces Event sources (publishes & emits) Produced events Event sinks (consumes) Consumed events Attributes (attribute) Configurable properties Each component instance is created & managed by a unique component home “Receives From” “Sends To”

16 Component Implementation Definition Language (CIDL)
Automate certain server implementations Introspection Collaboration with container Object lifecycle management Connection management Configuration mechanisms Component

17 Assembling and Packaging
Assembling tools Describe how to interconnect components into applications Component packaging tools Compose implementation & configuration information into deployable assemblies

18 Deployment and Configuration
Component deployment tools Automate the deployment of component assemblies to component servers Reconcile application needs with deployment target

19 CCM Application Domains
Component Server Rate Generator Avionics example used throughout tutorial as typical DRE application Positioning Sensor Display Device $CIAO_ROOT/examples/OEP/Display/ Civil applications Logistic management ATC Military applications DARPA ARMS projects On-board computer Scientific applications ?

20 Beyond CORBA CCM enables application modeling using higher-level abstractions (GUI modeling) Scientific computational needs Support for FORTRAN Performance for tightly-coupled, collocated modules Support for MPI and parallel execution of modules Common Component Architecture addresses many of these insufficiencies Combined distributed and parallel paradigms

21 Motivations for Mixing Distributed Tech. and Parallelism
Provide higher abstractions for HPC infrastructure Motivating example scenarios: Provide a different paradigm for partitioning problems – multi-physics simulations Combine computing resources of multiple clusters/computing centers Provide better utilization of high-CPU number hardware Enable parallel data streaming between computing task and post-processing task

22 Remoting CCA Components
Support distributed computation by composing remote-capable components into an applications efficiently Hide the distributed aspect from the localized CCA framework Provide low-cost mechanisms for connecting uncompatible CCA infrastructures, e.g., Ccafeine, Dune, Ccain, and SciRUN

23 Deploying and Assembling DPHPC Applications
Local-CCA component centric view: Local applications Employ a distributed “builder service” for registering/requesting distributed ports Distributed component centric view: Two-tier deployment – remote components and their implementations Grid view: Making distributed components as grid services

24 Relevant Projects Fusion Data Grid Project:
Efficient access of local and remote fusion data in different formats (HDF5 and MDS+) via a unified interface Binding for C/C++ and various viz/data analysis tools (IDL) Fusion Simulation Markup Language Metadata for annotating fusion simulation data Semantic-based data access interface for structured and unstructured data Binding for various viz/data analysis tools (AVS and IDL) Data interpolation

25 Concluding Remarks CORBA is a mature technology for distributed application development CCM offers a higher-abstraction for large-scale distributed application development CORBA and friends do not sufficiently address HPC parallel application needs (many CCA implementations do) Looking forward: Providing distributed and parallel high-performance computing environment allows integrating existing codes using higher abstractions Combining CORBA and CCA takes advantage of well-established technologies Hardware Domain-Specific Services Common Middleware Services Distribution Middleware Host Infrastructure Operating Systems & Protocols Applications

26 Questions


Download ppt "CORBA Technologies and Beyond"

Similar presentations


Ads by Google