Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 05/01/02ISORC 2002 BBN Technologies Joe Loyall Rick Schantz, Michael Atighetchi, Partha Pal Packaging Quality of Service Control Behaviors for Reuse.

Similar presentations


Presentation on theme: "1 05/01/02ISORC 2002 BBN Technologies Joe Loyall Rick Schantz, Michael Atighetchi, Partha Pal Packaging Quality of Service Control Behaviors for Reuse."— Presentation transcript:

1 1 05/01/02ISORC 2002 BBN Technologies Joe Loyall Rick Schantz, Michael Atighetchi, Partha Pal Packaging Quality of Service Control Behaviors for Reuse ISORC 2002 April 29-May 1, 2002

2 2 05/01/02ISORC 2002 Trends Motivating Development of QoS-Enabled, Adaptive Middleware Trends in technology development –Hardware keeps getting smaller, faster, and cheaper –Software keeps getting larger, slower, and more expensive Challenges in Software Development –Building distributed systems is difficult –Simultaneously the two dimensions of »Wider distribution across WANs, including wireless and satellite links »Smaller embedded environments with strict QoS and resource constraints have made distributed systems development increasingly difficult

3 3 05/01/02ISORC 2002 Challenges Facing Today’s Wide-Area and Embedded System Development Middleware support for WAN applications doesn’t scale well up or down –There is a gap between emerging low-level mechanisms to control some types of resources (e.g., bandwidth management, replication) and high- level application strategies –Researchers are generally working on one piece of the solution, e.g., focusing on one critical QoS property, one time epoch –Functional integration has taken precedence over system properties (e.g., CORBA IDL) Middleware support for embedded applications is just starting to emerge –Many mission-critical distributed applications require real-time QoS guarantees –Building embedded applications is currently done manually and is tedious, error-prone, and expensive –Conventional middleware does not support embedded QoS requirements effectively

4 4 05/01/02ISORC 2002 The Quality Objects (QuO) Framework Supports Development of Distributed Applications with QoS The QuO framework provides Separation of concerns between software functional properties and QoS needs Consistent interfaces for QoS measurement and resource management control Standard middleware interfaces between application and QoS-provider layers Facilities to enable application- and system-level adaptation QuO is being developed as a common approach to adaptable QoS for a number of projects focusing on different QoS dimensions: Dependability, replication, group communication (U.Illinois, Cornell, UCSB) Managed bandwidth, resource reservation (CMU, Columbia Univ., OOMWorks) Real-time behavior (Washington Univ in St. Louis, OOMWorks) Security, access control, survivability, intrusion detection (TIS) Integrating different dimensions in an application, e.g., real-time and dependability Suitability for supporting different approaches to a dimension

5 5 05/01/02ISORC 2002 QuO Adds Specification, Measurement, and Adaptation into the Distributed Object Model Application Developer Mechanism Developer CLIENT Network operation() in args out args + return value IDL STUBS IDL SKELETON OBJECT ADAPTER ORB IIOP ORB IIOP CLIENT OBJECT (SERVANT) OBJECT (SERVANT) OBJ REF CLIENT Delegate Contract SysCond Contract Network MECHANISM/PROPERTY MANAGER operation() in args out args + return value IDL STUBS Delegate SysCond IDL SKELETON OBJECT ADAPTER ORB IIOP ORB IIOP CLIENT OBJECT (SERVANT) OBJECT (SERVANT) OBJ REF Application Developer QuO Developer Mechanism Developer CORBA DOC MODEL QUO/CORBA DOC MODEL

6 6 05/01/02ISORC 2002 QuO Provides In-Band and Out-of-Band Measurement In-band measurement handled by instrumentation –A structure is transparently passed along with the method call/return –Information can be inserted, read, and processed to record and evaluate method call statistics (e.g., the time spent in marshalling) Out-of-band measurement provided by system condition objects

7 7 05/01/02ISORC 2002 QuO Provides In-Band and Out-of-Band Adaptation and Control In-band adaptation provided by the delegate and gateway –A delegate decides what to do with a method call or return based upon the state of its contract –Gateway enables control and adaptation at the transport layer Out-of-band adaptation triggered by transitions in contract regions –Caused by changes in the system observed by system condition objects

8 8 05/01/02ISORC 2002 The QuO Toolkit Supports Building Adaptive Applications or Adding Adaptation to Existing Apps QuO aspect languages –Contract description language and adaptive behavior description language –Code generators that weave QuO code into Java and C++ applications System Condition Objects –Provide interfaces to resources, managers, and mechanisms QuO Runtime Kernel –Contract evaluator –Factory object which instantiates contract and system condition objects Instrumentation library QuO gateway –Insertion of special purpose transport layers and adaptation below the ORB CORBA IDL Code Generators Code Generators Contract Description Language (CDL) Adaptation Specification Language (ASL) QuO Runtime Delegates Contracts

9 9 05/01/02ISORC 2002 QuO Components Are Packaged into Reusable Bundles of “Systemic Behavior” Called Qoskets The Qosket encapsulates a set of contracts (CDL), system condition objects (IDL), and QoS adaptive behavior (ASL) The Qosket exposes interfaces to access QuO controls and information (specified in IDL) The Qosket separates the functional adaptive behavior (business logic) from the QoS adaptive behavior and the middleware controls from the QoS mechanisms Qosket Adapter Interface Delegate Interface Contracts System Condition Objects Callback Objects Qosket Implementation Helper Methods Delegate Templates

