Preface

Advancements in silicon technology, micro-electro-mechanical systems (MEMS), wireless communications, computer networking, and digital electronics have led to the proliferation of embedded systems in a plethora of application domains (e.g., industrial and home automation, automotive, space, medical, and defense). To meet the diverse application requirements of these application domains, novel trends have emerged in embedded systems. One such trend is networking single-unit embedded systems to form a multiple-unit embedded system, also referred to as a distributed embedded system. Given the collective computing capabilities of the single-unit embedded systems, the distributed embedded system enables more sophisticated applications of greater value as compared to an isolated single-unit embedded system. An emerging trend is to connect these distributed embedded systems via a wireless network instead of a bulky, wired networking infrastructure. Another emerging trend in embedded systems is to leverage multicore/manycore architectures to meet the continuously increasing performance demands of many application domains (e.g., medical imaging, mobile signal processing). Both single-unit and distributed embedded systems can leverage multicore architectures for attaining high performance and energy efficiency. Since processing is done in parallel with multicore-based embedded systems, these systems are being termed as parallel embedded systems. The burgeoning of multicore architectures in embedded systems induces parallel computing into the embedded domain, which was previously used predominantly in the supercomputing domain only. In some applications, parallel embedded systems are networked together to form parallel and distributed embedded systems. For both parallel and distributed embedded systems, modeling and optimization at various design levels (e.g., verification, simulation, analysis) are of paramount significance. Considering the short time-to-market for many embedded systems, often embedded system designers resort to modeling approaches for the evaluation of design alternatives in terms of performance, power, reliability, and/or scalability.

About This Book

Embedded computers have advanced well beyond the early days of 8-bit microcontrollers. Contemporary embedded computers are organized into multiprocessors that execute millions of lines of code in real time and at very low power levels. This book targets parallel and distributed embedded systems, which have been enabled by technological advances in silicon technology, MEMS, wireless communications, computer networking, and digital electronics. These parallel and distributed embedded systems have applications in various domains, such as military and defense, medical, automotive, and unmanned autonomous vehicles.

This book discusses parallel and distributed embedded systems with a main focus on three design metrics:

  • Performance
  • Power
  • Dependability

Often design metrics have conflicting resource requirements, and the interplay between these design metrics presents interesting research challenges.

The emphasis of this book is on modeling and optimization of emerging parallel and distributed embedded systems with respect to these design metrics.1 To illustrate the modeling and optimization of distributed embedded systems, we present our work on modeling and optimization of embedded sensor nodes in embedded wireless sensor networks (EWSNs). This book discusses optimization strategies employed in EWSNs at different design levels to meet application requirements, such as lifetime, throughput, and reliability. To illustrate modeling in distributed embedded systems, we discuss an application metrics estimation model that estimates high-level application metrics (e.g., lifetime, throughput) from low-level sensor node tunable parameters (e.g., processor voltage and frequency) and the sensor node's hardware internals (e.g., transceiver voltage, transceiver receive current). We discuss Markov Decision Process (MDP) for dynamic optimization of embedded sensor nodes in EWSNs to more closely adhere to application requirements. MDP is suitable for the dynamic optimization of the embedded sensor nodes because of MDP's inherent ability to perform dynamic decision making.

To enable in situ autonomous EWSN dynamic optimizations, we examine an online EWSN optimization methodology that extends static design time parameter tuning. Parameter tuning is the process of determining appropriate parameter values (e.g., processor voltage, processor frequency, sensing frequency) that meet application requirements. Static tuning optimizes an EWSN at deployment time and remains fixed for the EWSN's lifetime. Whereas static optimizations are suitable for stable/predictable applications, static optimizations are inflexible and do not adapt to changing application requirements and environmental stimuli. Our proposed methodology is advantageous over static design time parameter tuning because our methodology enables the embedded sensor node to automatically adapt to actual changing environmental stimuli, resulting in closer adherence to application requirements. Since many application designers are nonexperts (e.g., agriculturist, biologists) and lack sufficient expertise for parameter tuning, autonomous parameter tuning methodologies may alleviate many of these design challenges. Our methodology is more amenable to nonexpert application designers and requires no application designer effort after initial EWSN deployment. We develop lightweight (low computational and memory resources) online algorithms for the optimization methodology. These lightweight algorithms are crucial for embedded sensor nodes considering limited processing, storage, and energy resources of embedded sensor nodes in distributed EWSNs. We further discuss modeling and analysis of fault detection and fault tolerance (FT) in EWSNs.

