Exploiting CCM Lifecycle Stages for Bold Stroke Component
Exploiting CCM Lifecycle Stages for Bold. Stroke Component Configuration with CIAO Christopher Gill and Nanbor Wang Department of Computer Science and Engineering Washington University, St. Louis {cdgill, nanbor}@cse. wustl. edu Work supported by DARPA contract F 33615 -00 -C-3048 (WU PCES subcontract from Boeing) CCM Workshop, Kansas State University, Manhattan, Kansas Monday May 19, 2003
Bold. Stroke Component Configuration in CIAO Chris Gill and Nanbor Wang Component Configuration Lifecycle • Two distinct “planes” of a system Component Package Instance Creation Port Connections – Functional aspects • Interfaces are implemented • Syntactic match for call/interface – Extra-functional Qo. S aspects Assembly/ Packaging Tool Assembly Archive. aar (ZIP) • Caller/called available rates match • Total resource allocation is feasible • Utilization is tuned • Three system config phases – Component packaging – Application assembly – Application deployment • Analysis needed at each stage Properties Deployment. T ool Washington University, St. Louis – Functional/extra-functional aspects – Some info added/changed at each – May leave some decisions for later
Bold. Stroke Component Configuration in CIAO Attributes Required Ports Receptacles Facets Event Sinks Offered Ports Component Executor Component Packaging Event Sources Component Reference Chris Gill and Nanbor Wang • Check Functional Aspects – Are all offered ports implemented by executor? • Check Qo. S Aspects – Are modes specified? – Are intra-component port dependencies specified? – Are available rates specified for each port in each mode? • Might allow to specify { } (empty) – Are calibrated execution times specified for each mode? • (e. g. , WCET<400 MHz>) Washington University, St. Louis
Chris Gill and Nanbor Wang Bold. Stroke Component Configuration in CIAO Application Assembly • Check Functional Aspects Rate. Generator Hi. Res. GPS Cockpit. Display – Are inter-component port dependencies specified? – Do signatures match between required and offered ports along each dependency? • Check Qo. S Aspects Component Server – Can sets of available rates be derived for each port in each mode? • Using simple rate propagation to fill in empty sets – Do sets of rates match? • Narrow to rate set intersection Washington University, St. Louis
Bold. Stroke Component Configuration in CIAO Chris Gill and Nanbor Wang Application Deployment Rate. Generator Hi. Res. GPS • Check Functional Aspects – Are OS/middleware services Cockpit. Display bound available? • Check Qo. S Aspects – Is CPU speed known? • Recalibrate WCET values – Is there a feasible resource allocation (at some rates? ) – Can we optimize feasible configurations of rates? Way. Fast. TM Processor Washington University, St. Louis • E. g. , FAIR, CB-FAIR (WSOA) • E. g. , feedback control U=. 90
Chris Gill and Nanbor Wang Bold. Stroke Component Configuration in CIAO Bold. Stroke Configuration Example: Packaging Config Phase Available Rates (in Hz) WCET (in msec) Packaging Rate. Generator: {1, 5, 10, 20, 40} Hi. Res. GPS: {x | x < 40} Cockpit. Display: {y | y ≥ 10} Rate. Generator: 1@400 Hz Hi. Res. GPS: 40@400 Hz Cockpit. Display: 5@400 Hz Most General Constraints Info from that component only Washington University, St. Louis
Chris Gill and Nanbor Wang Bold. Stroke Component Configuration in CIAO Bold. Stroke Configuration Example: Assembly Config Phase Available Rates (in Hz) WCET (in msec) Packaging Rate. Generator: {1, 5, 10, 20, 40} Hi. Res. GPS: {x | x < 40} Cockpit. Display: {y | y ≥ 10} Rate. Generator: 1@400 Hz Hi. Res. GPS: 40@400 Hz Cockpit. Display: 5@400 Hz Assembly Rate. Generator→Hi. Res. GPS→Cockpit. Display: {10, 20} Rate. Generator: 1@400 Hz Hi. Res. GPS: 40@400 Hz Cockpit. Display: 5@400 Hz Composite info (still partially specified) Washington University, St. Louis Intersections of constraints from individual components
Chris Gill and Nanbor Wang Bold. Stroke Component Configuration in CIAO Bold. Stroke Configuration Example: Deployment Config Phase Available Rates (in Hz) WCET (in msec) Packaging Rate. Generator: {1, 5, 10, 20, 40} Hi. Res. GPS: {x | x < 40} Cockpit. Display: {y | y ≥ 10} Rate. Generator: 1@400 Hz Hi. Res. GPS: 40@400 Hz Cockpit. Display: 5@400 Hz Assembly Rate. Generator→Hi. Res. GPS→Cockpit. Display: {10, 20} Rate. Generator: 1@400 Hz Hi. Res. GPS: 40@400 Hz Cockpit. Display: 5@400 Hz Deployment (200 MHz CPU) Rate. Generator→Hi. Res. GPS→Cockpit. Display: 10 Rate. Generator: 2 Hi. Res. GPS: 80 Cockpit. Display: 10 Fully specified Info Washington University, St. Louis Bound constraints (constants)
Chris Gill and Nanbor Wang Bold. Stroke Component Configuration in CIAO Bold. Stroke Configuration Example: Tuning Config Phase Available Rates (in Hz) WCET (in msec) Packaging Rate. Generator: {1, 5, 10, 20, 40} Hi. Res. GPS: {x | x < 40} Cockpit. Display: {y | y ≥ 10} Rate. Generator: 1@400 Hz Hi. Res. GPS: 40@400 Hz Cockpit. Display: 5@400 Hz Assembly Rate. Generator→Hi. Res. GPS→Cockpit. Display : {10, 20} Feasible Rate. Generator: 1@400 Hz Hi. Res. GPS: 40@400 Hz for Cockpit. Display: 200 MHz CPU 5@400 Hz Deployment (200 MHz CPU) Rate. Generator→Hi. Res. GPS→Cockpit. Display : 10 (not optimal on 400 Hz CPU) Rate. Generator: 2 Hi. Res. GPS: 80 Cockpit. Display: 10 Deployment (400 MHz CPU) Rate. Generator→Hi. Res. GPS→Cockpit. Display : 20 (not feasible on 200 Hz CPU) Rate. Generator: 1 Hi. Res. GPS: 40 Cockpit. Display: 5 Washington University, St. Louis Tuned for 400 MHz CPU
Bold. Stroke Component Configuration in CIAO Chris Gill and Nanbor Wang Summary • CIAO makes the Qo. S aspects of Bold. Stroke components class elements in the CCM programming model – – Just as functional aspects are first-class in “plain-old” CCM Ensures Qo. S correctness across applications & platforms Supports composition of Qo. S (as well as functional) aspects Allows custom optimization for performance and control • Several configuration phases in the system lifecycle – Each with more information and more constraints – When a value is bound is crucial, parameterization matters • If several alternatives are acceptable, need tuning metrics – Successive constraint composition/resolution – Resulting set of alternatives may have > 1 element: “conflict set” – Use additional optimizations/control/tuning to choose one Washington University, St. Louis first-
Bold. Stroke Component Configuration in CIAO Chris Gill and Nanbor Wang Looking Ahead • Next steps: Cadena on CIAO, PI meeting June 4 -6 – What CIAO features are missing, or need revision? • Partial evaluation and refinement are fundamental – CIAO can provide hooks at each configuration stage – Modeling tools may insert Qo. S constraints & variables to be refined • E. g. , calibrated execution times based on CPU speed • Static role of modeling tools in this example is clear – Specify variables, range bounds, initial values – Load and check CIAO XML specification at each stage – Update and store CIAO XML specification for next stage • Overall run-time architecture is less clear – Do modeling tools provide run-time checkers? – How do they interface with schedulers, other services? – With epochs of adaptation, is configuration lifecycle a spiral? Washington University, St. Louis
- Slides: 11