Lecture 1: Introduction to Parallel Computing Abhinav Bhatele, - - PowerPoint PPT Presentation

lecture 1 introduction to parallel computing
SMART_READER_LITE
LIVE PREVIEW

Lecture 1: Introduction to Parallel Computing Abhinav Bhatele, - - PowerPoint PPT Presentation

High Performance Computing Systems (CMSC714) Lecture 1: Introduction to Parallel Computing Abhinav Bhatele, Department of Computer Science A little bit about me Ph.D. from the University of Illinois Spent eight years at Lawrence


slide-1
SLIDE 1

Lecture 1: Introduction to Parallel Computing

Abhinav Bhatele, Department of Computer Science

High Performance Computing Systems (CMSC714)

slide-2
SLIDE 2

Abhinav Bhatele, CMSC714

A little bit about me …

  • Ph.D. from the University of Illinois
  • Spent eight years at Lawrence Livermore National Laboratory

2

  • Started at the University of Maryland in

August

slide-3
SLIDE 3

Abhinav Bhatele, CMSC714

Introductions

  • Name
  • MS or PhD / Department
  • Area of research
  • Why this course?
  • Something interesting/ unique about yourself

3

slide-4
SLIDE 4

Abhinav Bhatele, CMSC714

This course is

  • An introduction to parallel computing
  • Will cover programming models, architectures, tools, systems issues, algorithms and applications
  • A qualifying course for MS/PhD
  • Work expected:
  • Two programming assignments
  • Mid-term
  • Group project (3 students per group)
  • Classroom participation

4

slide-5
SLIDE 5

Abhinav Bhatele, CMSC714

The need for high performance computing

5

https://www.nature.com/articles/nature21414

Drug discovery

slide-6
SLIDE 6

Abhinav Bhatele, CMSC714

The need for high performance computing

5

https://www.nature.com/articles/nature21414

Drug discovery Weather forecasting

https://www.ncl.ucar.edu/Applications/wrf.shtml

slide-7
SLIDE 7

Abhinav Bhatele, CMSC714

The need for high performance computing

5

https://www.nature.com/articles/nature21414

Drug discovery Weather forecasting

https://www.ncl.ucar.edu/Applications/wrf.shtml

Study of the universe

https://www.nas.nasa.gov/SC14/demos/demo27.html

slide-8
SLIDE 8

Abhinav Bhatele, CMSC714

Why do we need parallelism

  • Make some science simulations feasible in the lifetime of humans
  • Either due to speed or memory requirements
  • Provide answers in realtime or near realtime

6

slide-9
SLIDE 9

Abhinav Bhatele, CMSC714

What is parallel computing?

  • Does it include:
  • Grid computing
  • Distributed computing
  • Cloud computing
  • Does it include:
  • Superscalar processors
  • Vector processors
  • Accelerators (GPUs, FPGAs)

7

slide-10
SLIDE 10

Abhinav Bhatele, CMSC714

Parallel Architecture

  • A set of nodes or processing elements connected by a network.

8

https://computing.llnl.gov/tutorials/parallel_comp

slide-11
SLIDE 11

Abhinav Bhatele, CMSC714

Interconnection networks

  • Different topologies for connecting nodes together
  • Used in the past: torus, hypercube
  • More popular currently: fat-tree, dragonfly

9

Column all-to-all (black) links Row all-to-all (green) links

A group with 96 Aries routers

Inter-group (blue) links (not all links are shown)

Two-level dragonfly with multiple groups

Torus Fat-tree Dragonfly

slide-12
SLIDE 12

Abhinav Bhatele, CMSC714

Memory and I/O sub-systems

  • Similar issues for both memory and disks (storage):
  • Where is it located?
  • View to the programmer vs. reality
  • Performance considerations: latency vs. throughput

10

slide-13
SLIDE 13

Abhinav Bhatele, CMSC714

System software: Programming models

  • Shared memory/ address-space
  • Explicit: Pthreads
  • Implicit: OpenMP
  • Distributed memory
  • Explicit: MPI
  • Implicit: Task-based models (Charm++)

11

User code Parallel runtime Communication library Operating system

slide-14
SLIDE 14

Abhinav Bhatele, CMSC714

Performance and debugging tools

  • Debugging parallel programs is challenging
  • Performance analysis and tuning is critical but hard

12

https://computing.llnl.gov/tutorials/totalview/ https://vampir.eu/tutorial/manual/performance_data_visualization

[0, 3.0 TB]

3000 2000 1000 2.0 TB 1.0 TB 3.0 TB 06 AM

[2016.09.02 08:56:12, 2016.09.02 09:15:42]

slide-15
SLIDE 15

Abhinav Bhatele, CMSC714

Systems Issues

  • Operating system noise
  • Network congestion
  • Congestion-avoiding routing
  • Parallel I/O
  • Job scheduling:
  • Interference from other jobs

13

slide-16
SLIDE 16

Abhinav Bhatele, CMSC714

Parallel algorithms and applications

  • Parallel Matrix Multiplication
  • Parallel Sorting
  • N-body calculations
  • Discrete event simulations

14

slide-17
SLIDE 17

Abhinav Bhatele, CMSC714

Parallel algorithms and applications

  • Parallel Matrix Multiplication
  • Parallel Sorting
  • N-body calculations
  • Discrete event simulations

14

  • Molecular dynamics
  • Computational cosmology
  • Weather and climate modeling
  • Discrete-event simulation
slide-18
SLIDE 18

Abhinav Bhatele 5218 Brendan Iribe Center (IRB) / College Park, MD 20742 phone: 301.405.4507 / e-mail: bhatele@cs.umd.edu

Questions?