MICO Architecture - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

MICO Architecture

Description:

MICO = Mini CORBA (inspired by Minix) MICO = MICO Is CORBA (inspired by GNU) ... Pentium II 400MHz, Intel 440BX chipset, Gigabit Ethernet. Network: 125 Mbyte/s ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 31
Provided by: distri54
Category:

less

Transcript and Presenter's Notes

Title: MICO Architecture


1
MICOArchitecture Applications
2
Talk Overview
  • Past, present, and future
  • Development and use
  • Book projects, Workshops
  • CORBA Branding
  • Architecture
  • Micro-kernel based approach
  • Application
  • Zero-Copy CORBA for high bandwidth applications
    in clusters of PCs

Overview
3
MICO Overview
  • MICO Mini CORBA (inspired by Minix)
  • MICO MICO Is CORBA (inspired by GNU)
  • Open Source CORBA implementation
  • 1996 kick off as research/teaching project
  • 1997 first public version
  • 1998 binary distribution
  • 1999 branded by OpenGroup
  • 2000 text book
  • 2001 2nd MICO Workshop
  • Currently working towards CORBA 3 (e.g.,
    component model), security (MICOSec)

MICO Past, Present, Future
4
MICO Devel Use
  • Distributed development
  • CVS repository, write access by 5 maintainers
  • Mailing lists with 1500 subscribers
  • Major code contributions from 20 programmers
    world wide
  • Industrial applications
  • E.g., The Weather Channel, Lufthansa Systems
  • Teaching
  • E.g., Lectures and Courses at ETH Zurich, U
    Frankfurt, TU Darmstadt, U Stuttgart, San
    Francisco State University
  • Research
  • E.g., Zero-Copy CORBA, QoS support for CORBA

MICO Past, Present, Future
5
MICO Books
  • Foundation for lectures and CORBA courses
  • 1998 binary distribution _at_ MKP
  • Binaries for Windows and several Unix platforms,
    tutorial, documentation
  • 2000 text book in German _at_ dpunkt
  • Dual (user and system) view on CORBA middleware
  • 2003 merger of text book and distribution _at_ MKP
    (planned)

MICO Past, Present, Future
6
MICO Workshops
  • Forum for MICO users and developers
  • 1 day, invited talks
  • 50-100 participants
  • 1998 1st Intl. Workshop _at_ Darmstadt
  • 2001 2nd Intl. Workshop _at_ Stanford
  • 2003 3rd Intl. Workshop _at_ San Francisco (planned)

MICO Past, Present, Future
7
CORBA Branding
  • 1999 MICO branded as CORBA 2.1 compliant by
    OpenGroup
  • Test suite developed by ApTest (Ireland)
  • Rather buggy, MICO as a test case

MICO Past, Present, Future
interoperability
Appl
Appl
portability
ORB
ORB
8
CORBA Branding cont.
  • Tests
  • Local function syntax (interface)
  • Local function semantics (implementations)
  • IDL Compiler (c language mapping)
  • Interface Repository
  • IIOP
  • Open issues
  • Test services?
  • Coverage?
  • Any better than simple empirical test?
  • Ongoing (?) work at OMG and GMD Fokus to improve
    branding and develop Open Source test suite

9
Talk Overview
  • Past, present, and future
  • Development and use
  • Book projects, Workshops
  • CORBA Branding
  • Architecture
  • Micro-kernel based approach
  • Application
  • Zero-Copy CORBA for high bandwidth applications
    in clusters of PCs

Overview
10
Architecture
  • Initial goal provide middleware platform for
    middleware research and teaching
  • Similar to Minix (Mini Unix) in the operating
    system domain
  • Requirement easy to understand, modify, and
    extend
  • Clear, modular structure
  • Simple, well understood interfaces
  • Keep it simple
  • Do not rely on complex tools

MICO Architecture
11
Architecture cont.
  • Turns out that requirements help keep up with
    evolution of CORBA
  • New CORBA application domains
  • Embedded systems
  • Nomadic systems
  • ...
  • Evolving CORBA standard
  • New object adapters (e.g., POA)
  • New interoperability protocols (e.g., SOAP)

MICO Architecture
12
Micro Kernel Approach
  • Minimize ORBfunctionality
  • Move functionality to
  • Servers (separateprocess)
  • Runtime libraries(same process)
  • Extensibility adding, removing, exchanging
    servers and libraries without touching ?ORB

Micro Kernel Approach
13
?ORB Functionality
  • Local request processing
  • Select appropriate object adapter
  • Keep track of pending invocations
  • Task scheduling
  • Coordinate concurrent ?ORB tasks

