Marco Ottavi Dimitris Gizopoulos Salvatore Pontarelli Editors
Total Page:16
File Type:pdf, Size:1020Kb
Marco Ottavi Dimitris Gizopoulos Salvatore Pontarelli Editors Dependable Multicore Architectures at Nanoscale Dependable Multicore Architectures at Nanoscale Marco Ottavi • Dimitris Gizopoulos Salvatore Pontarelli Editors Dependable Multicore Architectures at Nanoscale 123 Editors Marco Ottavi Salvatore Pontarelli Department of Electronic Engineering National Inter-University Consortium University of Rome Tor Vergata for Telecommunications (CNIT) Rome Rome Italy Italy Dimitris Gizopoulos Department of Informatics and Telecommunications National and Kapodistrian University of Athens Athens Greece ISBN 978-3-319-54421-2 ISBN 978-3-319-54422-9 (eBook) DOI 10.1007/978-3-319-54422-9 Library of Congress Control Number: 2017943827 © Springer International Publishing AG 2018 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. Printed on acid-free paper This Springer imprint is published by Springer Nature The registered company is Springer International Publishing AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland To my wife Fausta and my daughter Aurelia. —Marco Ottavi To my loves: my wife Georgia, my daughter Despina and my son Nikiforos. —Dimitris Gizopoulos To our Ph.D. advisor Adelio Salsano in memory of his dedication to work and his love for life. —Salvatore Pontarelli and Marco Ottavi Foreword I Dependable Multicore Architectures at Nanoscale is the latest and most exciting addition to the technical literature of fault-tolerant computing and dependable computer architecture. In the nanoscale manufacturing era in which correct circuit operation is jeopardized by multiple and sophisticated sources, or just be plain device unrelia- bility, the understanding and the mitigation of circuits for dependable operation is commonly considered a mandatory design requirement. Dependability enhance- ment measures and mechanisms are widely utilized today in computing and electronic systems across the entire performance spectrum, from the high com- plexity of a super-computer down to handheld/embedded devices in mobile systems. This edited volume captures an in-depth view of the state of the art in this ever-changing research and development domain. The chapters cover a broad treatment of the underlying challenges and related methodologies to deal with the increasing unreliability of state-of-the-art multicore architectures. In addition to capturing application-independent features, this book reports also contributions from major corporations and high-tech companies; the editors have also enlarged the scope of this book by involving researchers from major design companies to present views and expectations for future technical directions. Dependable Multicore Architectures at Nanoscale serves the dual purposes of a textbook for students and active practitioners; the material here presented can serve as a reference as well as inspiration for advance treatment of theoretical and experimental studies, as found in today’s dependable computing systems. October 2016 Fabrizio Lombardi Northeastern University, Boston, USA vii Foreword II Dependability of computing systems has been a major design concern since the early days of computing, with the goal of achieving high reliability and availability in the presence of unavoidable hardware and software faults. In recent years, the significance of computing systems’ dependability has grown even more due to two major trends. The first is the relentless and continuous spread of computer-based controllers into almost every imaginable product and application, including critical and even life-critical ones. The second trend is the tremendous increase in the complexity of computing systems that now consist of many processing cores implemented using billions of devices. This trend is exacerbated by the advances in the sub-micron technology. These have, on one hand, allowed the vast increase in the number of devices per integrated circuit, but on the other hand, brought about new fault mechanisms and considerable process variations. All this has increased considerably the likelihood of a single device (out of a billion) to become defective during manufacturing or to fail (permanently or intermittently) during the system’s lifetime. This book provides a timely and updated survey of the main issues in the design and use of dependable contemporary multicore systems. It contains a comprehensive survey of the prevalent fault mechanisms in the current nanotech- nology and describes in detail the available mitigation techniques to counter the effects of the potential faults. Two unique features of this book must be highlighted. First, it includes an extensive set of actual application scenarios, illustrating the ways different faults can impact the behavior of these applications, and describing the corresponding mitigation techniques that can be applied. Second, it includes chapters contributed by researchers from three multicore design companies. These chapters provide practical perspectives, straight from the trenches, of the different facets of dependability. ix x Foreword II I highly recommend this book to researchers and practitioners in the vital, and continuously evolving, field of dependable computing systems. October 2016 Israel Koren University of Massachusetts, Amherst, USA Foreword III I’m very pleased to write a foreword for this book which collects many significant and compelling contributions of the most active members of the MEDIAN community. I had the opportunity to work in the MEDIAN network of scientists and researchers and I believe that this book is the perfect way to crystallize and provide to a broader audience the discussions, the knowledge exchange, and the research results in the field of dependable multicore architectures achieved during the years in which the MEDIAN action was running. The book provides a solid background in the field of nanoscale reliability threats and possible mitigation strategies. These topics are discussed at different abstraction levels, without forgetting the interconnections and relationships between the various design layers. This makes this book a perfect tool for a reader who wants to approach the topic of dependability of current and next-generation systems. However, I believe that also experts of the field will appreciate this book for updating their knowledge and as a useful reference for their studies. The choice of describing the main threats and the most used mitigation solutions in specific application scenarios (use cases to the transportation, medical, and space) is one of the most intriguing reasons to read this book. At the same time, the vision provided by several scientists, researchers, and engineers working at the first line of the design of nanoscale systems provides a priceless instrument to know what will be the fundamental future trends in the field of dependable system design. This book can be used as a reference book and part of a reading list in a postgraduate course. October 2016 Dhiraj Pradhan University of Bristol, Bristol, UK xi Preface The increasing diversity, density, and complexity of electronic devices is enabling the so-called digital revolution with the evident pervasive presence of electronics in everybody’s lives. The benefits of this ubiquitous presence are impressive and widespread: from the constant improvement of productivity in the workplace to the societal impact of a constantly connected and sharing community. Whatever is the considered scenario, all this incredible progress has been relying on the assumption that the devices can be depended on in their application and for their purposes. The foundations for this assumption are based on a constant work behind the scenes of the technical and scientific community aimed at enhancing the dependability of the devices. Dependability is a broad term that summarizes several aspects of a system, which typically include availability, reliability, maintainability, safety, and security. All these aspects define whether and how the system will behave according to several requirements which can have different levels of priority based on the specific application. In particular, availability measures the amount of time a system is readily operating, reliability measures the continuity of the correct service, maintainability shows the ability of the system of being repaired and/or modified, safety targets the avoidance