Configuration and deployment derivation strategies for distributed real-time and embedded systems

In contrast to federated systems in which hardware and software are tightly coupled, distributed real-time and embedded (DRE) are constructed by allocating software tasks to hardware. This allocation, known as a deployment plan, must ensure that several design constraints, such as QoS demands and strict resource requirements, are satisfied. Further, the financial cost and performance of these systems may differ greatly based on software allocation decisions. As a result, creating a low cost, high performance deployment that satisfies all design constraints is difficult. Distributed real-time and embedded (DRE) systems can also be constructed by using a new development paradigm that relies on configuring commercial-off-the-shelf (COTS) components rather than developing source code from scratch. COTS components are reusable hardware, operating system, and middleware components. Configuring largescale DRE systems with COTS components reduces development-cycle time and cost. DRE systems are subject to strict resource requirements as well as quality of service (QoS) demands, making DRE system configuration difficult. This proposal describes techniques for addressing the challenges of deriving DRE system configurations and deployments. First, we show how heuristic algorithms can be utilized to rapidly determine system deployments that meet QoS demands and resource requirements. Second, we examine the use of metaheuristic algorithms to optimize system-wide deployment properties. Next, we describe a Model-Driven Architecture (MDA) based methodology for constructing a DRE system configuration modeling tool. Finally, we demonstrate a methodology that allows for DRE systems to be evolved over time as new COTS components become available.

[1]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[2]  Ragunathan Rajkumar,et al.  Partitioning bin-packing algorithms for distributed real-time systems , 2006, Int. J. Embed. Syst..

[3]  David Connolly Knapsack Problems: Algorithms and Computer Implementations , 1991 .

[4]  Guy G. Gable,et al.  An ERP maintenance model , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[5]  Jan Bosch,et al.  Representing Variability in Software Product Lines: A Case Study , 2002, SPLC.

[6]  Eric G. Manning,et al.  Heuristic Solutions for the Multiple-Choice Multi-dimension Knapsack Problem , 2001, International Conference on Computational Science.

[7]  Sudarshan K. Dhall,et al.  An On Line Algorithm for Real-Time Tasks Allocation , 1986, IEEE Real-Time Systems Symposium.

[8]  Klaus Pohl,et al.  Considering Variability in a System Family's Architecture During COTS Evaluation , 2005, ICCBSS.

[9]  Douglas C. Schmidt,et al.  Selecting highly optimal architectural feature sets with Filtered Cartesian Flattening , 2009, J. Syst. Softw..

[10]  Rajkumar Buyya,et al.  Energy Efficient Allocation of Virtual Machines in Cloud Data Centers , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[11]  Avinatan Hassidim,et al.  Cache Replacement Policies for Multicore Processors , 2010, ICS.

[12]  Douglas C. Schmidt,et al.  Automated Model-Based Configuration of Enterprise Java Applications , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[13]  Eyal de Lara,et al.  SnowFlock: rapid virtual machine cloning for cloud computing , 2009, EuroSys '09.

[14]  Du Wan Cheun,et al.  A Component-Based Process for Developing Automotive ECU Software , 2007, PROFES.

[15]  Lui Sha,et al.  On task schedulability in real-time control systems , 1996, 17th IEEE Real-Time Systems Symposium.

[16]  C. Alves,et al.  CRE : A Systematic Method for COTS Components Selection , 2007 .

[17]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[18]  Michael E. Wolf,et al.  Combining Loop Transformations Considering Caches and Scheduling , 2004, International Journal of Parallel Programming.

[19]  Frank Vahid,et al.  A binary-constraint search algorithm for minimizing hardware during hardware/software partitioning , 1994, EURO-DAC '94.

[20]  Sang Hyuk Son,et al.  New Strategies for Assigning Real-Time Tasks to Multiprocessor Systems , 1995, IEEE Trans. Computers.

[21]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[22]  John A. Stankovic Strategic directions in real-time and embedded systems , 1996, CSUR.

[23]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[24]  Chris F. Kemerer,et al.  An Empirical Approach to Studying Software Evolution , 1999, IEEE Trans. Software Eng..

[25]  Chaitali Chakrabarti,et al.  Memory Design and Exploration for Low Power, Embedded Systems , 1999 .

[26]  Rami G. Melhem,et al.  Comparison of global and partitioning schemes for scheduling rate monotonic tasks on a multiprocessor , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[27]  Prashant Pandey,et al.  Cloud computing , 2010, ICWET.

