Real-Time CORBA. Chenyang Lu CSE 520S

Similar documents
Adaptive QoS Control for Real-Time Systems

Final Review. Chenyang Lu. CSE 467S Embedded Compu5ng Systems

Real-Time Scheduling Single Processor. Chenyang Lu

CS 5523: Operating Systems

Servilla: Service Provisioning in Wireless Sensor Networks. Chenyang Lu

CSE 520S Real-Time Systems

Cyber-Physical Systems Scheduling

CS 5523 Operating Systems: Intro to Distributed Systems

Cloud Tutorial: AWS IoT. TA for class CSE 521S, Fall, Jan/18/2018 Haoran Li

Processes. Criteria for Comparing Scheduling Algorithms

Critiques. Ø Critique #1

HPCG on Tianhe2. Yutong Lu 1,Chao Yang 2, Yunfei Du 1

TinyOS and nesc. Ø TinyOS: OS for wireless sensor networks. Ø nesc: programming language for TinyOS.

Philips Lifeline. Ø Chenyang Lu 1

Real- Time Wireless Control Networks for Cyber- Physical Systems

Internet of Things Wireless Sensor Networks. Chenyang Lu

Cadac SoundGrid I/O. User Guide

IceCube Project Monthly Report November 2007

Last Time. Bit banged SPI I2C LIN Ethernet. u Embedded networks. Ø Characteristics Ø Requirements Ø Simple embedded LANs

This Week on developerworks: Ruby, AIX, collaboration, BPM, Blogger API Episode date:

Real-Time Wireless Control Networks for Cyber-Physical Systems

Operating Systems. Chenyang Lu

Deliberation in Planning and Acting

A Micro-Benchmark Evaluation of Catamount and Cray Linux Environment (CLE) Performance

Downloaded from: justpaste.it/vlxf

4th International Industrial Supercomputing Workshop Supercomputing for industry and SMEs in the Netherlands

CS 5523: Operating Systems

DevOps Course Content

Coverage tools Eclipse Debugger Object-oriented Design Principles. Oct 26, 2016 Sprenkle - CSCI209 1

Lecture 8: Verification and Validation

This Addendum Number 1 to the above referenced IFB responds to a clarification question asked with the MST response.

Management Overview. Introduction

Key Considerations for Implementing Bodies and Oversight Actors

Amendment to the Infinite Campus END USER LICENSE AGREEMENT

Case Study. MegaMatcher Accelerator

Electronic Voting in Belgium Past, Today and Future

Case 5:16-cv Document 1 Filed 11/07/16 Page 1 of 7

Concurrent Programing: Why you should care, deeply. Don Porter Portions courtesy Emmett Witchel

IceCube Project Monthly Report November 2006

CCG practice agreement Terms governing the provision and receipt of GPSoC services and GP IT services

IceCube Project Monthly Report - September 2010

Strengthen Stewardship With Electronic Giving

Estonian National Electoral Committee. E-Voting System. General Overview

IBM Cognos Open Mic Cognos Analytics 11 Part nd June, IBM Corporation

SIC Centralized Information System

Unrestricted Siemens AG 2017

Members action as necessary on closed session items. 12 Future agenda items Members 13 Next meeting date Members 14 Adjourn Members

FairCom Press Release Archive:

The Parties to the contract are komro GmbH (hereinafter referred to as komro ), Am Innreit 2, Rosenheim, and the respective User.

ROI CASE STUDY MARKLOGIC CQ ROLL CALL

Learning Systems. Research at the Intersection of Machine Learning & Data Systems. Joseph E. Gonzalez

Dependability in Distributed Systems

Key Considerations for Oversight Actors

LPGPU. Low- Power Parallel Compu1ng on GPUs. Ben Juurlink. Technische Universität Berlin. EPoPPEA workshop

Case 1:17-cv Document 1 Filed 12/11/17 Page 1 of 17 IN THE UNITED STATES DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS AUSTIN DIVISION

Awodele, 0.,1 Ajayi, 0.B.,2 and Ajayi, LA. 3

WOWTV SUBSCRIBER TERMS & CONDITIONS

Annex 1: Standard Contractual Clauses (processors)

h. Proposals shall include sufficient technical data to describe all changes from existing contract requirements.

License Agreement Invenso

(Non-legislative acts) DECISIONS

JD Edwards EnterpriseOne Applications

SMS based Voting System

ETSI TS V2.2.1 ( )

Addressing the Challenges of e-voting Through Crypto Design

Commission on Trial Court Performance and Accountability Court Statistics and Workload Committee

Design and Analysis of College s CPC-Building. System Based on.net Platform

CS 2461: Computer Architecture I

M-Vote (Online Voting System)

HISTORY GEOSHARE, DRINET, U2U

Training Calendar ALPHA PARTNERS

Performance & Energy

NVM EXPRESS, INC. INTELLECTUAL PROPERTY POLICY. Approved as of _November 21_, 2015 ( Effective Date ) by the Board of Directors of NVM Express

General Conditions of Purchase of BASF SE and its Affiliated Companies. Companies Located in Germany for Standard Software

