1 / 19

Adaptive & Reflective Middleware for Large-scale Distributed Real-time & Embedded Systems

Adaptive & Reflective Middleware for Large-scale Distributed Real-time & Embedded Systems. Dr. Douglas C. Schmidt dschmidt@uci.edu www.ece.uci.edu/~schmidt/. Partially automated solutions for limited domains. Analysis. Generation.

astin
Télécharger la présentation

Adaptive & Reflective Middleware for Large-scale Distributed Real-time & Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adaptive & Reflective Middleware for Large-scale Distributed Real-time & Embedded Systems Dr. Douglas C. Schmidt dschmidt@uci.edu www.ece.uci.edu/~schmidt/

  2. 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 • Resourceconstrained • Stringent simultaneous QoS demands • Network-centric & large-scale • Dynamic operating conditions Accomplishments & New Directions Productivity & quality gains from higher-level abstraction mechanisms

  3. Total Ship Computing Environments: Global dynamic resource management (1,000 nodes) Distributed Active Control: Vibration Damping on Delta-4Rocket Payload Fairing (1,000 nodes) Distributed Network of embedded sensor motes for environment monitoring,tracking, & surveillance (10,000 nodes) Gossamer Space Antenna (1,000,000 nodes) Noiseless sonar onsubmarines to providecamouflage (3,000 nodes) Current Challenges & Limitations Emerging Trends • Large-scale DRE system requirements are increasingly more • Dynamic • Diverse • Demanding 1000 – 1,000,000 node fusion of physical& informationsystems

  4. Technology Problems Today’s DRE systems are: • Stovepiped • Proprietary • Brittle & non-adaptive • Expensive • Vulnerable Applications Applications Applications Sensors Controllers Actuators Utility “Curve” Utility “Broken” Operating System “Works” Operating System Operating System Resources Endsystem Endsystem Networks Endsystem Networks Current Challenges & Limitations Emerging Trends • Large-scale DRE system requirements are increasingly more • Dynamic • Diverse • Demanding Cultural Problems • Existing research approaches do not scale to address key technology problems • Non-appreciation of the importance of DRE software

  5. CPUs & networks have increased by 3-7 orders of magnitude in the past decade 2,400 bits/sec to 1 Gigabits/sec These advances stem largely from standardizing hardware & software APIs and protocols, e.g.: 10 Megahertz to 1 Gigahertz • Intel x86 & Power PC chipsets • TCP/IP, ATM • POSIX & JVMs • Middleware & components • Quality of service aspects Lessons from IT History Extrapolating this trend to 2010 yields • ~100 Gigahertz desktops • ~100 Gigabits/sec LANs • ~100 Megabits/sec wireless • ~10 Terabits/sec Internet backbone DRE software has not improved as rapidly or as effectively as hardware & networks

  6. The Road Ahead for DRE Systems Applications Applications Applications INTERNETWORKING ARCH Sensors Controllers Actuators MIDDLEWARE ARCH RTP TFTP FTP HTTP Middleware Applications Domain-Specific Services Domain-Specific Services Domain-Specific Services DNS TELNET Middleware Services UDP TCP Common Services Common Services Common Services IP Middleware Distribution Middleware Distribution Middleware Distribution Middleware Fibre Channel Ethernet ATM FDDI 20th Century 21st Century Infrastructure Middleware Infrastructure Middleware Infrastructure Middleware Benefits of Middleware • Highly scalable QoS • Enable new resource management capabilities • Support common & open technology bases • Leverage & enhance advances in assurance & security Operating System Operating System Operating System Applications Applications Applications Sensors Controllers Actuators Endsystem Endsystem Networks Endsystem Networks Solaris VxWorks Win2K Linux LynxOS Desired Utility Curve “Working Range” Utility Operating System Operating System Operating System Resources Endsystem Endsystem Networks Endsystem Networks We need to create the new generation of openDRE systemmiddleware technologies to • Simultaneously control multiple QoS properties & • Improve software development quality, productivity, & assurability

  7. Technical Challenge: Real-time Control of Distributed Resources Applications Middleware OS & Protocols TBMD Application AAW Application Hardware QoS QoS Requested QoS Global Middleware Control Algorithm Control Algorithm Control Algorithm Control Algorithm Control Algorithm Control Algorithm Measured QoS Goal: Create new generation of middleware to simultaneously control multiple QoS properties Distributed security Distributed fault tolerance Distributed resource management • Allocation/reservations, caching, scheduling, monitoring, & load balancing Control Vars. Workload & Replicas Workload & Replicas Workload & Replicas } Local middleware Connections & priority bands Connections & priority bands Connections & priority bands CPU & memory CPU & memory CPU & memory Ship-wide QoS Doctrine & Readiness Display Network latency & bandwidth Network latency & bandwidth Network latency & bandwidth

  8. Hard Problem 1:Secure Multi-level Distributed Resource Management QoS QoS Problem • Multiple technology bases make it hard to analyze & control the QoS of distributed resources at multiple system levels dynamically, dependably, & securely TBMD Application Requested QoS AAW Application Control Algorithm Control Algorithm Control Algorithm Control Algorithm Control Algorithm Control Algorithm Measured QoS Load Balancer FT CORBA Workload & Replicas Connections & priority bands RT/DP CORBA + DRTSJ Research Challenge • Devise middleware to formally specify QoS-constrained global resource management plans; model, reason about and refine them; & monitor/enforce these plans automatically at run-time RTOS + RT Java CPU & memory Network latency & bandwidth IntServ + Diffserv 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 QoS models & empirical evaluation

  9. Example: Data Parallel CORBA Parallel Object Computing Grid Client on parallel ORB Airborne HPEC Distributed shipboard clusters CONUS supercomputers … Part 1 Part 2 Data reorganization strategies 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

  10. Middleware Middleware Hard Problem 2:Meta-programmable DRE Middleware Frameworks Problem • Existing DRE systems are rigidly designed with fixed QoS parameters that limit their utility for new operations Research Challenges • Assuring dynamic flexibility and QoS simultaneously Solution Approach • Meta-programmingtechniques that • Decouple functional & QoS paths to allow more degrees of freedom • Specify QoS doctrine declaratively • Support dynamic QoS adaptation & optimizations Applications Applications Interceptor Interceptor Sys Cond Sys Cond Sys Cond Sys Cond Mechanism & Property Managers { } Workload & Replicas Workload & Replicas Connections & priority bands Connections & priority bands Local Resource Managers Local Resource Managers QoS Contract QoS Contract CPU & memory CPU & memory Network latency & bandwidth Network latency & bandwidth Endsystem Endsystem

  11. P P P I I I B B B B B B B B B B B B B B B B B I I B B B B B B P B B P B P P IBBPBBPBBPBBPBBPBBIBBPB B B B P P I I P B B P P P P P P P P P B B I I B B B B B B B B B B B B B B B B B B B B B B B B B B B B P P B B B B B B B B B B B B B B B B B B B B B B B B B NETWORK RESERVATION • Condition: Excessive Network load • Action: Use IntServ & DiffServ to reserve bandwidth QoS Contracts X X IMAGE MANIPULATION • Condition: Excessive Network load • Action: Scale image to smaller size ...PBBPBBPBBI II I LOAD BALANCING • Condition: Excessive CPU load • Action: Migrate distributor to a lightly loaded host DATA FILTERING • Condition: Excessive Network or CPU load • Action: Drop selective frames Example: Meta-programmed Distributed QoS Aspects Fidelity • Highest fidelity frames must be delivered Importance • Frames must be dropped in reverse order of importance Timeliness • Maintain an out-of-the-window view of imagery Mission Requirements www.dist-systems.bbn.com/tech www.cs.wustl.edu/~schmidt

  12. Hard Problem 3:DRE Middleware Generation & Optimization Tools Problems • COTS middleware is often unsuited for DRE systems due to insufficient • QoS specification & enforcement • Time/space optimizations • Flexibility & customizability • However, conventional DRE development techniques are • Tedious • Proprietary • Manual & ad hoc Workload & Replicas Workload & Replicas Connections & priority bands Connections & priority bands CPU & memory CPU & memory Network latency & bandwidth Network latency & bandwidth tSTART t2 t3 t4 t5 t6 t7 t8 t9 t10 t12 t13 t14 t15 t16 t18 t19 tREQ’D t11 t17 Research Challenge • Minimizing footprint & customizing standard DRE middleware capabilities without sacrificing key QoS properties DRE Applications Optimized & verified DRE middleware Common Middleware Tools Common Semantic Rep. Solution Approach • Develop Model Driven Architecture (MDA) tools to reflectively auto-generate, optimize, & verify custom implementations of standard DRE middleware from higher-level specifications Application Requirements Impl1 Impl2 Impl1 Middleware Generator Plat1 Plat2 Plat3 Plat1.pd Plat2.pd Plat3.pd

  13. Example:Applying Reflection as Compiler Optimization Ix86 Opt. VAX Opt. 68K Opt. Ix86 VAX 68K To illustrate the benefits of reflection as an optimization technique, consider the evolution of compiler technology: • Early compilers required • Separate internal representations hand-written for each programming language & C Program C Compiler Separate hand-written optimizers for each target backend Internal Rep. Developing, verifying, validating, & evolving all these components separately is costly, time-consuming, tedious, & error-prone The problem only gets worse as more languages & target backends emerge

  14. Example:Applying Reflection as Compiler Optimization Ix86 Opt. VAX Opt. 68K Opt. Ix86 VAX 68K To illustrate the benefits of reflection as an optimization technique, consider the evolution of compiler technology: C++ Program Ada Program C Program • Early compilers required • Separate internal representations hand-written for each programming language and C++ Compiler Ada Compiler C Compiler Separate hand-written optimizers for each target backend Internal Rep. Internal Rep. Internal Rep. Developing, verifying, validating, & evolving all these components separately is costly, time-consuming, tedious, & error-prone The problem only gets worse as more languages & target backends emerge PPC Opt. MIPS Opt. 88K Opt. 1751 Opt. 32K Opt. HPPA Opt. PPC MIPS 88K 1751 32K HPPA

  15. Example:Applying Reflection as Compiler Optimization 3. Generate an optimizer that is customized for the particular platform/language 2. Use discrimination network to analyze the optimization rules & opportunities Optimizer Generator Ix86 PPC 68K 1. Read the target machine description Ix86 .md PPC .md 68K .md • Modern compilers, such as GNU GCC, support • A common internal representation (still hand-written) for each programming language • Based on generalizing the language semantics C/C++/Ada Programs C/C++/Ada Compiler • A synthesized compiler optimizer that is customized automatically for each target backend • Based on reflective assessment of algebraic target machine description Common Internal Rep. Ix86 Opt. PPC Opt. 68K Opt. Key Benefit of Reflective Optimization • New targets can be supported by writing a new machine description, rather than writing a new code generator/optimizer

  16. LynxOS Impl WinNT Impl VxWorks Impl WinNT LynxOS VxWorks New Approach:Applying Reflection to Optimize DRE Middleware Conventional middleware for embedded systems is developed & optimized in a manner similar to early compiler technologies: • Conventional middleware require • Separate tools and interfaces hand-written for each ORB middleware specification • e.g., CORBA, Java RMI, COM+ CORBA Application CORBA ORB & Assorted Tools • 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, time-consuming, 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

  17. Java Application COM+ Application Java RMI & Assorted Tools COM+ ORB & Assorted Tools Solaris Impl Win98 Impl LynxOS Impl Win2K Impl WinNT Impl WinNT Impl Linux Impl WinCE Impl VxWorks Impl Win2K Solaris WinNT Win98 WinNT LynxOS Linux WinCE VxWorks New Approach:Applying Reflection to Optimize DRE Middleware Conventional middleware for embedded systems is developed & optimized in a manner similar to early compiler technologies: • Conventional middleware require • Separate tools and interfaces hand-written for each ORB middleware specification • e.g., CORBA, Java RMI, COM+ CORBA Application CORBA ORB & Assorted Tools • 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, time-consuming, 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

  18. Application Requirements 3. Generate middleware that is customized for a particular platform & application use-case 2. Use discrimination network to analyze the optimization rules & opportunities Middleware Generator Plat1 Plat2 Plat3 Plat1 .pd Plat2 .pd Plat3 .pd 1. Read the target platform description & application requirements New Approach:Applying Reflection to Optimize DRE Middleware • The functional and QoS-related properties of embedded systems middleware can be improved greatly by advanced R&D on the following topics: • A common internal representation (ideally auto-generated) for each middleware specification • Based on generalizing the middleware semantics CORBA/Java/COM+ Applications Common ORB + Assorted Tools • 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 Common Semantic Representation Plat1 Impl Plat2 Impl Plat3 Impl

  19. Multi-faceted Software Development Air Frame AP Nav WTS Comparable & Customizable Frameworks & Intelligent Middleware Event Channel Replication Service Object Request Broker GPS IFF FLIR Cross-cutting Concerns Synchronization Applications to Embedded Systems Persistence Memory Management Fault Tolerance Model-based Software Development & Domain-specific Languages Collaborative Software Development Environments Patterns & Pattern Languages DARPA DRE Software R&D Focus

More Related