Introduction to Parallel Computing, 2Nd Edition

Introduction to Parallel Computing, 2Nd Edition

732A54 Traditional Use of Parallel Computing: Big Data Analytics Large-Scale HPC Applications n High Performance Computing (HPC) l Much computational work (in FLOPs, floatingpoint operations) l Often, large data sets Introduction to l E.g. climate simulations, particle physics, engineering, sequence Parallel Computing matching or proteine docking in bioinformatics, … n Single-CPU computers and even today’s multicore processors cannot provide such massive computation power Christoph Kessler n Aggregate LOTS of computers à Clusters IDA, Linköping University l Need scalable parallel algorithms l Need to exploit multiple levels of parallelism Christoph Kessler, IDA, Linköpings universitet. C. Kessler, IDA, Linköpings universitet. NSC Triolith2 More Recent Use of Parallel Computing: HPC vs Big-Data Computing Big-Data Analytics Applications n Big Data Analytics n Both need parallel computing n Same kind of hardware – Clusters of (multicore) servers l Data access intensive (disk I/O, memory accesses) n Same OS family (Linux) 4Typically, very large data sets (GB … TB … PB … EB …) n Different programming models, languages, and tools l Also some computational work for combining/aggregating data l E.g. data center applications, business analytics, click stream HPC application Big-Data application analysis, scientific data analysis, machine learning, … HPC prog. languages: Big-Data prog. languages: l Soft real-time requirements on interactive querys Fortran, C/C++ (Python) Java, Scala, Python, … Programming models: Programming models: n Single-CPU and multicore processors cannot MPI, OpenMP, … MapReduce, Spark, … provide such massive computation power and I/O bandwidth+capacity Scientific computing Big-data storage/access: libraries: BLAS, … HDFS, … n Aggregate LOTS of computers à Clusters OS: Linux OS: Linux l Need scalable parallel algorithms HW: Cluster HW: Cluster l Need to exploit multiple levels of parallelism l Fault tolerance à Let us start with the common basis: Parallel computer architecture C. Kessler, IDA, Linköpings universitet. NSC Triolith3 C. Kessler, IDA, Linköpings universitet. 4 Parallel Computer Parallel Computer Architecture Concepts Classification of parallel computer architectures: n by control structure l SISD, SIMD, MIMD n by memory organization l in particular, Distributed memory vs. Shared memory n by interconnection network topology C. Kessler, IDA, Linköpings universitet. 5 C. Kessler, IDA, Linköpings universitet. 6 1 Classification by Control Structure Classification by Memory Organization … op e.g. (traditional) HPC cluster e.g. multiprocessor (SMP) or computer with a standard multicore CPU Most common today in HPC and Data centers: Hybrid Memory System • Cluster (distributed memory) op op op op 1 2 3 4 of hundreds, thousands of shared-memory servers each containing one or several multi-core CPUs C. Kessler, IDA, Linköpings universitet. 7 C. Kessler, IDA, Linköpings universitet. NSC Triolith8 Hybrid (Distributed + Shared) Memory Interconnection Networks (1) n Network = physical interconnection medium (wires, switches) + communication protocol (a) connecting cluster nodes with each other (DMS) (b) connecting processors with memory modules (SMS) Classification M M n Direct / static interconnection networks l connecting nodes directly to each other P R l Hardware routers (communication coprocessors) can be used to offload processors from most communication work n Switched / dynamic interconnection networks C. Kessler, IDA, Linköpings universitet. 9 C. Kessler, IDA, Linköpings universitet. 10 Interconnection Networks (2): P Interconnection Networks (3): P Simple Topologies P Fat-Tree Network P fully connected P P n Tree network extended for higher bandwidth (more switches, more links) closer to the root l avoids bandwidth bottleneck n Example: Infiniband network (www.mellanox.com) C. Kessler, IDA, Linköpings universitet. 11 C. Kessler, IDA, Linköpings universitet. 12 2 More about Interconnection Networks Example: Beowulf-class PC Clusters n Hypercube, Crossbar, Butterfly, Hybrid networks… à TDDC78 n Switching and routing algorithms with off-the-shelf CPUs (Xeon, Opteron, …) n Discussion of interconnection network properties l Cost (#switches, #lines) l Scalability (asymptotically, cost grows not much faster than #nodes) l Node degree l Longest path (à latency) l Accumulated bandwidth l Fault tolerance (worst-case impact of node or switch failure) l … C. Kessler, IDA, Linköpings universitet. 13 C. Kessler, IDA, Linköpings universitet. 14 Cluster Example: The Challenge Triolith (NSC, 2012 / 2013) n Today, basically all computers are parallel computers! A so-called Capability cluster l Single-thread performance stagnating (fast network for parallel applications, l Dozens of cores and hundreds of HW threads available per server not for just lots of independent l May even be heterogeneous (core types, accelerators) sequential jobs) l Data locality matters 1200 HP SL230 servers (compute l Large clusters for HPC and Data centers, require message passing nodes), each equipped with n Utilizing more than one CPU core requires thread-level parallelism 2 Intel E5-2660 (2.2 GHz Sandybridge) n One of the biggest software challenges: Exploiting parallelism processors with 8 cores each l Need LOTS of (mostly, independent) tasks to keep cores/HW threads busy and overlap waiting times (cache misses, I/O accesses) à 19200 cores in total l All application areas, not only traditional HPC 4 General-purpose, data mining, graphics, games, embedded, DSP, … à Theoretical peak performance l Affects HW/SW system architecture, programming languages, of 338 Tflops/s algorithms, data structures … l Parallel programming is more error-prone Mellanox Infiniband network (deadlocks, races, further sources of inefficiencies) (Fat-tree topology) 4 And thus more expensive and time-consuming C. Kessler, IDA, Linköpings universitet. NSC Triolith15 C. Kessler, IDA, Linköpings universitet. 16 Can’t the compiler fix it for us? Insight n Design of efficient / scalable parallel algorithms is, n Automatic parallelization? in general, a creative task that is not automatizable l at compile time: n But some good recipes exist … 4Requires static analysis – not effective for pointer-based l Parallel algorithmic design patterns à languages – inherently limited – missing runtime information 4needs programmer hints / rewriting ... 4ok only for few benign special cases: – loop vectorization – extraction of instruction-level parallelism l at run time (e.g. speculative multithreading) 4High overheads, not scalable C. Kessler, IDA, Linköpings universitet. 17 C. Kessler, IDA, Linköpings universitet. 18 3 The remaining solution … Parallel Programming Model n Manual parallelization! n System-software-enabled programmer’s view of the underlying hardware n Abstracts from details of the underlying architecture, e.g. network topology l using a parallel programming language / framework, n Focuses on a few characteristic properties, e.g. memory model 4e.g. MPI message passing interface for distributed memory; à Portability of algorithms/programs across a family of parallel architectures 4Pthreads, OpenMP, TBB, … for shared-memory l Generally harder, more error-prone than sequential Programmer’s view of Message passing programming, the underlying system (Lang. constructs, API, …) Shared Memory 4requires special programming expertise to exploit the HW à Programming model resources effectively Mapping(s) performed by l Promising approach: programming toolchain (compiler, runtime system, Domain-specific languages/frameworks, library, OS, …) 4Restricted set of predefined constructs doing most of the low-level stuff under the hood Underlying parallel computer architecture 4e.g. MapReduce, Spark, … for big-data computing C. Kessler, IDA, Linköpings universitet. 19 C. Kessler, IDA, Linköpings universitet. 20 Foster’s Method for Design of Parallel Programs (”PCAM”) PROBLEM PARALLEL + algorithmic PARTITIONING ALGORITHM approach DESIGN Design and Analysis Elementary COMMUNICATION Tasks of Parallel Algorithms + SYNCHRONIZATION Textbook-style parallel algorithm Introduction AGGLOMERATION PARALLEL MAPPING ALGORITHM + SCHEDULING ENGINEERING P1 P2 P3 (Implementation and adaptation for a specific Macrotasks (type of) parallel computer) Christoph Kessler, IDA, Linköpings universitet. C. Kessler, IDA, Linköpings universitet. à I. Foster, Designing and Building Parallel Programs. Addison-Wesley, 1995.22 Parallel Computation Model = Programming Model + Cost Model Parallel Cost Models A Quantitative Basis for the Design of Parallel Algorithms Christoph Kessler, IDA, Linköpings universitet. C. Kessler, IDA, Linköpings universitet. 23 4 How to analyze sequential algorithms: Cost Model The RAM (von Neumann) model for sequential computing Basic operations (instructions): - Arithmetic (add, mul, …) on registers - Load - Store op - Branch op1 Simplifying assumptions for time analysis: op2 - All of these take 1 time unit - Serial composition adds time costs T(op1;op2) = T(op1)+T(op2) C. Kessler, IDA, Linköpings universitet. 25 C. Kessler, IDA, Linköpings universitet. 26 Analysis of sequential algorithms: The PRAM Model – a Parallel RAM RAM model (Random Access Machine) s = d[0] for (i=1; i<N; i++) s = s + d[i] ß Data flow graph, showing dependences (precedence constraints) between operations PRAM variants à TDDD56, TDDC78 C. Kessler, IDA, Linköpings universitet. 27 C. Kessler, IDA, Linköpings universitet. 28 Remark A first parallel sum algorithm … PRAM model is very idealized, Keep the sequential

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us