Scytl. Enhancing Governance through ICT solutions World Bank, Washington, DC - September 2011

CS 5523 Operating Systems: Synchronization in Distributed Systems

SPECTRUM SHARING AGREEMENT

PRIVACY STATEMENT - TERMS & CONDITIONS. For users of Princh printing, copying and scanning services PRIVACY STATEMENT

Training Calendar ALPHA PARTNERS

COMMISSION DECISION. of

Exhibit No. 373A-06 to IBM Vendor Access Agreement Page 1 of 5

The Spanish eid document.... Both a national identification and a compliant travel one

PERSONAL DATA PROCESSING AGREEMENT

The optical memory card is a Write Once media, a written area cannot be overwritten. Information stored on an optical memory card is non-volatile.

Exploring QR Factorization on GPU for Quantum Monte Carlo Simulation

Creating and Managing Clauses. Selectica, Inc. Selectica Contract Performance Management System

UNITED STATES DISTRICT COURT

Vacancy for a post of ICT Security Assistant (Temporary Agent, AST 4) in the European Asylum Support Office (EASO) REF.

Remote Support Terms of Service Agreement Version 1.0 / Revised March 29, 2013

Certified Translation from German. Licence Agreement. 1. Subject-matter of the Agreement

CHAPTER 2 LITERATURE REVIEW

Test Specification Protocol Implementation Conformance Statement (PICS) proforma for IRAP interfaces

Department of Industrial Engineering: Research Groups

General Framework of Electronic Voting and Implementation thereof at National Elections in Estonia

File Systems: Fundamentals

One View Watchlists Implementation Guide Release 9.2

Product Description

IEEE COMMUNICATIONS SOCIETY CONSTITUTION (IEEE Approval: July 2015) (ComSoc Membership Approval: October 2015)

CSCI 325: Distributed Systems. Objec?ves. Professor Sprenkle. Course overview Overview of distributed systems Introduc?on to reading research papers

IceCube Project Monthly Report - December 2008

Transcription:

Real-Time CORBA Chenyang Lu CSE 520S

CORBA Common Object Request Broker Architecture Ø CORBA specifications q OMG is the standards body q Over 800 companies q CORBA defines interfaces, not implementations Ø Object Request Brokers (ORB) allow clients to invoke operations on distributed objects transparently of q object location q programming language q operating system q communication protocols and interconnect q hardware 2

CORBA Architecture Ø CORBA: Common Object Request Broker Architecture Ø Remote Procedure Call (RPC): Client invokes operations on objects. Ø An Object = q An interface specified by an Interface Definition Language (IDL) q Servant(s) that implements the IDL interface 3

The ACE ORB (TAO) Open-source Real-Time CORBA >> 1M SLOC 100+ person years of effort Pioneered R&D on DRE middleware design & optimization Source: D.C. Schmidt, http://www.cs.wustl.edu/~schmidt/tutorials-corba.html 4

Applica=on Example: Avionics Apply COTS & open systems to mission-critical real-time avionics Deterministic & statistical deadlines ~20 Hz Low latency & jitter ~250 us Periodic & aperiodic processing Complex dependencies Continuous platform upgrades Test flown at China Lake NAWS by Boeing OSAT II '98 www.cs.wustl.edu/~schmidt/tao-boeing.html Also used on SOFIA project by Raytheon sofia.arc.nasa.gov First use of Real-time CORBA in avionics Drove Real-time CORBA standardization 5

Applica=on Example: Hot Rolling Mills Goals: Control the processing of molten steel moving through a hot rolling mill in real-time System Characteristics Hard real-time process automation requirements i.e., 250 ms real-time cycles System acquires values representing plant s current state, tracks material flow, calculates new settings for the rolls & devices, & submits new settings back to plant Key Software Solution Characteristics Affordable, flexible, & COTS Product-line architecture Design guided by patterns & frameworks www.siroll.de Windows NT/2000 Real-time CORBA 6

Applica=on Example: Image Processing www.krones.com Goals: Examine glass bottles for defects in real-time System Characteristics Process 20 bottles/sec ~50 ms per bottle Networked configuration ~10 cameras Key Software Solution Characteristics Affordable, flexible, & COTS Embedded Linux Compact PCI bus + Celeron processors Remote booted by DHCP/TFTP Real-time CORBA 7

RPC in CORBA Ø CORBA: Common Object Request Broker Architecture Ø Remote Procedure Call (RPC): Client invokes operations on objects. Ø An Object = q An interface specified by an Interface Definition Language (IDL) q Servant(s) that implements the IDL interface 8

Limita=ons of CORBA Ø Lacks QoS specification interfaces to applications q Applications cannot specify rate, deadline or importance Ø Lacks QoS enforcement q Does not map task QoS specification to priorities of threads q Contains significant priority inversion Ø Lacks performance optimization q Poor worst-case and average latency 9

Latencies and Priority Inversions 10

The ACE ORB (TAO) Open-source Real-Time CORBA >> 1M SLOC 100+ person years of effort Pioneered R&D on DRE middleware design & optimization Source: D.C. Schmidt, http://www.cs.wustl.edu/~schmidt/tutorials-corba.html 11