This book elaborates on various high-performance and energy-efficient techniques at the architecture, middleware, and software levels for parallel multicore-based embedded systems. To elucidate the modeling of parallel embedded systems, this book discusses in detail our proposed queueing theoretic approach for modeling the performance of multicore embedded systems. This modeling technique enables quick and inexpensive architectural evaluation in terms of both design time and resources as compared to developing and/or using existing multicore simulators and running benchmarks on these simulators. Based on a preliminary evaluation using our model, architecture designers can run targeted benchmarks to further verify the performance characteristics of selected multicore architectures (i.e., our queueing theory-based model facilitates early design space pruning).

The book elucidates performance aspects of parallel multicore-based embedded systems by performance analysis of contemporary multicore embedded architectures: symmetric multiprocessors (SMPs) and tiled multicore architectures (TMAs). We compare the performance of SMPs and TMAs based on a parallelized information fusion application, a Gaussian elimination, and embarrassingly parallel benchmarks. We provide a quantitative comparison of these two architectures based on the calculations of various device metrics (e.g., computational density (CD), CD per watt (CD/W), internal memory bandwidth (IMB), and external memory bandwidth (EMB)). Although a quantitative comparison provides a high-level evaluation of the computational capabilities of the architectures, our work provides deeper insights based on parallelized benchmark-driven evaluation.

To illustrate parallel and distributed embedded systems with a unifying example, we discuss an architecture for heterogeneous hierarchical multicore embedded wireless sensor networks (MCEWSNs). We elaborate several compute-intensive tasks, such as information fusion, encryption, network coding, and software-defined radio, which will benefit in particular from the increased computation power offered by multicore embedded sensor nodes. We characterize and discuss various application domains for MCEWSNs. The book concludes with the research challenges and future research directions for parallel and distributed embedded systems.

Highlights

This book focuses on modeling, analysis, and optimization of parallel and distributed embedded systems. To illustrate the modeling and optimization of distributed embedded systems, we focus on modeling and optimization of distributed EWSNs. Specifically, we target dynamic optimization methodologies based on the sensor node tunable parameter value settings for EWSNs. We elaborate additional modeling issues in parallel embedded systems, which have come into existence owing to the burgeoning multicore/manycore revolution, by our performance modeling of multicore parallel embedded systems.

The highlights of this book include the following:

Overview of Parallel and Distributed Embedded Systems

The book gives an overview of parallel and distributed embedded systems and narrates the application of these embedded systems in various application domains.

  1. Multicore-Based EWSNs—An Example of Parallel and Distributed Embedded Systems: We deliberate on the feasibility and application of multicore parallel architectures as processing units in distributed embedded sensor nodes. We propose a MCEWSN architecture based on multicore embedded sensor nodes, which serves as an example of parallel and distributed embedded systems. Furthermore, we summarize the multicore initiative in EWSNs by academia and industry.

Modeling of Parallel and Distributed Embedded Systems

The book includes various chapters illustrating modeling of parallel and distributed embedded systems.

  1. Application Metrics Estimation Model: The book discusses an application metrics estimation model that estimates high-level application metrics (e.g., lifetime, throughput) from low-level embedded sensor node tunable parameters and the embedded sensor node's hardware internals (e.g., processor voltage and frequency). Our dynamic optimization methodologies for embedded sensor nodes leverage this estimation model while comparing different operating states for optimization purposes.
  2. Modeling and Analysis of Fault Detection and Fault Tolerance: The book illustrates the modeling of reliable embedded systems via modeling of fault detection and FT in EWSNs. We propose an FT sensor node model consisting of duplex sensors (i.e., one active sensor and one inactive spare sensor), which exploits the synergy of fault detection and FT.
  3. Queueing Theoretic Modeling of Multicore-Based Parallel Embedded Architectures: The book proposes a queueing theory-based modeling technique for evaluating multicore parallel embedded architectures. The modeling technique would enable quick and inexpensive architectural evaluation in terms of both design time and resources as compared to developing and/or using existing multicore simulators and running benchmarks on these simulators.

Optimization of Parallel and Distributed Embedded Systems

