A Survey on Hardware-Aware and Heterogeneous Computing on Multicore Processors and Accelerators
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
USE CASE Requirements
Ref. Ares(2017)2745733 - 31/05/2017 USE CASE Requirements Co-funded by the Horizon 2020 Framework Programme of the European Union DELIVERABLE NUMBER D2.1 DELIVERABLE TITLE USE CASE Requirements RESPONSIBLE AUTHOR CSI Piemonte OPERA: LOw Power Heterogeneous Architecture for Next Generation of SmaRt Infrastructure and Platform in Industrial and Societal Applications GRANT AGREEMENT N. 688386 PROJECT REF. NO H2020 - 688386 PROJECT ACRONYM OPERA LOw Power Heterogeneous Architecture for Next Generation of PROJECT FULL NAME SmaRt Infrastructure and Platform in Industrial and Societal Applications STARTING DATE (DUR.) 01 /12 /2015 ENDING DATE 30/11/2018 PROJECT WEBSITE www.operaproject.eu WP2 | Low Power Computing Requirements and Innovation WORKPACKAGE N. | TITLE Engineering WORKPACKAGE LEADER ISMB DELIVERABLE N. | TITLE D2.1 | USE CASE Requirements RESPONSIBLE AUTHOR Luca Scanavino – CSI Piemonte DATE OF DELIVERY M10 (CONTRACTUAL) DATE OF DELIVERY (SUBMITTED) M10 VERSION | STATUS V2.0 (update) NATURE R(Report) DISSEMINATION LEVEL PU(Public) AUTHORS (PARTNER) CSI PIEMONTE, DEPARTMENT DE L’ISERE, ISMB D2.1 | USE CASEs Requirements 1 OPERA: LOw Power Heterogeneous Architecture for Next Generation of SmaRt Infrastructure and Platform in Industrial and Societal Applications VERSION MODIFICATION(S) DATE AUTHOR(S) Luca Scanavino – CSI Jean-Christophe 0.1 All Document 12/09/2016 Maisonobe – LD38 Pietro Ruiu – ISMB Alberto Scionti - ISMB Finalization of the 1.0 15/09/2016 Giulio URLINI (ST) document Update based on the Luca Scanavino – CSI feedback -
On Heterogeneous Compute and Memory Systems
ON HETEROGENEOUS COMPUTE AND MEMORY SYSTEMS by Jason Lowe-Power A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Sciences) at the UNIVERSITY OF WISCONSIN–MADISON 2017 Date of final oral examination: 05/31/2017 The dissertation is approved by the following members of the Final Oral Committee: Mark D. Hill, Professor, Computer Sciences Dan Negrut, Professor, Mechanical Engineering Jignesh M. Patel, Professor, Computer Sciences Karthikeyan Sankaralingam, Associate Professor, Computer Sciences David A. Wood, Professor, Computer Sciences © Copyright by Jason Lowe-Power 2017 All Rights Reserved i Acknowledgments I would like to acknowledge all of the people who helped me along the way to completing this dissertation. First, I would like to thank my advisors, Mark Hill and David Wood. Often, when students have multiple advisors they find there is high “synchronization overhead” between the advisors. However, Mark and David complement each other well. Mark is a high-level thinker, focusing on the structure of the argument and distilling ideas to their essentials; David loves diving into the details of microarchitectural mechanisms. Although ever busy, at least one of Mark or David were available to meet with me, and they always took the time to help when I needed it. Together, Mark and David taught me how to be a researcher, and they have given me a great foundation to build my career. I thank my committee members. Jignesh Patel for his collaborations, and for the fact that each time I walked out of his office after talking to him, I felt a unique excitement about my research. -
Copyrighted Material
CHAPTER 1 MULTI- AND MANY-CORES, ARCHITECTURAL OVERVIEW FOR PROGRAMMERS Lasse Natvig, Alexandru Iordan, Mujahed Eleyat, Magnus Jahre and Jorn Amundsen 1.1 INTRODUCTION 1.1.1 Fundamental Techniques Parallelism hasCOPYRIGHTED been used since the early days of computing MATERIAL to enhance performance. From the first computers to the most modern sequential processors (also called uni- processors), the main concepts introduced by von Neumann [20] are still in use. How- ever, the ever-increasing demand for computing performance has pushed computer architects toward implementing different techniques of parallelism. The von Neu- mann architecture was initially a sequential machine operating on scalar data with bit-serial operations [20]. Word-parallel operations were made possible by using more complex logic that could perform binary operations in parallel on all the bits in a computer word, and it was just the start of an adventure of innovations in parallel computer architectures. Programming Multicore and Many-core Computing Systems, 3 First Edition. Edited by Sabri Pllana and Fatos Xhafa. © 2017 John Wiley & Sons, Inc. Published 2017 by John Wiley & Sons, Inc. 4 MULTI- AND MANY-CORES, ARCHITECTURAL OVERVIEW FOR PROGRAMMERS Prefetching is a 'look-ahead technique' that was introduced quite early and is a way of parallelism that is used at several levels and in different components of a computer today. Both data and instructions are very often accessed sequentially. Therefore, when accessing an element (instruction or data) at address k, an auto- matic access to address k+1 will bring the element to where it is needed before it is accessed and thus eliminates or reduces waiting time. -
Programming the Cell Broadband Engine Examples and Best Practices
Front cover Draft Document for Review February 15, 2008 4:59 pm SG24-7575-00 Programming the Cell Broadband Engine Examples and Best Practices Practical code development and porting examples included Make the most of SDK 3.0 debug and performance tools Understand and apply different programming models and strategies Abraham Arevalo Ricardo M. Matinata Maharaja Pandian Eitan Peri Kurtis Ruby Francois Thomas Chris Almond ibm.com/redbooks Draft Document for Review February 15, 2008 4:59 pm 7575edno.fm International Technical Support Organization Programming the Cell Broadband Engine: Examples and Best Practices December 2007 SG24-7575-00 7575edno.fm Draft Document for Review February 15, 2008 4:59 pm Note: Before using this information and the product it supports, read the information in “Notices” on page xvii. First Edition (December 2007) This edition applies to Version 3.0 of the IBM Cell Broadband Engine SDK, and the IBM BladeCenter QS-21 platform. © Copyright International Business Machines Corporation 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Draft Document for Review February 15, 2008 4:59 pm 7575TOC.fm Contents Preface . xi The team that wrote this book . xi Acknowledgements . xiii Become a published author . xiv Comments welcome. xv Notices . xvii Trademarks . xviii Part 1. Introduction to the Cell Broadband Engine . 1 Chapter 1. Cell Broadband Engine Overview . 3 1.1 Motivation . 4 1.2 Scaling the three performance-limiting walls. 6 1.2.1 Scaling the power-limitation wall . 6 1.2.2 Scaling the memory-limitation wall . -
Cell Broadband Engine Architecture
Cell Broadband Engine Architecture Patrick White Aun Kei Hong Overview • Background • Overall Chip • Goals Specifications • Components • Commercialization – PPE • Conclusion – SPE –EIB – Memory I/O –PMU, TMU Background • Ken Kutaragi • Sony, IBM, and Toshiba Partnership • 400+ people and $400M • 10 centers globally Goals • Parallelism – Thread Level – Instruction Level – Data Level • Create a computer that acts like cells in a biological system POWER Processing Element (PPE) • Power Processing Unit (PPU) • Cache – 32 kB L1 Cache – 512 kB L2 Cache • SIMD (Single Issue Multiple Data) – Vector multimedia extension • Controls SPEs POWER Processing Unit (PPU) • Main processor • Dual issue, In order, Dual thread Synergistic Processing Element (SPE) • Synergistic Processing Unit • Memory Flow Controller • Direct Memory Access Synergistic Processing Unit (SPU) • Dual issue, in order • 256 kB embedded SRAM • 128 entry operations per cycle Memory Flow Controller (MFC) • Connects SPE to EIB • Communicates through SPU channel interface • Process commands by depending on the type of commands • Process DMA Commands Element Interconnect Bus (EIB) • Facilitates commutation between the PPE, SPE, Main Memory, and I/O • 4 16-bit wide data rings • Allows up to 3 concurrent transfers • Contains a data bus arbiter that decides which ring handles each request • Runs on half the processor speed Memory Interface Controller (MIC) • Interface between main memory and the Cell • Two Rambus XRD memory banks – 36 bits wide – Independent control bus • Banks are interleaved -
Sony/Toshiba/IBM (STI) CELL Processor Three Performance-Limiting Walls
Sony/Toshiba/IBM (STI) CELL Processor Scientific Computing for Engineers: Spring 2007 Three Performance-Limiting Walls ¾ Power Wall Increasingly, microprocessor performance is limited by achievable power dissipation rather than by the number of available integrated-circuit resources (transistors and wires). Thus, the only way to significantly increase the performance of microprocessors is to improve power efficiency at about the same rate as the performance increase. ¾ Frequency Wall Conventional processors require increasingly deeper instruction pipelines to achieve higher operating frequencies. This technique has reached a point of diminishing returns, and even negative returns if power is taken into account. ¾ Memory Wall On multi-gigahertz symmetric multiprocessors – even those with integrated memory controllers – latency to DRAM memory is currently approaching 1,000 cycles. As a result, program performance is dominated by the activity of moving data between main storage (the effective-address space that includes main memory) and the processor. 01/31/07 11:10 2 1 The Memory Wall "When a sequential program on a conventional architecture performs a load instruction that misses in the caches, program execution now comes to a halt for several hundred cycles. [...] Even with deep and costly speculation, conventional processors manage to get at best a handful of independent memory accesses in flight. The result can be compared to a bucket brigade in which a hundred people are required to cover the distance to the water needed to put the fire out, but only a few buckets are available." H. Peter Hofstee "Cell Broadband Engine Architecture from 20,000 feet" http://www-128.ibm.com/developerworks/power/library/pa-cbea.html Their (multicore) low cost does not guarantee their effective use in HPC. -
Heterogeneous Cpu+Gpu Computing
HETEROGENEOUS CPU+GPU COMPUTING Ana Lucia Varbanescu – University of Amsterdam [email protected] Significant contributions by: Stijn Heldens (U Twente), Jie Shen (NUDT, China), Heterogeneous platforms • Systems combining main processors and accelerators • e.g., CPU + GPU, CPU + Intel MIC, AMD APU, ARM SoC • Everywhere from supercomputers to mobile devices Heterogeneous platforms • Host-accelerator hardware model Accelerator FPGAs Accelerator PCIe / Shared memory ... Host MICs Accelerator GPUs Accelerator CPUs Our focus today … • A heterogeneous platform = CPU + GPU • Most solutions work for other/multiple accelerators • An application workload = an application + its input dataset • Workload partitioning = workload distribution among the processing units of a heterogeneous system Few cores Thousands of Cores 5 Generic multi-core CPU 6 Programming models • Pthreads + intrinsics • TBB – Thread building blocks • Threading library • OpenCL • To be discussed … • OpenMP • Traditional parallel library • High-level, pragma-based • Cilk • Simple divide-and-conquer model abstractionincreasesLevel of 7 A GPU Architecture Offloading model Kernel Host code 9 Programming models • CUDA • NVIDIA proprietary • OpenCL • Open standard, functionally portable across multi-cores • OpenACC • High-level, pragma-based • Different libraries, programming models, and DSLs for different domains Level of abstractionincreasesLevel of CPU vs. GPU 10 ALU ALU CPU Control Low latency, high Throughput: ~ALU 500 GFLOPsALU flexibility. Bandwidth: ~ 60 GB/s Excellent for -
State-Of-The-Art in Heterogeneous Computing
Scientific Programming 18 (2010) 1–33 1 DOI 10.3233/SPR-2009-0296 IOS Press State-of-the-art in heterogeneous computing Andre R. Brodtkorb a,∗, Christopher Dyken a, Trond R. Hagen a, Jon M. Hjelmervik a and Olaf O. Storaasli b a SINTEF ICT, Department of Applied Mathematics, Blindern, Oslo, Norway E-mails: {Andre.Brodtkorb, Christopher.Dyken, Trond.R.Hagen, Jon.M.Hjelmervik}@sintef.no b Oak Ridge National Laboratory, Future Technologies Group, Oak Ridge, TN, USA E-mail: [email protected] Abstract. Node level heterogeneous architectures have become attractive during the last decade for several reasons: compared to traditional symmetric CPUs, they offer high peak performance and are energy and/or cost efficient. With the increase of fine-grained parallelism in high-performance computing, as well as the introduction of parallelism in workstations, there is an acute need for a good overview and understanding of these architectures. We give an overview of the state-of-the-art in heterogeneous computing, focusing on three commonly found architectures: the Cell Broadband Engine Architecture, graphics processing units (GPUs), and field programmable gate arrays (FPGAs). We present a review of hardware, available software tools, and an overview of state-of-the-art techniques and algorithms. Furthermore, we present a qualitative and quantitative comparison of the architectures, and give our view on the future of heterogeneous computing. Keywords: Power-efficient architectures, parallel computer architecture, stream or vector architectures, energy and power consumption, microprocessor performance 1. Introduction the speed of logic gates, making computers smaller and more power efficient. Noyce and Kilby indepen- The goal of this article is to provide an overview of dently invented the integrated circuit in 1958, leading node-level heterogeneous computing, including hard- to further reductions in power and space required for ware, software tools and state-of-the-art algorithms. -
University of Denver | Graduate Bulletin 2014-2015 5
University of Denver graduate Bulletin 2014-2015 Table of Contents Graduate .............................................................................................................................................................................................................................. 5 About DU ............................................................................................................................................................................................................................. 6 Equal Opportunity and Non-Discrimination Policy ........................................................................................................................................................ 6 University Goverance and Organization ....................................................................................................................................................................... 6 Accreditation ....................................................................................................................................................................................................................... 10 About Graduate Policy ....................................................................................................................................................................................................... 11 Dual and Joint Graduate Degrees .................................................................................................................................................................................... -
Summarizing CPU and GPU Design Trends with Product Data
Summarizing CPU and GPU Design Trends with Product Data Yifan Sun, Nicolas Bohm Agostini, Shi Dong, and David Kaeli Northeastern University Email: fyifansun, agostini, shidong, [email protected] Abstract—Moore’s Law and Dennard Scaling have guided the products. Equipped with this data, we answer the following semiconductor industry for the past few decades. Recently, both questions: laws have faced validity challenges as transistor sizes approach • Are Moore’s Law and Dennard Scaling still valid? If so, the practical limits of physics. We are interested in testing the validity of these laws and reflect on the reasons responsible. In what are the factors that keep the laws valid? this work, we collect data of more than 4000 publicly-available • Do GPUs still have computing power advantages over CPU and GPU products. We find that transistor scaling remains CPUs? Is the computing capability gap between CPUs critical in keeping the laws valid. However, architectural solutions and GPUs getting larger? have become increasingly important and will play a larger role • What factors drive performance improvements in GPUs? in the future. We observe that GPUs consistently deliver higher performance than CPUs. GPU performance continues to rise II. METHODOLOGY because of increases in GPU frequency, improvements in the thermal design power (TDP), and growth in die size. But we We have collected data for all CPU and GPU products (to also see the ratio of GPU to CPU performance moving closer to our best knowledge) that have been released by Intel, AMD parity, thanks to new SIMD extensions on CPUs and increased (including the former ATI GPUs)1, and NVIDIA since January CPU core counts. -
On Characterizing Performance of the Cell Broadband Engine Element Interconnect Bus
1 On Characterizing Performance of the Cell Broadband Engine Element Interconnect Bus Thomas William Ainsworth and Timothy Mark Pinkston Electrical Engineering Department University of Southern California Los Angeles, CA 90089-2562, USA E-mail: [email protected], [email protected] Abstract – With the rise of multicore computing, the design of on- microarchitecture are partitioned into multiple (and soon to be chip networks (or networks on chip) has become an increasingly many) clusters [17] – [20], tiles [21] – [24], and cores [25] – important component of computer architecture. The Cell [31]. Broadband Engine’s Element Interconnect Bus (EIB), with its On-chip networks may be used for different purposes and four data rings and shared command bus for end-to-end control, take on different forms by the microarchitecture to transfer supports twelve nodes—more than most mainstream on-chip networks, which makes it an interesting case study. As a first instructions, operand values, cache/memory blocks, step toward understanding the design and performance of on- cache/memory coherency traffic, status and control chip networks implemented within the context of a commercial information, etc. For example, of the eight on-chip networks multicore chip, this paper analytically evaluates the EIB network implemented in the TRIPS EDGE research prototype using conventional latency and throughput characterization architecture [23] for interconnecting its 106 heterogeneous methods as well as using a recently proposed 5-tuple latency tiles composing two processor cores and L2 cache integrated characterization model for on-chip networks. These are used to on-chip, two are 141-bit and 128-bit bidirectional mesh identify the end-to-end control component of the EIB (i.e., the networks used for transporting operand and memory data, shared command bus) as being the main bottleneck to achieving respectively, sent broadside; the remaining six are dedicated minimal, single-cycle latency and maximal 307.2 GB/sec raw effective bandwidth provided natively by the EIB. -
Heterogeneous Computing in the Edge
Heterogeneous Computing in the Edge Authors: Charles Byers Associate Chief Technical Officer Industrial Internet Consortium [email protected] IIC Journal of Innovation - 1 - Heterogeneous Computing in the Edge INTRODUCTION Heterogeneous computing is the technique where different types of processors with different data path architectures are applied together to optimize the execution of specific computational workloads. Traditional CPUs are often inefficient for the types of computational workloads we will run on edge computing nodes. By adding additional types of processing resources like GPUs, TPUs, and FPGAs, system operation can be optimized. This technique is growing in popularity in cloud data centers, but is nascent in edge computing nodes. This paper will discuss some of the types of processors used in heterogenous computing, leading suppliers of these technologies, example edge use cases that benefit from each type, partitioning techniques to optimize its application, and hardware / software architectures to implement it in edge nodes. Edge computing is a technique through which the computational, storage, and networking functions of an IoT network are distributed to a layer or layers of edge nodes arranged between the bottom of the cloud and the top of IoT devices1. There are many tradeoffs to consider when deciding how to partition workloads between cloud data centers and edge computing nodes, and which processor data path architecture(s) are optimum at each layer for different applications. Figure 1 is an abstracted view of a cloud-edge network that employs heterogenous computing. A cloud data center hosts a number of types of computing resources, with a central interconnect. These computing resources consist of traditional Complex Instruction Set Computing / Reduced Instruction Set Computing (CISC/RISC) servers, but also include Graphics Processing Unit (GPU) accelerators, Tensor Processing Units (TPUs), and Field Programmable Gate Array (FPGA) farms and a few other processor types to help accelerate certain types of workloads.