Lecture 20 Parallel Programming CSE 1322 5/27/2019.

Slides:



Advertisements
Similar presentations
ISO 9126: Software Quality Internal Quality: Maintainability
Advertisements

Parallelism Lecture notes from MKP and S. Yalamanchili.
Multi-core systems System Architecture COMP25212 Daniel Goodman Advanced Processor Technologies Group.
Computer Abstractions and Technology
Concurrency The need for speed. Why concurrency? Moore’s law: 1. The number of components on a chip doubles about every 18 months 2. The speed of computation.
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
CSE 1302 Lecture 21 Exception Handling and Parallel Programming Richard Gesick.
 States that the number of transistors on a microprocessor will double every two years.  Current technology is approaching physical limitations. The.
GCSE Computing - The CPU
Lecture 39: Review Session #1 Reminders –Final exam, Thursday 3:10pm Sloan 150 –Course evaluation (Blue Course Evaluation) Access through.
CPU Performance Assessment As-Bahiya Abu-Samra *Moore’s Law *Clock Speed *Instruction Execution Rate - MIPS - MFLOPS *SPEC Speed Metric *Amdahl’s.
Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI CSCI.
Computer System Architectures Computer System Software
Comp-TIA Standards.  AMD- (Advanced Micro Devices) An American multinational semiconductor company that develops computer processors and related technologies.
Technology in Focus: Under the Hood
Multi Core Processor Submitted by: Lizolen Pradhan
Multi-core architectures. Single-core computer Single-core CPU chip.
Multi-Core Architectures
Threads by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February Session 6.
Lecture 21 Parallel Programming Richard Gesick. Parallel Computing Parallel computing is a form of computation in which many operations are carried out.
Outline  Over view  Design  Performance  Advantages and disadvantages  Examples  Conclusion  Bibliography.
Parallel Processing Sharing the load. Inside a Processor Chip in Package Circuits Primarily Crystalline Silicon 1 mm – 25 mm on a side 100 million to.
CPU Inside Maria Gabriela Yobal de Anda L#32 9B. CPU Called also the processor Performs the transformation of input into output Executes the instructions.
CS162 Week 5 Kyle Dewey. Overview Announcements Reactive Imperative Programming Parallelism Software transactional memory.
Shashwat Shriparv InfinitySoft.
Morgan Kaufmann Publishers
Multi-core processors. 2 Processor development till 2004 Out-of-order Instruction scheduling Out-of-order Instruction scheduling.
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Advanced Computer Networks Lecture 1 - Parallelization 1.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 3 Computer Evolution.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Hardware Trends CSE451 Andrew Whitaker. Motivation Hardware moves quickly OS code tends to stick around for a while “System building” extends way beyond.
Hardware Trends CSE451 Andrew Whitaker. Motivation Hardware moves quickly OS code tends to stick around for a while “System building” extends way beyond.
MAHARANA PRATAP COLLEGE OF TECHNOLOGY SEMINAR ON- COMPUTER PROCESSOR SUBJECT CODE: CS-307 Branch-CSE Sem- 3 rd SUBMITTED TO SUBMITTED BY.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
What’s going on here? Can you think of a generic way to describe both of these?
Introduction to Computers - Hardware
CPU Central Processing Unit
GCSE Computing - The CPU
Conclusions on CS3014 David Gregg Department of Computer Science
Multiprocessing.
Introduction Super-computing Tuesday
The University of Adelaide, School of Computer Science
Architecture & Organization 1
Morgan Kaufmann Publishers
EE 193: Parallel Computing
Introduction.
Introduction.
Architecture & Organization 1
Parallel Processing Sharing the load.
CMSC 611: Advanced Computer Architecture
Operating System 4 THREADS, SMP AND MICROKERNELS
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
Dr. Tansel Dökeroğlu University of Turkish Aeronautical Association Computer Engineering Department Ceng 442 Introduction to Parallel.
Multithreaded Programming
Computer Evolution and Performance
Lecture 2 The Art of Concurrency
Objectives Describe how common characteristics of CPUs affect their performance: clock speed, cache size, number of cores Explain the purpose and give.
CMSC 611: Advanced Computer Architecture
GCSE Computing - The CPU
The University of Adelaide, School of Computer Science
Intel CPU for Desktop PC: Past, Present, Future
Lecture 20 Parallel Programming CSE /8/2019.
Course Code 114 Introduction to Computer Science
Presentation transcript:

Lecture 20 Parallel Programming CSE 1322 5/27/2019

Moore’s Law Moore’s Law predicted the doubling of transistor capacity per square inch of integrated circuit every two years. Gordon Moore made this proclamation in the mid-1960s and predicted that the trend would continue at least 10 years, but Moore’s Law has actually held true for nearly 50 years. Moore’s prediction is often interpreted to mean that processor speed would double every couple of years. Software developers benefitted from the continual performance gains of new hardware in single-core computers. If your application was slow, just wait—it would soon run faster because of advances in hardware performance. Your application simply rode the wave of better performance. However, you can no longer depend on consistent hardware advancements to assure better-performing applications! Problems have arisen: can’t get the circuits much closer together, packing circuits as close as they are has increased heat generation and thus increased cooling requirements. 5/27/2019

Parallel Computing Parallel computing is a form of computation in which many operations are carried out simultaneously. Many personal computers and workstations have two or four cores which enable them to execute multiple threads simultaneously. Computers in the near future are expected to have significantly more cores. To take advantage of the hardware of today and tomorrow, software developers can parallelize their code to distribute work across multiple processors. In the past, parallelization required low-level manipulation of threads and locks. 5/27/2019

Multicore Processing Multicore architecture is an alternative, where multiple processor cores share a chip die. The additional cores provide more computing power without the heat problem. In a parallel application, you can leverage the multicore architecture for potential performance gains without a corresponding heat penalty. Recent studies assert that only about 30% of the code written today can be effectively parallelized. The speed increase with parallel is not a 1 to 1 based on the number of cores. Setting code up to run in parallel with the high level libraries has some “overhead” particularly in the background tasks that handle the threading. A quad core machine may see a 30%-40% decrease in time when run on large data sets. 5/27/2019

Results You should see increased performance (reduced time to complete) relative to the number of processors/cores you have on the machine as long as your resources and data are independent. If the processes share data or resources there is likely to be significant blocking and reduced performance.  How might we solve this blocking/concurrency problem? 5/27/2019