TAO Overview DII Client IDL STUBS OBJ REF in args operation() out args + return ORB INTERFACE Component (Servant) IDL SKEL Container Object Adapter Services Based on ACE wrapper facades & frameworks Available on Unix, Win32, MVS, QNX, VxWorks, LynxOS, VMS... Thousands of users around the world ORB CORE GIOP/IIOP/ESIOPS Objective: Simplify the development of distributed real-time & embedded (DRE) systems Approach: Use standard techology, patterns, & frameworks Commercially supported OCI (www.theaceorb.com) PrismTech (www.prismtechnologies.com) www.cs.wustl.edu/~schmidt/commercialsupport.html 12

I/O Subsystem: Priority Inversions Ø Messages are processed in FIFO order regardless of priorities Ø Kernel has lower priority than real-time priorities q Processing of a high priority message in the kernel can be blocked by a lower priority task at the application level 13

I/O Subsystem: Solu=ons Ø Early demultiplexing Ø Prioritized kernel processing Ø Map task priority to kernel thread Ø Note: This needs kernel support 14

ORB Core: Priority Inversions Ø Communication of different tasks shares a same socket connection. Ø Incoming requests are demultiplexed to threads in FIFO order. 15

ORB Core Priority-based Concurrency Architecture Ø Server sets model: Each priority is processed by a separate thread. Ø A separate connection is maintained for each priority in the server ORB. q Use buffered connections to reduce run-time overhead. Ø Suitable for fixed priority scheduling. 16

Object Adapter: Problems Ø Layered demultiplexing is inefficient in term of q average latency q worst-case latency 17

Object Adapter: Solu=ons Ø Perfect hashing q Generate a hash function offline q Computational complexity O(1) Ø De-layered active demultiplexing q Clients obtain index to (servant, operation) ahead of time 18

Reduce Priority Inversion Conventional ORB TAO 19

Real-Time Event Service 20

Limitations of RPC Ø Tight coupling between clients and server Ø Lacks asynchronous message delivery Ø Lacks support for group communication 21

Motivating Applications Boeing Bold Stroke Middleware Infrastructure Platform Operations well defined Event-mediated middleware solution Domain Avionics mission compu=ng Mass storage devices Medical Informa=on Systems Satellite Control Telecommunica=ons Missile & Radar Systems Steel Manufacturing Beverage BoUling Automa=on Company Boeing, Raytheon SUTMYN, StorTek Siemens, GE LMCO COMSAT Motorola, Lucent, Nortel, Cisco, Siemens LMCO Sanders, Raytheon Siemens ATD Krones AG

CORBA Event Service Ø Asynchronous event delivery Ø Decouples suppliers and consumers Ø Support group communication one to one many to one many to many one to many 23

Event Delivery Models Suppliers push to Event Channel, Event Channel pushes to Consumers Event Channel pulls from Suppliers, Consumers pull from Event Channel Suppliers push to Event Channel, Consumers pull from Event Channel Event Channel pulls from Suppliers, Event Channel pushes to Consumers 24

CORBA Event Service Limitations Ø Broadcasts any supplied event to all consumers Ø No filtering or correlation Ø No real-time event dispatching/scheduling Ø No periodic event X X X 25

TAO Real-Time Event Service Ø Suppliers specify types of events generated. Ø Consumers subscribe to interested event types, to events from specific suppliers, or both. event B:S2 event C:S3 26

Event Channel Architecture Ø Push-push model for real-time delivery Ø Modularity: features are implemented in pluggable modules 27

Suspend and Resume Ø Light-weight operations to suspend/resume event delivery Ø Useful for frequent changes in consumer sets q Mode change 28

Periodic Events Ø Consumers can register for timeout events provided by Event Service Ø Timeout events dispatched according to priority of consumer 29

Event Correlation Ø Provides event correlation q Conjunctive ( AND ) q Disjunctive ( OR ) Conjunctive correlation 30

Scheduling Service Ø Separates dispatching mechanism from scheduling policy Ø Dispatcher consults run-time scheduler for priorities Ø Flexibility for different scheduling policies (e.g., RMS, EDF, MUF) 31

Real-Time Event Dispatching High Priority Kokyu Dispatching Queue Dispatching Thread Kokyu Dispatching Queue Dispatching Thread Dispatching Thread Low Priority Kokyu Dispatching Queue 32

Critiques Ø Full compatibility with CORBA q Too complex and heavy-weight for embedded systems? Ø Centralized event channel q Scalability for distributed systems à federated event channel q Single point of failure à fault tolerant event channel Ø Overhead of redirection Ø Support for multicore and multiprocessor platforms. 33

Federated Event Channel Ø Gateway forwards events to remote processors. EC EC EC Gateway Gateway T 11 T 12 T 13 Application Processor 1 Application Processor 2 Application Processor 3

Source Ø Slides partially based on Douglas Schmidt s TAO tutorial and Joe Hoffert s class presentation. 35