fbb1186e755f97a29ea63368661eff1c.ppt
- Количество слайдов: 19
Adaptive & Reflective Middleware for Large-scale Distributed Real-time & Embedded Systems Dr. Douglas C. Schmidt dschmidt@uci. edu www. ece. uci. edu/~schmidt/
Accomplishments & New Directions • Productivity & quality gains from higher-level abstraction mechanisms • Partially automated solutions for limited domains Analysis Generation Distributed real-time & embedded (DRE) systems are increasingly pervasive & essential Characteristics of DRE Systems • Mission-critical control • Resource constrained • Stringent simultaneous Qo. S demands • Network-centric & large-scale • Dynamic operating conditions 2
Current Challenges & Limitations Emerging Trends • Large-scale DRE system requirements are increasingly more • Dynamic • Diverse • Demanding Distributed Network of embedded sensor motes for environment monitoring, tracking, & surveillance (10, 000 nodes) Total Ship Computing Environments: Global dynamic resource management (1, 000 nodes) 1000 – 1, 000 node fusion of physical & information systems Gossamer Space Antenna (1, 000 nodes) Distributed Active Control: Vibration Damping on Delta-4 Rocket Payload Fairing (1, 000 nodes) Noiseless sonar on submarines to provide camouflage (3, 000 nodes) 3
Current Challenges & Limitations Emerging Trends • Large-scale DRE system requirements are increasingly more • Dynamic • Diverse • Demanding Technology Problems Today’s DRE systems are: • Stovepiped • Proprietary • Brittle & non-adaptive • Expensive • Vulnerable Applications Sensors Controllers Actuators Utility Applications Cultural Problems • Existing research approaches do not scale to address key technology problems • Non-appreciation of the importance of DRE software Utility “Curve” “Broken” “Works” Resources Operating System Endsystem Operating System Networks Endsystem 4
Lessons from IT History 2, 400 bits/sec to 1 Gigabits/sec CPUs & networks have increased by 3 -7 orders of magnitude in the past decade Extrapolating this trend to 2010 yields • ~100 Gigahertz desktops • ~100 Gigabits/sec LANs • ~100 Megabits/sec wireless • ~10 Terabits/sec Internet backbone 10 Megahertz to 1 Gigahertz DRE software has not improved as rapidly or as effectively as hardware & networks These advances stem largely from standardizing hardware & software APIs and protocols, e. g. : • Intel x 86 & Power PC chipsets • TCP/IP, ATM • POSIX & JVMs • Middleware & components • Quality of service aspects 5
The Road Ahead for DRE Systems We need to create the new generation of open DRE system middleware technologies to 1. Simultaneously control multiple Qo. S properties & 2. Improve software development quality, productivity, & assurability INTERNETWORKING ARCH RTP TFTP MIDDLEWARE ARCH Middleware Applications HTTP TELNET DNS UDP Middleware Services TCP IP Middleware Solaris Fibre Channel Ethernet ATM Win 2 K FDDI 20 th Century Applications Controllers Actuators Domain-Specific Services Common Services Distribution Middleware Infrastructure Middleware Operating System Endsystem Operating System Networks Endsystem Lynx. OS Benefits of Middleware • Highly scalable Qo. S • Enable new resource Applications Sensors Linux 21 st Century management capabilities • Support common & open technology bases • Leverage & enhance advances in assurance & security Utility Applications Vx. Works Desired Utility Curve “Working Range” Resources 6
Technical Challenge: Real-time Control of Distributed Resources Goal: Create new generation of middleware to simultaneously control multiple Qo. S Distributed properties Distributed fault tolerance security Applications Distributed resource management • Allocation/reservations, caching, Middleware OS & Protocols scheduling, monitoring, & load balancing Hardware TBMD Application AAW Application Qo. S Requested Qo. S Measured Qo. S } Local middleware Global Middleware Control Algorithm Workload & Replicas Control Algorithm Control Vars. Control Algorithm Workload & Replicas Connections & priority bands CPU & memory Network latency & bandwidth Ship-wide Qo. S Doctrine & Readiness Display 7
Hard Problem 1: Secure Multi-level Distributed Resource Management Problem • Multiple technology bases make it hard to analyze & control the Qo. S of distributed resources at multiple system levels dynamically, dependably, & securely Requested Qo. S TBMD Application AAW Application Qo. S Control Algorithm Measured Qo. S Research Challenge • Devise middleware to formally specify Qo. Sconstrained global resource management plans; model, reason about and refine them; & monitor/enforce these plans automatically at runtime Control Algorithm Load Balancer FT CORBA Control Algorithm Workload & Replicas RT/DP CORBA + DRTSJ Connections & priority bands RTOS + RT Java CPU & memory Int. Serv + Diffserv Network latency & bandwidth Solution Approach • Doctrine-driven middleware to support multi-level management of DRE resources • i. e. , dynamic, dependable, & scalable resource analysis, scheduling, allocation, monitoring & balancing • Guided by online reflective Qo. S models & empirical evaluation 8
Example: Data Parallel CORBA Client on parallel ORB Parallel Object Part 1 Part 2 Data reorganization strategies Computing Grid • Airborne HPEC • Distributed shipboard clusters • CONUS supercomputers • … Part 3 Data Parallel CORBA bridges the gap between traditional CORBA applications & high-performance embedded parallel processing applications as follows: • Enable CORBA applications over clusters of computers • No change required in software technologies, methodologies, or tools • Enable massively parallel applications to integrate easily with distributed systems • Allow parallel applications to benefit from distributed object methodologies, technologies, & tools • Add parallelism & data distribution to the transparencies offered by CORBA • Enable a new class of applications e. g. , financial, industrial, medical, aerospace, multimedia, and military domains 9
Hard Problem 2: Meta-programmable DRE Middleware Frameworks Problem • Existing DRE systems are rigidly designed with fixed Qo. S parameters that limit their utility for new operations Research Challenges • Assuring dynamic flexibility and Qo. S simultaneously Solution Approach • Meta-programming techniques that • Decouple functional & Qo. S paths to allow more degrees of freedom • Specify Qo. S doctrine declaratively • Support dynamic Qo. S adaptation & optimizations Applications Interceptor Sys Cond Middleware Local Resource Managers Workload & Replicas Connections & priority bands } Sys Cond Mechanism & Property Managers Qo. S Contract Interceptor Middleware { Workload & Replicas Connections & priority bands CPU & memory Network latency & bandwidth Local Resource Managers Network latency & bandwidth Endsystem 10
Example: Meta-programmed Distributed Qo. S Aspects Mission Requirements Timeliness Importance Fidelity • Maintain an out-of-the-window view of imagery • Frames must be dropped in reverse order of importance • Highest fidelity frames must be delivered www. dist-systems. bbn. com/t www. cs. wustl. edu/~schm NETWORK RESERVATION • Condition: Excessive Network load • Action: Use Int. Serv & Diff. Serv to reserve bandwidth B BB BB BBBBBBP I BP B B B IP BBIBB BBBBBBB B P IBBPIBBBBBBBPP BPBBB IBBPB P P P B PBB P IP B B I B BPBPBBI P P B BB B P B BBP P B B PB B BB BB B B BB P BBBBBBB I P B B BB B P B B BI B . . . PBBPBBPBBI I DATA FILTERING • Condition: Excessive Network or CPU load • Action: Drop selective frames Qo. S Contracts IMAGE MANIPULATION • Condition: Excessive Network load • Action: Scale image to smaller size X X LOAD BALANCING • Condition: Excessive CPU load • Action: Migrate distributor to a lightly loaded host 11
Hard Problem 3: DRE Middleware Generation & Optimization Tools Problems • However, conventional • COTS middleware is often unsuited for DRE systems due DRE development techniques are to insufficient • Tedious • Qo. S specification & • Proprietary enforcement • Manual & ad hoc • Time/space optimizations • Flexibility & customizability Workload & Replicas Connections & priority bands CPU & memory Network latency & bandwidth t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 Solution Approach • Develop Model Driven Architecture (MDA) tools to reflectively auto-generate, optimize, & verify custom implementations of standard DRE middleware from higherlevel specifications t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 t 19 t. REQ’D DRE Applications Common Middleware Tools Common Semantic Rep. Impl 1 Impl 2 Impl 1 Plat 2 Plat 3 Plat 1. pd Plat 2. pd Optimized & verified DRE middleware Research Challenge • Minimizing footprint & customizing standard DRE middleware capabilities without sacrificing key Qo. S properties t 10 Application Requirements t. START Plat 3. pd Middleware Generator 12
Example: Applying Reflection as Compiler Optimization To illustrate the benefits of reflection as an optimization technique, consider the evolution of compiler technology: • Early compilers required C Program • Separate internal representations hand-written for each programming C Compiler language & • Separate hand-written optimizers for Internal Rep. each target backend Ix 86 Opt. Ix 86 VAX Opt. VAX 68 K Opt. • Developing, verifying, validating, & evolving all these components separately is costly, time-consuming, tedious, & error-prone 68 K • The problem only gets worse as more languages & target backends emerge 13
Example: Applying Reflection as Compiler Optimization To illustrate the benefits of reflection as an optimization technique, consider the evolution of compiler technology: C Program C Compiler Internal Rep. Ix 86 Opt. VAX Opt. 68 K Opt. Ix 86 VAX 68 K C++ Program • Early compilers required Ada Program • Separate internal representations hand-written for each programming C++ Compiler and Ada Compiler language • Separate hand-written optimizers for each target backend Internal Rep. • Developing, verifying, validating, & evolving all these components separately is costly, time-consuming, PPC MIPS & 88 K tedious, error-prone 1751 32 K HPPA Opt. PPC MIPS 88 K 1751 32 K HPPA • The problem only gets worse as more languages & target backends emerge 14
Example: Applying Reflection as Compiler Optimization • Modern compilers, such as GNU GCC, support • A common internal representation (still hand-written) for each programming language C/C++/Ada Compiler • Based on generalizing the language semantics • A synthesized compiler optimizer that is customized automatically for each target backend Common Internal Rep. • Based on reflective assessment of algebraic target machine description Ix 86 PPC 68 K 3. Generate an optimizer that is customized Opt. for the particular platform/language C/C++/Ada Programs Ix 86 PPC 68 K Ix 86. md PPC. md 68 K. md Optimizer Generator 2. Use discrimination network to analyze the optimization rules & opportunities 1. Read the target machine description Key Benefit of Reflective Optimization • New targets can be supported by writing a new machine description, rather than writing a new code generator/optimizer 15
New Approach: Applying Reflection to Optimize DRE Middleware Conventional middleware for embedded systems is developed & optimized in a manner similar to early compiler technologies: CORBA Application CORBA ORB & Assorted Tools Lynx. OS Win. NT Impl Vx. Works Impl Win. NT Lynx. OS Vx. Works • Conventional middleware require • Separate tools and interfaces hand-written for each ORB middleware specification • e. g. , CORBA, Java RMI, COM+ • Separate hand-written & hand-optimized implementations for each embedded target platform • e. g. , various OS/network/HW configurations • Developing, verifying, validating, & evolving all these components separately is costly, timeconsuming, tedious, & error-prone • Moreover, it is even harder to hand-configure support for dynamic platform variations & complex application use-cases • The problem only gets worse as more middleware, target platforms, & complex applications emerge 16
New Approach: Applying Reflection to Optimize DRE Middleware Conventional middleware for embedded systems is developed & optimized in a manner similar to early compiler technologies: CORBA Application CORBA ORB & Assorted Tools Lynx. OS Win. NT Impl Vx. Works Impl Win. NT Lynx. OS Vx. Works • Conventional middleware require Java Application COM+ Application • Separate tools and interfaces hand-written for each ORB middleware specification • e. g. , CORBA, Java RMI, COM+ Java hand-written & hand-optimized COM+ ORB • Separate. RMI & Assorted Tools implementations for each embedded target platform • e. g. , various OS/network/HW configurations Solaris Win 98 Win 2 K Win. NT • Developing, verifying, validating, & evolving all Impl these components separately is costly, time. Linux Win. CE consuming, tedious, & error-prone Impl • Moreover, it is even harder to hand-configure support for dynamic platform variations & complex application use-cases Win 2 K Solaris Win. NT Win 98 • The problem only gets worse as more middleware, Linux Win. CE target platforms, & complex applications emerge 17
New Approach: Application Requirements Applying Reflection to Optimize DRE Middleware CORBA/Java/COM+ • The functional and Qo. S-related properties of embedded systems middleware can be improved Applications Common ORB + Assorted Tools Common Semantic Representation Plat 1 Impl Plat 2 Impl Plat 3 Impl Plat 1 Plat 2 Plat 3 Plat 1. pd Plat 2. pd Plat 3. pd greatly by advanced R&D on the following topics: • A common internal representation (ideally autogenerated) for each middleware specification • Based on generalizing the middleware semantics • A synthesized middleware implementation that is optimized automatically for each target platform & application use-case • Based on reflective assessment of platform descriptions & application use-case 3. Generate middleware that is customized for a particular platform & application use-case Middleware 2. Use discrimination network to analyze Generator the optimization rules & opportunities 1. Read the target platform description & application requirements 18
DARPA DRE Software R&D Focus Air Frame AP Nav Event Channel WTS Replication Service Multi-faceted Software Development Comparable & Customizable Frameworks & Intelligent Middleware Object Request Broker GPS IFF FLIR Cross-cutting Concerns Synchronization Persistence Memory Management Fault Tolerance Model-based Software Development & Domain-specific Languages Applications to Embedded Systems Collaborative Software Development Environments Patterns & Pattern Languages 19
fbb1186e755f97a29ea63368661eff1c.ppt