[28]  Cheng Wang,et al.  A computation offloading scheme on handheld devices , 2004, J. Parallel Distributed Comput..

[29]  Jan Reineke,et al.  Timing predictability of cache replacement policies , 2007, Real-Time Systems.

[30]  John D. Poole Model-Driven Architecture: Vision, Standards And Emerging Technologies , 2001 .

[31]  Srilatha Manne,et al.  Power and performance tradeoffs using various caching strategies , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[32]  C. Fonseca,et al.  GENETIC ALGORITHMS FOR MULTI-OBJECTIVE OPTIMIZATION: FORMULATION, DISCUSSION, AND GENERALIZATION , 1993 .

[33]  Hiroshi Nakamura,et al.  Augmenting Loop Tiling with Data Alignment for Improved Cache Performance , 1999, IEEE Trans. Computers.

[34]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[35]  Luigi V. Mancini,et al.  Fault-Tolerant Rate-Monotonic First-Fit Scheduling in Hard-Real-Time Systems , 1999, IEEE Trans. Parallel Distributed Syst..

[36]  Jeffrey M. Voas,et al.  Certifying Off-the-Shelf Software Components , 1998, Computer.

[37]  Wolfgang Rosenstiel,et al.  A method for partitioning UNITY language in hardware and software , 1994, EURO-DAC '94.

[38]  Tarek S. Abdelrahman,et al.  Array Data Layout for the Reduction of Cache Conflicts , 2001 .

[39]  Gerda Janssens,et al.  Multi-dimensional incremental loop fusion for data locality , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

[40]  Eric Sprangle,et al.  Increasing processor performance by implementing deeper pipelines , 2002, ISCA.

[41]  M. Moser,et al.  An Algorithm for the Multidimensional Multiple-Choice Knapsack Problem , 1997 .

[42]  Kristof Beyls,et al.  Reuse Distance as a Metric for Cache Behavior. , 2001 .

[43]  Rami G. Melhem,et al.  An efficient RMS admission control and its application to multiprocessor scheduling , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[44]  Liang Liu,et al.  GreenCloud: a new architecture for green data center , 2009, ICAC-INDST '09.

[45]  Giuliano Antoniol,et al.  A robust search-based approach to project management in the presence of abandonment, rework, error and uncertainty , 2004 .

[46]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for the co-synthesis of hardware-software embedded systems , 1997, ICCAD 1997.

[47]  Ken Kennedy,et al.  Improving Memory Hierarchy Performance through Combined Loop Interchange and Multi-Level Fusion , 2004, Int. J. High Perform. Comput. Appl..

[48]  Philip S. Yu,et al.  Optimal Component Composition for Scalable Stream Processing , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[49]  Mahmut T. Kandemir,et al.  Studying energy trade offs in offloading computation/compilation in Java-enabled mobile devices , 2004, IEEE Transactions on Parallel and Distributed Systems.

[50]  Douglas C. Schmidt,et al.  Automating Hardware and Software Evolution Analysis , 2009, 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems.

[51]  Gabor Karsai,et al.  The Generic Modeling Environment , 2001 .

[52]  Weijia Jia,et al.  Scheduling hard and soft real-time communication in a controller area network , 1999 .

[53]  Alan Burns,et al.  Allocating hard real-time tasks: An NP-Hard problem made easy , 1992, Real-Time Systems.

[54]  Scott Hazelhurst,et al.  Scientific computing using virtual high-performance computing: a case study using the Amazon elastic computing cloud , 2008, SAICSIT '08.

[55]  Erol Gelenbe,et al.  Energy-Efficient Cloud Computing , 2010, Comput. J..

[56]  Eugene C. Freuder,et al.  Configuration as Composite Constraint Satisfaction , 1996 .

[57]  Douglas C. Schmidt,et al.  ASCENT: An Algorithmic Technique for Designing Hardware and Software in Tandem , 2010, IEEE Transactions on Software Engineering.

[58]  Richard Wolski,et al.  The Eucalyptus Open-Source Cloud-Computing System , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[59]  Kunle Olukotun,et al.  Exploring the design space for a shared-cache multiprocessor , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[60]  Nikil D. Dutt,et al.  Data cache sizing for embedded processor applications , 1998, Proceedings Design, Automation and Test in Europe.

[61]  Mohammad Sohel Rahman,et al.  A multiprocessor based heuristic for multi-dimensional multiple-choice knapsack problem , 2007, The Journal of Supercomputing.