10 10 05/01/02ISORC 2002 Hand-written Adapter- Qosket.id l Hand-written Delegate- Qosket.id l Qosket- Impl.java Contract.cdl Hand-written Syscond- Impl.java Hand-written Syscond.idl Reusable Qosket Callback- Impl.java Callback.idl Adapt- Template.asl Hand-written implements (java) QDL compiler generated Exposed through an External Interface QBAdapter.java Hand-written Business.idl Specialized to a Business Interface Adapt.asl Writing a Qosket, Instantiating and Wrapping It, and Specializing It to a Functional Interface Hand-written extends (java) QBWrapper.java QDL compiler generated Delegate extends (java) QDL compiler generated QDL compiler generated QDL compiler generated Adapter- Qosket.java Delegate- Qosket.java AdapterQosket- Skel.java implements (java) implements (java) extends (java) Contract IDL compiler generated Syscond StubCallback Stub Key QDL or IDL codeNative language codeFunctionalQoS

11 11 05/01/02ISORC 2002 An Example: A Video Distribution Application Uses off-the-shelf components QuO adaptive middleware Real-time CORBA ORB (TAO) - Naming Service - A/V Streaming Service - AQoSA DVDViewer Simulated ATR Must maintain QoS Requirements, make Tradeoffs Timeliness of the video Fidelity of the video Data quality of the video Heterogeneity Data formats - MPEG, PPM Mechanisms - RSVP, DiffServ - Filtering, scaling, compression Networking - Wired Ethernet - Wireless Ethernet Qoskets are used to support the QoS properties async_sender - threading and thread priorities atr - controls image quality to support image processing distributor - monitors and controls throughput filter - filters frames fragment - fragments and re- assembles frames to support rsvp fragment_ppm - ditto for PPM frame_proc - introduces tasking header - creates and processes RTP headers for MPEG rsvp - determines and controls RSVP policy

12 12 05/01/02ISORC 2002 A Qosket That Measures Throughput and Reserves Bandwidth Filter? Video Display reservation status A/V Streaming Service Video Distributor StreamEndpointDelegate BWReserveQosket send_frame() Sequence no. reserve_ bandwidth() Normal Degraded Unusable request reservation send_frame() Timestamp AQoSA RSVP throughput

13 13 05/01/02ISORC 2002 RSVP Fragmentation Problem Solved by Use of QuO Qoskets MPEG in UDP packets were being fragmented by IP. Routers did not know that fragmented IP packets were part of a RSVP reservation of UDP packets. Solution: QuO delegates for fragmentation/reassembly, so UDP packets are not fragmented at IP level. Frame Filter Delegate TAO_AV_Protocol_ Object TAO_AV_ UDP_Object transport->send() distributor.{h,cpp} Distributor Code Receive Frame Event Callback wrapper-> send_frame() Distributor receiver.{h,cpp} Receiver Code Receive Frame Event Callback Fragment Frame Delegate Reassemble Frame Delegate Receiver

14 14 05/01/02ISORC 2002 Support for Real-time Video Delivery Using Middleware Adaptation 0 5 10 15 20 25 30 35 0 306090 120150180210240270300 Without adaptation With adaptation Load Adaptation No adaptation Mean lateness Max lateness 5.400 sec 32.696 sec 0.067 sec 1.930 sec Execution time (secs) Additional latency (secs) Sender, distributor, and receiver running on 3 200 MHz PCs (Linux), 128 MB memory, TCP/IP Additional 60% CPU load introduced on second stage (3 processes requesting 20% load each) starting at approx. 60 secs, removed at approx. 120 secs. Under load

15 15 05/01/02ISORC 2002 0 100 200 300 400 500 600 700 0100200300400500600 Number of I frames sent Number of I frames received No Adaptation Frame dropping Frame dropping and network reservation Load Controlling Frame Loss Using QuO Adaptation Sender, distributor on a Pentium III 933 MHz, 512 MB RAM; Receiver on a Pentium II 200 MHz, 144 MB of RAM; all Linux, with 10 Mbps link, using UDP. Additional Network load introduced after 60 seconds, removed after 120 seconds Without middleware control, network layer will drop packets without application knowledge Frame dropping dropped the less important B and P frames in favor of the I frames Frame Dropping No adaptation # I Frames Sent# Received 600481 600 RSVP + Frame Dropping # Lost 600 119 0 6000

16 16 05/01/02ISORC 2002 Conclusions and Next Steps We have presented a component model, called Qoskets, that works with the QuO middleware, for encapsulating adaptive QoS behaviors More information on QuO, including qoskets, is available at http://www.dist-systems.bbn.com/tech/QuO QuO open-source software is at http://www.dist- systems.bbn.com/tech/QuO/release The example presented in this talk is at http://www.dist- systems.bbn.com/projects/AIRES/UAV Current, ongoing work –Comparison, coordination with CORBA Component Model (CCM) –Composition of qoskets –Coordinated RT CORBA, DiffServ for end-to-end RT behavior


Download ppt "1 05/01/02ISORC 2002 BBN Technologies Joe Loyall Rick Schantz, Michael Atighetchi, Partha Pal Packaging Quality of Service Control Behaviors for Reuse."

Similar presentations


Ads by Google