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.
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:
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.
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:
The book gives an overview of parallel and distributed embedded systems and narrates the application of these embedded systems in various application domains.
The book includes various chapters illustrating modeling of parallel and distributed embedded systems.
The book includes various chapters illustrating optimizations of parallel and distributed embedded systems.
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.
This book is organized into three parts:
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 3–5. 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 6–12. 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.