1 / 12

Parallel Computing in the Multicore Era

This theme delves into the complexities of parallel computing in the era of multicore processors, addressing challenges and opportunities in programming techniques for high performance. Topics include hardware developments, programming tools, and energy efficiency concerns. The course units cover parallel program analysis, performance improvement, and advanced topics in multicore computing. Hands-on experiences with state-of-the-art multicore systems enhance understanding of parallel programming intricacies.

dcromer
Download Presentation

Parallel Computing in the Multicore Era

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallel Computingin the Multicore Era Graham Riley & Mikel Lujan 20th September 2017

  2. MSc in Advanced Computer ScienceTheme on“Parallel Computing in the Multicore Era” • Routine increases in clock speeds for uni-core microprocessors - which drove computational performance increases for more than 40 years, at a rate of 2 every ~2 years - are over. • Microprocessor chips are now multi-core: • but each CPU core has much the same performance as one uni-core microprocessor from around 2005, and it is the number of cores that is now increasing at an exponential rate (still doubles every ~2 years). • Also seen accelerators, e.g. GPGPUs, becoming mainstream. • This implies that parallel computing is now the concern of everyone – parallel computational activities need to be handled as the norm, rather than the exception. • Mainstream programmers of the future will need skills that are currently possessed by very few (due to the small numbers of, and inherent complexities in, parallel systems).

  3. year, cores per chip, feature size 2006, 2 cores, 65nm 2008, 4 cores, 45nm 2010, ~8 cores, 33nm 2012, ~16 cores, ~23nm 2014, ~32 cores, ~16nm sharing discontinuity 2016, ~64 cores, ~12nm 2018, ~128 cores, ~9nm 2020, ~256 cores, ~6nm 2022, ~512 cores, ~4nm 2024, ~1024 cores, ~3nm 2026, ~2048 cores, ~2nm scale discontinuity? 2028, ~4096 cores, ~1.5nm 2030, ~8192 cores, ~1nm 2032, ~16384 cores, <1nm Multicore “Roadmap”

  4. Dell PowerEdge, quad-core

  5. MSc in Advanced Computer ScienceTheme on“Parallel Computing in the Multicore Era” “This theme introduces students to the complexities of parallel computing by reviewing hardware developments and by providing programming techniques and tools that can alleviate the ensuing problems of correctness, reliability and performance in modern parallel systems.” Energy use is increasingly an issue both for low-power devices and Extreme-scale supercomputers.

  6. Challenge and Opportunity • Parallel programming is undoubtedly more difficult than sequential programming, especially if there is a need for high performance. • Moreover, the larger the number of processors (cores), the more difficult it becomes. • So, the downside is that programming is becoming progressively more difficult (e.g. Parallel C plus CUDA/OpenCL). • But, this also presents an opportunity to anyone who can develop appropriate skills. • There will be no shortage of available jobs!

  7. “Parallel Computing in the Multicore Era” The theme contains the following Course Units: • COMP60611 – Period 1 – “Parallel Programs and their Performance” – Graham Riley • COMP60621 – Period 2 – “Advanced Topics in Multicore Computing” – Mikel Luján Thursdays (commencing 28th September) room 2.15 Kilburn Building

  8. “Parallel Computing in the Multicore Era” COMP60611: Parallel Programs and their Performance • Explores a methodology for the development, analysis and improvement of high performance parallel programs for the solution of predominantly numerical problems – focus is on the performanceofnumerical kernels. • Primary learning via “hands-on” experience of a (small-ish) state-of-the-art multicore parallel computer (quad 12-core: up to 48 cores in total) AMD Opteron based-server). Group-based laboratory work including a mini-project. C-based (or Fortran-based) programming.

  9. “Parallel Computing in the Multicore Era” COMP60611: Parallel Programs and their Performance • Two main experiences emerge: • First, parallel programming is intellectually challenging (i.e. hard!). Frequently, new parallel programs do not compute what the programmer was expecting. Moreover, when they do compute what was expected, getting them to perform well can be challenging (and counter-intuitive). • Second, it will become apparent that parallel computing is not a static discipline – things are changing all the time, in hardware, software, algorithms and applications.

  10. “Parallel Computing in the Multicore Era” COMP60621: Advanced Topics in Multicore Computing • Studies technological issues which will determine both the future hardware architecture and the programming techniques and design methodologies that will be necessary to extract high performance from multicore processors. • Reviews limitations of current approaches and studies in detail those areas of research that are most likely to provide solutions. • Lots of directed reading. Group-based laboratory with projects investigating specific topics via experiments. Large-scale, individually tailored mini-projects. Java-based programming.

  11. “Parallel Computing in the Multicore Era” Summary • The “Uni-core Era” has gone. We are currently entering the “Heterogeneous Multicore Era”! • Parallel computers are now mainstream. Parallel programming is therefore pervasive. Parallel programming is inherently more difficult than sequential programming; the more parallel, the more difficult. • Theme starts by studying parallel programming: what it involves, how it differs from sequential programming and how high performance can be achieved (or: why it is not). • Follows this up by studying how parallel computers and software may evolve in the future to deal with important practical problems.

  12. “Parallel Computing in the Multicore Era” Links with other themes • Big Computations → Parallel Computing. • Many other themes involve at least some Big Computations. • “Big Data” is an emerging phenomenon that will provide many new employment opportunities. Big Data → Big Computations. • Suggests that students studying themes on “managing data”, “learning from data” or “making sense of complex data” will be well-placed to tackle future “Big Data” challenges if they also study this theme. • Machine Learning (e.g. Neural Networks) and Computer Vision are also emerging key areas for parallel computing.

More Related