CORBA Technologies and Beyond Nanbor Wang [email protected] Tech-X Corporation Boulder, CO ORNL-IU...

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

Transcript of CORBA Technologies and Beyond Nanbor Wang [email protected] Tech-X Corporation Boulder, CO ORNL-IU...

Page 1: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA Technologies and Beyond

Nanbor [email protected] Corporation

Boulder, CO

ORNL-IU Workshop on Computational Framework in Fusion,

Oak Ridge, TN, June 8, 2005

Page 2: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Outlines• Overview of CORBA

– 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-SpecificServices

CommonMiddleware Services

DistributionMiddleware

Host InfrastructureMiddleware

Operating Systems & Protocols

Applications

Page 3: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Driving Force of CORBA

• 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

RTP

DNS

HTTP

UDP TCP

IP

TELNET

Ethernet ATM FDDI

Fibre Channel

FTP

INTERNETWORKING ARCH

TFTP

Win2K Linux LynxOS

Solaris VxWorks

Middleware

MiddlewareServices

MiddlewareApplications

MIDDLEWARE ARCH

Page 4: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

CORBA Object Model

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

Page 5: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

StubFiles

ImplFiles

Generated Hand-Written

SkeletonFiles

Generates Inherits

Server

IDL Compiler

IDL File

Page 6: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

Page 7: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

WTSAir

Frame

Publishers

Subscribers

push(event)

push(event)

Event Channel

Page 8: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Domain-Specific QoS• Real-time 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

Page 9: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

CORBA Application Domains

• Enterprise/civil applications– Financial apps– Real-time stock trading– Workflow planning– Embedded controllers– Air-traffic control

Joint ForcesGlobal Info Grid

Joint ForcesGlobal Info Grid

• Military applications– Network-centric warfare/operation– Logistic planning– 3C (Communication, command and

control)– On-board computers

Page 10: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

CORBA Application Domains(cont.)• Scientific

community– Accelerator

control and data acquisition

– NASA space projects

– Medical Imaging

Modalitiese.g., MRI, CT, CR,

Ultrasound, etc.

Modalitiese.g., MRI, CT, CR,

Ultrasound, etc.

Page 11: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Real-time Avionic Applications

• Challenges– Real-time periodic

processing– Complex dependencies– Very low latency

Page 12: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Global PCS Applications

• Challenges– Long latency satellite

links– High-reliability– Prioritization

Page 13: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

Solution•Don‘t structure distributed applications & middleware as a monolithic spagetti

• Instead, decompose them into modular classes, frameworks, & components

Page 14: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

New Paradigm for Application Development

• Separation of apps development concerns– Component Server– Component

Implementation Framework

– Deployment and Configuration

• Composing rather than programming applications

Container

COMPONENTEXECUTORS

ComponentHome

POA

Transaction

Security Notification

Persistent

CallbackInterfaces

Int e

rna

lIn

terf

ace

s

Eve

nt

Sinks

Fa

cet s

Rec

ep

tacl

esE

ven

tS

ou

rce

s

ComponentReference

Co

mpo

nen

t C

ont e

xt

Container

COMPONENTEXECUTORS

ComponentHome

POA

CallbackInterfaces

Int e

rna

lIn

t erf

ace

s

Eve

nt

Sin

ksF

ace

t s

Re

cep

tacl

es

Eve

nt

So

urc

es

ComponentReference

Co

mpo

nen

t C

on

t ext

COMPONENT SERVER 1 COMPONENT SERVER 2

ORB

CORBA 2.x defines interfaces & policies, but not implementations

Page 15: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

• 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

CORBA Component Ports

Attributes

Event

Sinks

Facets

Rec

epta

cles

Eve

ntS

ourc

esComponentReference

ComponentHome

OfferedP

orts

Req

uire

dP

orts

“Re

ceives

Fro

m” “S

end

s T

o”

Page 16: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Component Implementation Definition Language (CIDL)

• Automate certain server implementations– Introspection– Collaboration with container– Object lifecycle

management– Connection management– Configuration mechanisms– Component

Stub

Impl

Skel

IDL Compiler

IDL

CIDL

CIDL Compiler

Executor IDL

Servants

Executors

IDL Compiler

XMLComponentDescriptors

Page 17: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Assembling and Packaging

AssemblyMeta-Model

Component Assembler

ComponentDevelopment

ComponentDeployment

AssemblyConstraints

ComponentPackager

PackageMeta-Model

Component

ResourceRequirements

Impl Impl Impl

PropertiesComponent Assembly

ComponentComponent

ComponentComponent

PackageConstraints

Component Package

Component Assembly Component Assembly

• Assembling tools

– Describe how to interconnect components into applications

• Component packaging tools

– Compose implementation & configuration information into deployable assemblies

Page 18: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Deployment and Configuration

• Component deployment tools

– Automate the deployment of component assemblies to component servers

– Reconcile application needs with deployment target

COMPONENT REPOSITORY

Getconfiguredpackage

Deploymentplan

Creates

Get resource

Domain Administrator

Planner

Node

Node Node

Bridge

Domain

Node

Node Node

Bridge

Creates

Deploys

Executor

Page 19: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

CCM Application Domains

• Civil applications– Logistic

management– ATC

• Military applications– DARPA ARMS

projects– On-board computer

• Scientific applications– ?

NavDisplayRefresh

GPSLocation

RateGenPulse

Rate

GPS

MyLocation

Refresh Ready

Component Server

Rate Generator

Avionics example used throughout tutorial as

typical DRE application

PositioningSensor

DisplayDevice

$CIAO_ROOT/examples/OEP/Display/

Page 20: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

Page 21: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

Page 22: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

Component BComponent A

Conceptual Component A

Remoting ComponentA

Remoting Component B

Distributed Middleware Bus

Component A Component B

Page 23: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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

Page 24: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Relevant Projects

• Fusion Data Grid Project:– Efficient access of local and remote fusion data in different

formats (HDF5 and MDS+) via a unified interface– http://grid.txcorp.com/confluence/display/fusionGrid/Fusion%2

BData%2BHome– 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

Page 25: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

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-SpecificServices

CommonMiddleware Services

DistributionMiddleware

Host InfrastructureMiddleware

Operating Systems & Protocols

Applications

Page 26: CORBA Technologies and Beyond Nanbor Wang nanbor@txcorp.com Tech-X Corporation Boulder, CO ORNL-IU Workshop on Computational Framework in Fusion, Oak Ridge,

CORBA and Beyond

Nanbor Wang

Questions