?ORB Functionality
14
?ORB Request Processing
Request Processing
  • 1. Invocation adapter interface
  • 2. Active invocation table
  • 3. Object adapter registry
  • 4. Object adapter interface

15
Colocated Client Server
Request Processing
  • DII initiates method invocation
  • POA executes method on object implementation

16
Separated Client Server
Request Processing
  • IIOP Client transforms method invocation into
    network message
  • IIOP Server transforms message into method
    invocation

17
Server Activation
Request Processing
  • Mediator looks up or runs appropriate server and
    forwards method invocation

18
?ORB Task Scheduling
  • Tasks
  • Application can be caller and callee at the same
    time (distributed callbacks, nested method
    invocations)
  • Process incoming and outgoing messages on
    multiple communication channels
  • Requirements
  • Multithreading optional (e.g., Palm OS)

Task Scheduling
19
Event Based Scheduler
  • Split task into nonblocking segments
  • Blocking operation at start of each segment
  • E.g., wait for data from network, timeout, or
    condition (events)
  • Register segmentswith scheduler
  • Executes segmentwhen blockingoperation
    completes
  • Non-preemptive

Task Scheduling
20
Evaluation
  • CORBA suggests a modular design
  • Invocation interfaces
  • Skeleton interfaces
  • ORB core
  • Object adapters
  • Most implementations melt this modular design
    into a monolithic implementation
  • Changes in CORBA spec often require major ORB
    changes

Evaluation
21
Evaluation cont.
  • Often easy to adopt MICO to changes in the CORBA
    specification
  • Due to micro-kernel approach
  • Advent of the POA
  • BOA untouched
  • BOA and POA coexist, even in one application
  • New interoperability protocols (SOAP)
  • Easy to introduce new interop protocols, even
    non-GIOP-based ones

Evaluation
22
Talk Overview
  • Past, present, and future
  • Development and use
  • Book projects, Workshops
  • CORBA Branding
  • Architecture
  • Micro-kernel based approach
  • Application
  • Zero-Copy CORBA for high bandwidth applications
    in clusters of PCs

Overview
23
Zero-Copy CORBA
  • Clusters of Personal Computers (CoPs) equipped
    with Gigabit Ethernet
  • Best performance, lowest price
  • Many multimedia apps require fast bulk data
    transfer
  • Poor memory subsystem limits overall
    communication bandwidth
  • Data copies slow things down
  • Aim improve end-to-end performance of bulk data
    transfers
  • Christian Kurmanns PhD project at ETH Zurich

Zero-Copy CORBA
24
Performance Limits
  • Pentium II 400MHz, Intel 440BX chipset, Gigabit
    Ethernet
  • Network 125 Mbyte/s
  • 33 MHz PCI 126 Mbyte/s
  • Memory copy 92 Mbyte/s
  • Memory bandwidth lt network bandwidth
  • Linux-2.2 measurement 42 Mbyte/s
  • Therefore eliminate data copies at all layers

Zero-Copy CORBA
25
Data Copies
ORB
Zero-Copy CORBA
TCP/IP
NIC
26
NIC Driver / Network
  • Problem limited Ethernet packet size (MTU) of
    1500 bytes
  • Sender fragments data stream into sequence of
    small packets
  • Receiver has to reassemble stream
  • Requires data copies since MTUlt memory page size
    (4k)
  • Solution
  • Driver pretends MTU of 4k
  • (De)fragments page (3 packets)using fast DMA
    to/from NIC
  • Uses speculative techniques to defragment without
    copies makes the common case fast

Zero-Copy CORBA
27
TCP/IP
  • NIC driver handles whole memory pages
  • Page remapping instead of copying
  • TCP/IP headers are kept separate from payload
  • Scatter/gather lists (DMA descriptors)

Zero-Copy CORBA
4k
28
CORBA ORB
  • In heterogeneous CoPs no need to marshal data
    structures
  • Transmit memory image of large data structures
    with zero copies
  • Separate control from data transfer
  • References instead of embedded data in GIOP
    messages

Zero-Copy CORBA
29
MPEG Transcoder
  • Maximum bulk transfer rate 75 Mbyte/s (instead
    of 42 Mbyte/s)
  • Example app parallel transcoding of MPEG streams

Zero-Copy CORBA
30
Summary
  • Started off as research/teaching project
  • Book projects, Workshops
  • Developed into full-fledged CORBA implementation
  • With help from the Open Source community
  • Goal keep pace with CORBA standard
  • Micro-kernel based architecture
  • Application high bandwidth applications in
    clusters of PCs
  • www.mico.org

Summary
Write a Comment
User Comments (0)
About PowerShow.com