[62]  Donal Heffernan,et al.  Expanding Automotive Electronic Systems , 2002, Computer.

[63]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[64]  Edward Y. H. Lin,et al.  A Bibliographical Survey On Some Well-Known Non-Standard Knapsack Problems , 1998 .

[65]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[66]  Mhand Hifi,et al.  Heuristic algorithms for the multiple-choice multidimensional knapsack problem , 2004, J. Oper. Res. Soc..

[67]  Martin Gogolla,et al.  On Formalizing the UML Object Constraint Language OCL , 1998, ER.

[68]  Cheng Wang,et al.  Task allocation for distributed multimedia processing on wirelessly networked handheld devices , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[69]  Mhand Hifi,et al.  A Reactive Local Search-Based Algorithm for the Multiple-Choice Multi-Dimensional Knapsack Problem , 2006, Comput. Optim. Appl..

[70]  R. Eberhart,et al.  Empirical study of particle swarm optimization , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[71]  Niraj K. Jha,et al.  Hardware-software co-synthesis of fault-tolerant real-time distributed embedded systems , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[72]  Kathryn S. McKinley,et al.  A Parametrized Loop Fusion Algorithm for Improving Parallelism and Cache Locality , 1997, Comput. J..

[73]  Maurizio Morisio,et al.  COTS-based software development: Processes and open issues , 2002, J. Syst. Softw..

[74]  D. Kirovski,et al.  System-level Synthesis Of Low-power Hard Real-time Systems , 1997, Proceedings of the 34th Design Automation Conference.

[75]  Lui Sha,et al.  Real-time scheduling theory and Ada , 1990, Computer.

[76]  Lawrence Chung,et al.  COTS-Aware Requirements Engineering and Software Architecting , 2004, Software Engineering Research and Practice.

[77]  Aniruddha S. Gokhale,et al.  Applying model-integrated computing to component middleware and enterprise applications , 2002, CACM.

[78]  Douglas C. Schmidt,et al.  Middleware for real-time and embedded systems , 2002, CACM.

[79]  Srini Srinivasan,et al.  NAOMI - An Experimental Platform for Multi-modeling , 2008, MoDELS.

[80]  J. D. Holt,et al.  Classical and object-oriented software engineering , 1997 .

[81]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[82]  Jay K. Strosnider,et al.  Responsive, deterministic IEEE 802.5 token ring scheduling , 1989, Real-Time Systems.

[83]  Aniruddha S. Gokhale,et al.  Total quality of service provisioning in middleware and applications , 2003, Microprocess. Microsystems.

[84]  Andreas Jost Residual Value Analysis , 2005 .

[85]  Markus Kowarschik,et al.  An Overview of Cache Optimization Techniques and Cache-Aware Numerical Algorithms , 2002, Algorithms for Memory Hierarchies.

[86]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[87]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..

[88]  Janak H. Patel,et al.  Stride directed prefetching in scalar processors , 1992, MICRO.

[89]  Geert Deconinck,et al.  Fault-Tolerant Partitioning Scheduling Algorithms in Real-Time Multiprocessor Systems , 2006, 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06).

[90]  Raymond R. Hill,et al.  New greedy heuristics for the Multiple-choice Multi-dimensional Knapsack Problem , 2007 .

[91]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..

[92]  Marija Mikic-Rakic,et al.  Architecture-Level Support for Software Component Deployment in Resource Constrained Environments , 2002, Component Deployment.

[93]  Niraj K. Jha,et al.  MOCSYN: multiobjective core-based single-chip system synthesis , 1999, DATE '99.

[94]  Mark S. Squillante,et al.  Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling , 1993, IEEE Trans. Parallel Distributed Syst..

[95]  G. Nordstrom,et al.  On metamodel composition , 2001, Proceedings of the 2001 IEEE International Conference on Control Applications (CCA'01) (Cat. No.01CH37204).

[96]  Donald E. Thomas,et al.  Architectural Partitioning for System Level Design , 1989, 26th ACM/IEEE Design Automation Conference.

[97]  Axel Uhl,et al.  MDA Distilled , 2004 .

[98]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[99]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[100]  W. Damm,et al.  Boosting Re-use of Embedded Automotive Applications Through Rich Components , 2005 .

[101]  Yan Solihin,et al.  An analytical model for cache replacement policy performance , 2006, SIGMETRICS '06/Performance '06.