The book includes various chapters illustrating optimizations of parallel and distributed embedded systems.

  1. Optimization Approaches in Distributed Embedded Systems: The book discusses various optimization approaches in distributed embedded systems focusing on distributed EWSNs.
  2. Performance and Energy Optimizations for Parallel Embedded Systems: We elaborate on performance and energy optimizations for parallel embedded systems. Although the literature discusses high-performance parallel computing for supercomputers, there exists little discussion on high-performance energy-efficient parallel embedded computing.
  3. Dynamic Optimization Methodologies: We explore dynamic optimization methodologies for distributed embedded systems with EWSNs as an example. First, we propose an MDP-based dynamic optimization methodology for embedded sensor nodes. MDP is suitable for EWSN dynamic optimization because of MDP's inherent ability to perform dynamic decision making. We then present online algorithms for dynamic optimization of embedded sensor nodes in distributed EWSNs. Lightweight (low computational and memory resources) online algorithms for design space exploration are crucial for embedded sensor nodes considering the limited processing, storage, and energy resources of embedded sensor nodes. We discuss a lightweight dynamic optimization methodology for embedded sensor nodes that intelligently selects appropriate initial tunable parameter value settings by evaluating the application's unique requirements, the relative importance of these requirements with respect to each other, and the magnitude in which each parameter affects each requirement.
  4. Analysis and Optimization of Parallel Embedded Systems: The book conducts a performance analysis of parallel embedded systems focusing on SMPs and TMAs—an architectural innovation in the multicore technology—based on parallelized benchmarks. We identify key architecture and software optimizations to attain high performance from parallel embedded systems focusing on TMAs. We discuss the performance optimizations on a single tile (processor core) as well as on parallel performance optimizations, such as application decomposition, cache locality, tile locality, memory balancing, and horizontal communication for TMAs. We elaborate on compiler-based optimizations that are applicable to TMAs, such as function inlining, loop unrolling, and feedback-based optimizations. We present a case study using optimized dense matrix multiplication algorithms for TMAs to experimentally demonstrate the performance and performance per watt optimizations on TMAs.

Intended Audience

The book is mainly aimed as a reference book for students and researchers in embedded systems. The book's main target audience consists of senior undergraduate students, graduate students, and researchers involved in embedded systems research. Some chapters of the book contain advanced material suitable for senior undergraduate students, graduate students, and researchers in computer engineering or computer science; however, the book also contains several introductory chapters that do not require any deep knowledge of embedded systems to follow the material. The book can be considered as a mix of introductory and advanced materials on embedded systems.

Organization of the Book

This book is organized into three parts:

  • Overview
  • Modeling
  • Optimization

The “Overview” part provides an introduction to embedded systems, modeling, and optimization of parallel and distributed embedded systems. The “Modeling” and “Optimization” parts illustrate modeling and optimization issues, respectively, through EWSNs and multicore. Following is the description of the organization of the chapters into three parts of the book.

The “Overview” part consists of Chapters 1 and 2. Chapter 1 gives an overview of parallel and distributed embedded systems. Chapter 2 proposes an MCEWSN architecture based on multicore embedded sensor nodes. The MCEWSN architecture serves as an example for parallel and distributed embedded systems. The chapter then summarizes the multicore and parallel computing initiatives in EWSNs by academia and industry.

The “Modeling” part consists of Chapters 35. Chapter 3 presents an application metrics estimation model for distributed EWSN. Modeling and analysis of fault detection and fault tolerance in EWSNs are presented in Chapter 4. Chapter 5 discusses a novel, queueing theory-based modeling technique for evaluating multicore embedded architectures for parallel embedded systems.

The “Optimization” part consists of Chapters 612. Chapter 6 discusses various optimization approaches in distributed embedded systems focusing on distributed EWSNs. Various performance and energy optimizations for parallel multicore embedded systems are discussed in Chapter 7. The MDP-based dynamic optimization methodology for embedded sensor nodes in distributed EWSNs is presented in Chapter 8. Online algorithms for embedded sensor node's tunable parameter-based dynamic optimization are presented in Chapter 9. Chapter 10 presents a lightweight dynamic optimization methodology for embedded sensor nodes in distributed EWSNs. Chapter 11 evaluates performance of parallel embedded systems leveraging SMPs and TMAs based on parallelized benchmarks. Chapter 12 identifies key architecture and software optimizations to attain high performance from parallel embedded systems and illustrates these optimizations via a case study of dense matrix multiplication on TMAs. Finally, Chapter 13 concludes this book.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset