SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Parallel & Distributed
Computer Systems


Dr. Mohammad Ansari
Course Details
   Delivery
    ◦ Lectures/discussions: English
    ◦ Assessments: English
    ◦ Ask questions in class if you don’t understand
    ◦ Email me after class if you do not want to ask in
      class
    ◦ DO NOT LEAVE QUESTIONS TILL THE DAY BEFORE THE
      EXAM!!!
   Assessments (this may change)
    ◦ Homework (~1 per week): 10%
    ◦ Midterm: 20%
    ◦ 1 project + final exam OR 2 projects: 35%+35%
Course Details
   Textbook
    ◦ Principles of Parallel Programming, Lin & Snyder
   Other sources of information:
    ◦ COMP 322, Rice University
    ◦ CS 194, UC Berkeley
    ◦ Cilk lectures, MIT
   Many sources of information on the
    internet for writing parallelized code
Teaching Materials & Assignments
   Everything is on Jusur
    ◦ Lectures
    ◦ Homeworks
 Submit homework through Jusur
 Homework is given out on Saturday
 Homework due following Saturday
 You lose 10% for each day late
 No homework this week! 
Outline
   This lecture:
    ◦ Why study parallel computing?
    ◦ Topics covered on this course
   Next lecture:
    ◦ Discuss an example problem
Why study parallel computing?
   First, WHAT is parallel computing?
    ◦ Using multiple processors (in parallel) to solve a
      problem faster than a single processor
   Why is this important?
    ◦ Science/research is usually has two parts.
      Theory, and experimentation.
    ◦ Some experiments just take too long on a single
      processor (days, months, or even years)
    ◦ We do not want to wait for so long
    ◦ Need to execute experiments faster
Why study parallel computing
   BUT, parallel computing very
    specialized
    ◦   Few computers in the world with many procs.
    ◦   Most software not (very) parallelized
    ◦   Typically parallel programming is hard
    ◦   Result: parallel computing taught at Masters
        level
   Why study it during undergraduate?
    ◦ The entire computing industry has shifted to
      parallel computing. Intel, AMD, IBM, Sun, …
Why study parallel computing?
   Today:
    ◦   All computers are multi-core, even laptops
    ◦   Mobile phones will also be multi-core
    ◦   Number of cores keeps going up
    ◦   Intel/AMD:
         ~2004: 2 cores per processor
         ~2006: 4 cores per processor
         ~2009: 6 cores per processor
   If you want your software to use all
    those cores, you need to parallelize it.
   BUT, why did this happen?
Why did this happen?
 We need to look at history of
  processor architectures
 All processors made of transistors
    ◦ Moore’s Law: number of transistors per chip
      doubles every 18-24 months
    ◦ Fabrication process (manufacture of chips)
      improvements made transistors smaller
    ◦ Allows more transistors to be placed in the
      same space (transistor density increasing).
Transistor Counts
                                                             Intel 80286
2,000,000,000                                                Intel 80386
                                                             Intel 80486
                                                             Pentium
 200,000,000                                                 AMD K5
                                                             Pentium II
                                                             Pentium III
  20,000,000
                                                             AMD Athlon
                                                             Pentium 4
   2,000,000                                                 AMD Athlon 64
                                                             AMD Athlon X2
                                                             Cell
     200,000                                                 Core 2 Duo
                                                             Core i7 (Quad)
                                                             Six-Core Opteron 2400
      20,000                                                 Six-Core Xeon 7400
            1980   1985   1990   1995   2000   2005   2010
Why did this happen?
   What did engineers do with so many
    transistors?
    ◦ Added advanced hardware that made your code
      faster automatically
       MMX, SSE, superscalar, out-of-order execution
   Smaller transistors change state faster
    ◦ Smaller transistors enables higher speeds
   Old view:
    ◦   “Want more performance? Get new processor.”
    ◦   New processor more advanced, and higher speed.
    ◦   Makes your software run faster.
    ◦   No effort from programmer for this extra speed.
         Don’t have to change the software.
Why did this happen?
   But now, there are problems
    ◦ Engineers have run out of ideas for advanced
      hardware.
    ◦ Cannot use extra transistors to automatically
      improve performance of code
   OK, but we can still increase the
    speed, right?
Why did this happen?
   But now, there are problems
    ◦ Engineers have run out of ideas for advanced
      hardware.
    ◦ Cannot use extra transistors to automatically
      improve performance of code
   OK, but we can still increase the
    speed, right? WRONG!
Why did this happen?
   But now, there are problems
    ◦ Higher speed processors consume more power
       Big problem for large servers: need their own
        power plant
    ◦ Higher speed processors generate more heat
       Dissipating (removing) the heat is requiring
        more and more sophisticated equipment, heat
        sinks cannot do it anymore
    ◦ Result: not possible to keep increasing speed
   Let’s look at some heat sinks
Intel 386 (25 MHz) Heatsink
 The 386 had no heatsink!
 It did not generate much heat
 Because it has very slow speed
486 (~50Mhz) Heatsink
Pentium 2 Heatsink
Pentium 3 Heatsink
Pentium 4 Heatsink
Why study parallel computing?
   Old view:
    ◦ “Want more performance? Get new processor.”
    ◦ New processor will have higher speed, more
      advanced. Makes your software run faster.
    ◦ No effort from programmer for this extra speed.
   New view:
    ◦ Processors will not be more advanced
    ◦ Processors will not have higher speed
    ◦ Industry/academia: Use extra transistors for
      multiple processors (cores) on the same chip
    ◦ This is called a multi-core processor
       E.g., Core 2 Duo, Core 2 Quad, Athlon X2, X4
Quotes
 ◦ “We are dedicating all of our future product
   development to multicore designs. … This is a
   sea change in computing”
     Paul Otellini, President, Intel (2005)


 ◦ Number of cores will ~double every 2 years
Why study parallel computing?
   What are the benefits of multi-core?
    ◦ Continue to increase theoretical performance:
       Quad-core processor, with each core at 2GHz
        is like 4x2GHz = 8GHz processor
    ◦ Decrease speed to reduce temperature, power
       16-core at 0.5GHz = 16*0.5 = 8GHz
       8GHz, but at lower temperature, lower power
 Multi-core is attractive, because it
  removes existing problems
 No limit (yet) to number of cores
Affects on Programming
   Before:
    ◦ Write sequential (non-parallel) program.
    ◦ It becomes faster with newer processor
       Higher speed, more advanced
   Now:
    ◦ New processor has more cores, but each is slower
    ◦ Sequential programs will run slower on new proc
       They can only use one core
    ◦ What will run faster?
       Parallel program that can use all the cores!!!
Why study parallel computing?
   You need knowledge of parallelism
    ◦ Future processors will have many cores
    ◦ Each core will become slower (speed)
    ◦ Your software will only achieve high
      performance if it is parallelized
   Parallel programming is not easy
    ◦ Many factors affect performance
    ◦ Not easy to find source of bad performance
    ◦ Usually requires deeper understanding of
      processor architectures
    ◦ This is why there is a whole course for it
Course Topics
   Foundations of parallel algorithms
    ◦ How do we make a parallel algorithm?
    ◦ How do we measure its performance?
   Foundations of parallel programming
    ◦ Parallel processor architectures
    ◦ Threads/tasks, synchronization, performance
    ◦ What are the trade-offs, and overheads?
   Experiment with real hardware
    ◦ 8-way distributed supercomputer
    ◦ 24-core shared memory supercomputer
   If we have time:
    ◦ GPGPUs / CUDA
Skills You Need
   Basic understanding of processor
    architectures
    ◦ Pipelines, registers, caches, memory
   Programming in C and/or Java
Summary
 Processor technology cannot continue
  as before. Changed to multi-cores.
 Multi-cores require programs to be
  parallelized for high performance
 This course will cover core theory
  and practice of parallel computing

Más contenido relacionado

La actualidad más candente

01 - Introduction to Distributed Systems
01 - Introduction to Distributed Systems01 - Introduction to Distributed Systems
01 - Introduction to Distributed SystemsDilum Bandara
 
Thread scheduling in Operating Systems
Thread scheduling in Operating SystemsThread scheduling in Operating Systems
Thread scheduling in Operating SystemsNitish Gulati
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architectureAbDul ThaYyal
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query ProcessingMythili Kannan
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel ComputingAkhila Prabhakaran
 
Heterogeneous computing
Heterogeneous computingHeterogeneous computing
Heterogeneous computingRashid Ansari
 
Distributed & parallel system
Distributed & parallel systemDistributed & parallel system
Distributed & parallel systemManish Singh
 
Single &Multi Core processor
Single &Multi Core processorSingle &Multi Core processor
Single &Multi Core processorJustify Shadap
 
Computer architecture multi processor
Computer architecture multi processorComputer architecture multi processor
Computer architecture multi processorMazin Alwaaly
 
Network Operating System
Network Operating SystemNetwork Operating System
Network Operating Systemisma ishak
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computingVajira Thambawita
 

La actualidad más candente (20)

01 - Introduction to Distributed Systems
01 - Introduction to Distributed Systems01 - Introduction to Distributed Systems
01 - Introduction to Distributed Systems
 
Thread scheduling in Operating Systems
Thread scheduling in Operating SystemsThread scheduling in Operating Systems
Thread scheduling in Operating Systems
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architecture
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel Computing
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
Heterogeneous computing
Heterogeneous computingHeterogeneous computing
Heterogeneous computing
 
Input output in linux
Input output in linuxInput output in linux
Input output in linux
 
Chapter 3 - Processes
Chapter 3 - ProcessesChapter 3 - Processes
Chapter 3 - Processes
 
Distributed & parallel system
Distributed & parallel systemDistributed & parallel system
Distributed & parallel system
 
Single &Multi Core processor
Single &Multi Core processorSingle &Multi Core processor
Single &Multi Core processor
 
Computer architecture multi processor
Computer architecture multi processorComputer architecture multi processor
Computer architecture multi processor
 
Opetating System Memory management
Opetating System Memory managementOpetating System Memory management
Opetating System Memory management
 
Memory management
Memory managementMemory management
Memory management
 
Network Operating System
Network Operating SystemNetwork Operating System
Network Operating System
 
Mainframe systems
Mainframe systemsMainframe systems
Mainframe systems
 
File system structure
File system structureFile system structure
File system structure
 
Parallel computing persentation
Parallel computing persentationParallel computing persentation
Parallel computing persentation
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computing
 
Graphics processing unit
Graphics processing unitGraphics processing unit
Graphics processing unit
 

Similar a Introduction to Parallel Distributed Computer Systems

Multi core processors
Multi core processorsMulti core processors
Multi core processorsAdithya Bhat
 
Intel new processors
Intel new processorsIntel new processors
Intel new processorszaid_b
 
Ashutosh kumar ( JAMIA HAMDARD )
Ashutosh kumar ( JAMIA HAMDARD )Ashutosh kumar ( JAMIA HAMDARD )
Ashutosh kumar ( JAMIA HAMDARD )Ashutosh Kumar
 
Microprocessors and controllers
Microprocessors and controllersMicroprocessors and controllers
Microprocessors and controllersWendy Hemo
 
Microprocessors and controllers
Microprocessors and controllersMicroprocessors and controllers
Microprocessors and controllersWendy Hemo
 
Computer Hardware & Software Lab Manual 3
Computer Hardware & Software Lab Manual 3Computer Hardware & Software Lab Manual 3
Computer Hardware & Software Lab Manual 3senayteklay
 
4th generation intel core processoer
4th generation intel core processoer4th generation intel core processoer
4th generation intel core processoerAanamika Nath
 
trends of microprocessor field
trends of microprocessor fieldtrends of microprocessor field
trends of microprocessor fieldRamya SK
 
Processors with Advanced Technologies
Processors with Advanced TechnologiesProcessors with Advanced Technologies
Processors with Advanced TechnologiesCherukuriGopikrishna
 
Intel Processors
Intel ProcessorsIntel Processors
Intel Processorshome
 
Manufacturingofmicroprocessor 120813121945-phpapp02
Manufacturingofmicroprocessor 120813121945-phpapp02Manufacturingofmicroprocessor 120813121945-phpapp02
Manufacturingofmicroprocessor 120813121945-phpapp02Waqar Mughal
 
29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technology29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technologySindhu Nathan
 
Intel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processorsIntel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processorsFadyMorris
 

Similar a Introduction to Parallel Distributed Computer Systems (20)

Multi core processors
Multi core processorsMulti core processors
Multi core processors
 
processors
processorsprocessors
processors
 
Intel new processors
Intel new processorsIntel new processors
Intel new processors
 
Ashutosh kumar ( JAMIA HAMDARD )
Ashutosh kumar ( JAMIA HAMDARD )Ashutosh kumar ( JAMIA HAMDARD )
Ashutosh kumar ( JAMIA HAMDARD )
 
Microprocessors and controllers
Microprocessors and controllersMicroprocessors and controllers
Microprocessors and controllers
 
Microprocessors and controllers
Microprocessors and controllersMicroprocessors and controllers
Microprocessors and controllers
 
Computer Hardware & Software Lab Manual 3
Computer Hardware & Software Lab Manual 3Computer Hardware & Software Lab Manual 3
Computer Hardware & Software Lab Manual 3
 
4th generation intel core processoer
4th generation intel core processoer4th generation intel core processoer
4th generation intel core processoer
 
trends of microprocessor field
trends of microprocessor fieldtrends of microprocessor field
trends of microprocessor field
 
Processors with Advanced Technologies
Processors with Advanced TechnologiesProcessors with Advanced Technologies
Processors with Advanced Technologies
 
Intel
IntelIntel
Intel
 
Intel Processors
Intel ProcessorsIntel Processors
Intel Processors
 
Processor
ProcessorProcessor
Processor
 
Manufacturingofmicroprocessor 120813121945-phpapp02
Manufacturingofmicroprocessor 120813121945-phpapp02Manufacturingofmicroprocessor 120813121945-phpapp02
Manufacturingofmicroprocessor 120813121945-phpapp02
 
Multicore Processor Technology
Multicore Processor TechnologyMulticore Processor Technology
Multicore Processor Technology
 
29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technology29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technology
 
Webinaron muticoreprocessors
Webinaron muticoreprocessorsWebinaron muticoreprocessors
Webinaron muticoreprocessors
 
Processors
ProcessorsProcessors
Processors
 
Intel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processorsIntel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processors
 
Tech 101 for Retail
Tech 101 for RetailTech 101 for Retail
Tech 101 for Retail
 

Último

Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterMateoGardella
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.MateoGardella
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 

Último (20)

Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 

Introduction to Parallel Distributed Computer Systems

  • 1. Parallel & Distributed Computer Systems Dr. Mohammad Ansari
  • 2. Course Details  Delivery ◦ Lectures/discussions: English ◦ Assessments: English ◦ Ask questions in class if you don’t understand ◦ Email me after class if you do not want to ask in class ◦ DO NOT LEAVE QUESTIONS TILL THE DAY BEFORE THE EXAM!!!  Assessments (this may change) ◦ Homework (~1 per week): 10% ◦ Midterm: 20% ◦ 1 project + final exam OR 2 projects: 35%+35%
  • 3. Course Details  Textbook ◦ Principles of Parallel Programming, Lin & Snyder  Other sources of information: ◦ COMP 322, Rice University ◦ CS 194, UC Berkeley ◦ Cilk lectures, MIT  Many sources of information on the internet for writing parallelized code
  • 4. Teaching Materials & Assignments  Everything is on Jusur ◦ Lectures ◦ Homeworks  Submit homework through Jusur  Homework is given out on Saturday  Homework due following Saturday  You lose 10% for each day late  No homework this week! 
  • 5. Outline  This lecture: ◦ Why study parallel computing? ◦ Topics covered on this course  Next lecture: ◦ Discuss an example problem
  • 6. Why study parallel computing?  First, WHAT is parallel computing? ◦ Using multiple processors (in parallel) to solve a problem faster than a single processor  Why is this important? ◦ Science/research is usually has two parts. Theory, and experimentation. ◦ Some experiments just take too long on a single processor (days, months, or even years) ◦ We do not want to wait for so long ◦ Need to execute experiments faster
  • 7. Why study parallel computing  BUT, parallel computing very specialized ◦ Few computers in the world with many procs. ◦ Most software not (very) parallelized ◦ Typically parallel programming is hard ◦ Result: parallel computing taught at Masters level  Why study it during undergraduate? ◦ The entire computing industry has shifted to parallel computing. Intel, AMD, IBM, Sun, …
  • 8. Why study parallel computing?  Today: ◦ All computers are multi-core, even laptops ◦ Mobile phones will also be multi-core ◦ Number of cores keeps going up ◦ Intel/AMD:  ~2004: 2 cores per processor  ~2006: 4 cores per processor  ~2009: 6 cores per processor  If you want your software to use all those cores, you need to parallelize it.  BUT, why did this happen?
  • 9. Why did this happen?  We need to look at history of processor architectures  All processors made of transistors ◦ Moore’s Law: number of transistors per chip doubles every 18-24 months ◦ Fabrication process (manufacture of chips) improvements made transistors smaller ◦ Allows more transistors to be placed in the same space (transistor density increasing).
  • 10. Transistor Counts Intel 80286 2,000,000,000 Intel 80386 Intel 80486 Pentium 200,000,000 AMD K5 Pentium II Pentium III 20,000,000 AMD Athlon Pentium 4 2,000,000 AMD Athlon 64 AMD Athlon X2 Cell 200,000 Core 2 Duo Core i7 (Quad) Six-Core Opteron 2400 20,000 Six-Core Xeon 7400 1980 1985 1990 1995 2000 2005 2010
  • 11. Why did this happen?  What did engineers do with so many transistors? ◦ Added advanced hardware that made your code faster automatically  MMX, SSE, superscalar, out-of-order execution  Smaller transistors change state faster ◦ Smaller transistors enables higher speeds  Old view: ◦ “Want more performance? Get new processor.” ◦ New processor more advanced, and higher speed. ◦ Makes your software run faster. ◦ No effort from programmer for this extra speed.  Don’t have to change the software.
  • 12. Why did this happen?  But now, there are problems ◦ Engineers have run out of ideas for advanced hardware. ◦ Cannot use extra transistors to automatically improve performance of code  OK, but we can still increase the speed, right?
  • 13. Why did this happen?  But now, there are problems ◦ Engineers have run out of ideas for advanced hardware. ◦ Cannot use extra transistors to automatically improve performance of code  OK, but we can still increase the speed, right? WRONG!
  • 14. Why did this happen?  But now, there are problems ◦ Higher speed processors consume more power  Big problem for large servers: need their own power plant ◦ Higher speed processors generate more heat  Dissipating (removing) the heat is requiring more and more sophisticated equipment, heat sinks cannot do it anymore ◦ Result: not possible to keep increasing speed  Let’s look at some heat sinks
  • 15. Intel 386 (25 MHz) Heatsink  The 386 had no heatsink!  It did not generate much heat  Because it has very slow speed
  • 20. Why study parallel computing?  Old view: ◦ “Want more performance? Get new processor.” ◦ New processor will have higher speed, more advanced. Makes your software run faster. ◦ No effort from programmer for this extra speed.  New view: ◦ Processors will not be more advanced ◦ Processors will not have higher speed ◦ Industry/academia: Use extra transistors for multiple processors (cores) on the same chip ◦ This is called a multi-core processor  E.g., Core 2 Duo, Core 2 Quad, Athlon X2, X4
  • 21. Quotes ◦ “We are dedicating all of our future product development to multicore designs. … This is a sea change in computing”  Paul Otellini, President, Intel (2005) ◦ Number of cores will ~double every 2 years
  • 22. Why study parallel computing?  What are the benefits of multi-core? ◦ Continue to increase theoretical performance:  Quad-core processor, with each core at 2GHz is like 4x2GHz = 8GHz processor ◦ Decrease speed to reduce temperature, power  16-core at 0.5GHz = 16*0.5 = 8GHz  8GHz, but at lower temperature, lower power  Multi-core is attractive, because it removes existing problems  No limit (yet) to number of cores
  • 23. Affects on Programming  Before: ◦ Write sequential (non-parallel) program. ◦ It becomes faster with newer processor  Higher speed, more advanced  Now: ◦ New processor has more cores, but each is slower ◦ Sequential programs will run slower on new proc  They can only use one core ◦ What will run faster?  Parallel program that can use all the cores!!!
  • 24. Why study parallel computing?  You need knowledge of parallelism ◦ Future processors will have many cores ◦ Each core will become slower (speed) ◦ Your software will only achieve high performance if it is parallelized  Parallel programming is not easy ◦ Many factors affect performance ◦ Not easy to find source of bad performance ◦ Usually requires deeper understanding of processor architectures ◦ This is why there is a whole course for it
  • 25. Course Topics  Foundations of parallel algorithms ◦ How do we make a parallel algorithm? ◦ How do we measure its performance?  Foundations of parallel programming ◦ Parallel processor architectures ◦ Threads/tasks, synchronization, performance ◦ What are the trade-offs, and overheads?  Experiment with real hardware ◦ 8-way distributed supercomputer ◦ 24-core shared memory supercomputer  If we have time: ◦ GPGPUs / CUDA
  • 26. Skills You Need  Basic understanding of processor architectures ◦ Pipelines, registers, caches, memory  Programming in C and/or Java
  • 27. Summary  Processor technology cannot continue as before. Changed to multi-cores.  Multi-cores require programs to be parallelized for high performance  This course will cover core theory and practice of parallel computing