SlideShare a Scribd company logo
1 of 25
Parallel Computing

    An Overview
Teaching
Parallel Computing
Undergraduates


       Shardhanand
      Assistant Professor
Department of Computer Science

   shardhanand@yahoo.com
Time Distribution
          3/4                 1/4
         Theory             Practical


Theoretical aspects
                              Labs
of the course


            Mid Term Exam


Practical approach             Labs
to the course
Performance Assessment Criteria
                             Marks Distribution
                              Total 100 points
                           80               20

               Lectures                           Labs
         10               70
                                             10          10

  Course Work              Exams         Weekly Labs      Final

   5       5          10         60

Assign. 1 Assign. 2 Mid Term       Final Lab1, Lab 2 ……Lab n
Pre-Mid Term

Course Coverage
• Overview
  – What is Parallel Computing
  – Why use Parallel Computing
• Concepts and Terminology
  – Von Neumann Architecture
  – Flynn’s Classical Taxonomy
     • SISD, SIMD, MISD, MIMD
• Memory Architecture
  – Shared Memory, Distributed Memory, Hybrid
• Programming Models
  – Shared Memory, Thread Model, MPI Model
• Designing Parallel Progamm
  – Partitioning, Communications, synchronization, Data
    dependencies, Load Balancing
Post-Mid Term

 Course Coverage
•   MPI
•   Distributed Systems
•   Clusters
•   Grid Computing
•   Fault tolerance
•   Prototype of parallel Computers
•   Parallel Algorithms and Software
Reading Resources
• Text Book
• Reference Books
  – Specific to the course
  – General to the topic
• Internet Sources
Text Book
• Advanced Computer Architecture: Parallel,
  Scalability, Programmability
  By William Stallings – McGraw-Hill Inc.
Reference Books
– Scalable Parallel Computing
    • By Kai Hwang & Z. Xu
– Grid Computing: Making The Global Infrastructure a Reality,
  John Wiley and Sons, 2003
    • By F. Berman, G. Fox, and T. Hey
Internet Sources
• http://www.ssuet.edu.pk/~mfarooqui/ParComp
• http://www.top500.org
• http://www.cs.rit.edu/~ncs/parallel.html#books
How to get what we discuss?
• Online Access
     • http://www.ssuet.edu.pk/~mfarooqui/ParComp
• Soft Copy
     • http://www.ssuet.edu.pk/~mfarooqui/ParComp
• Hard Copy
     • Will not be provided
Codes of Conduct
• Strictly practice your attendance in the class
  and labs.
• No relaxation, compensation or adjustment
  in your attendance.
• Be in Uniform (at least in the class)
• Preserve the sanity of the class, teachers,
  department and the University.
• Help us in serving you for a better future.
Introduction
•   Parallel Computing – Real Life Scenario
•   Cost Effectiveness of Parallel Processors
•   What is parallel computing?
•   Why do parallel computing?
•   Types of parallel computing
•   What are some limits of parallel
    computing?
Parallel Computing – Real Life Scenario
• Stacking or reshelving of a set of library books. Assume
   books are organized into shelves and shelves are grouped
   into bays.
Single worker can only do it in a certain rate.
We can speed it up by employing multiple workers.
What is the best strategy ?
5. Simple way is to divide the total books equally among
   workers. Each worker stacks the books one at a time.
   Worker must walk all over the library.
6. Alternate way is to assign fixed disjoint sets of bay to each
   worker. Each worker is assigned equal # of books
   arbitrarily. Workers stack books in their bays or pass to
   another worker responsible for the bay it belongs to.
Parallel Computing – Real Life Scenario
• Parallel processing allows to accomplish a task faster by
  dividing the work into a set of substacks assigned to
  multiple workers.
• Assigning a set of books to workers is task partitioning.
  Passing of books to each other is an example of
  communication between subtasks.
• For some problems assigning work to multiple workers
  might be more time consuming than doing it locally.
• Some problems may be completely serial; e.g. digging a
  post hole. Poorly suited to parallel processing.
• All problems are not equally amenable to parallel
  processing
Wheather Modelling and Forcasting
Consider 3000 X 3000 miles, and height of 11 miles.
  For modeling partition into segments of 0.1X0.1X0.1
  cubic miles = ~1011 segments.
Lets take 2-day period and parameters need to be computed
  every 30 min. Assume the computations take 100 instrs. A
  single update takes 1013 instrs. For two days we have total
  instrs. of 1015 . For serial computer with 1010 instrs./sec,
  this takes 280 hrs to predict next 48 hrs !!
Lets take 1000 processors capable of 108 instrs/sec. Each
  processor will do 108 segments. For 2 days we have 1012
  instrs. Calculation done in 3 hrs !!
Currently all major weather forcast centers (US, Europe,
  Asia) have supercomputers with 1000s of processors.
What is Parallel Computing?
•   Traditionally, software has been written for serial computation:
     – To be executed by a single computer having a single Central Processing
       Unit (CPU);
     – Problems are solved by a series of instructions, executed one after the
       other by the CPU. Only one instruction may be executed at any moment
       in time.
•   In the simplest sense, parallel computing is the simultaneous use of
    multiple computer resources to solve a computational problem.
•   The computer resources can include:
     – A single computer with multiple processors;
     – An arbitrary number of computers connected by a network;
     – A combination of both.
What is Parallel Computing?
• The computational problem usually demonstrates
  characteristics such as the ability to be:
   – Broken apart into discrete pieces of work that can be solved
     simultaneously;
   – Execute multiple program instructions at any moment in time;
   – Solved in less time with multiple computer resources than with a
     single compute resource
• Parallel computing is an evolution of serial computing that
  attempts to emulate what has always been the state of
  affairs in the natural world
What is Parallel Computing?
• many complex, interrelated events happening at
  the same time, yet within a sequence. Some
  examples:
   –   Planetary and galactic orbits
   –   Weather and ocean patterns
   –   Tectonic plate drift
   –   Rush hour traffic in LA
   –   Automobile assembly line
   –   Daily operations within a business
   –   Building a shopping mall
   –   Ordering a hamburger at the drive through.
What is Parallel Computing?
• Traditionally, parallel computing has been
  considered to be "the high end of computing" and
  has been motivated by numerical simulations of
  complex systems and "Grand Challenge
  Problems" such as:
   –   weather and climate
   –   chemical and nuclear reactions
   –   biological, human genome
   –   geological, seismic activity
   –   mechanical devices - from prosthetics to spacecraft
   –   electronic circuits
   –   manufacturing processes
What is Parallel Computing
• Today, commercial applications are providing an equal or
  greater driving force in the development of faster
  computers. These applications require the processing of
  large amounts of data in sophisticated ways. Example
  applications include:
   – parallel databases, data mining
   – web search engines, web based business services
   – computer-aided diagnosis in medicine
   – management of national and multi-national corporations
   – advanced graphics and virtual reality, particularly in the
     entertainment industry
   – networked video and multi-media technologies
• Ultimately, parallel computing is an attempt to maximize
  the infinite but seemingly scarce commodity called time
Why Use Parallel Computing?

• Save time
• Solve larger problems
• Taking advantage of non-local resources - using available
  compute resources on a wide area network, or even the
  Internet when local compute resources are scarce.
• Cost savings - using multiple "cheap" computing resources
  instead of paying for time on a supercomputer.
• Overcoming memory constraints - single computers have
  very finite memory resources. For large problems, using
  the memories of multiple computers may overcome this
  obstacle.
Why Use Parallel Computing?
•   both physical and practical reasons pose significant constraints to
    simply building ever faster serial computers:
•   Transmission speeds - the speed of a serial computer is directly
    dependent upon how fast data can move through hardware. Absolute
    limits are the speed of light (30 cm/nanosecond) and the transmission
    limit of copper wire (9 cm/nanosecond). Increasing speeds necessitate
    increasing proximity of processing elements.
•   Limits to miniaturization - processor technology is allowing an
    increasing number of transistors to be placed on a chip. However,
    even with molecular or atomic-level components, a limit will be
    reached on how small components can be.
•   Economic limitations - it is increasingly expensive to make a single
    processor faster. Using a larger number of moderately fast commodity
    processors to achieve the same (or better) performance is less
    expensive.

More Related Content

What's hot

Parallel computing
Parallel computingParallel computing
Parallel computing
virend111
 
Intro to parallel computing
Intro to parallel computingIntro to parallel computing
Intro to parallel computing
Piyush Mittal
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
Uday Sharma
 
Full introduction to_parallel_computing
Full introduction to_parallel_computingFull introduction to_parallel_computing
Full introduction to_parallel_computing
Supasit Kajkamhaeng
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programming
Shaveta Banda
 

What's hot (20)

Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Parallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesParallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and Disadvantages
 
Aca2 01 new
Aca2 01 newAca2 01 new
Aca2 01 new
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Intro to parallel computing
Intro to parallel computingIntro to parallel computing
Intro to parallel computing
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester
 
Chapter 1 - introduction - parallel computing
Chapter  1 - introduction - parallel computingChapter  1 - introduction - parallel computing
Chapter 1 - introduction - parallel computing
 
parallel processing
parallel processingparallel processing
parallel processing
 
Full introduction to_parallel_computing
Full introduction to_parallel_computingFull introduction to_parallel_computing
Full introduction to_parallel_computing
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programming
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
 
Introduction To Parallel Computing
Introduction To Parallel ComputingIntroduction To Parallel Computing
Introduction To Parallel Computing
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Parallel Computing
Parallel Computing Parallel Computing
Parallel Computing
 
Research Scope in Parallel Computing And Parallel Programming
Research Scope in Parallel Computing And Parallel ProgrammingResearch Scope in Parallel Computing And Parallel Programming
Research Scope in Parallel Computing And Parallel Programming
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel Computing
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Parallel computing persentation
Parallel computing persentationParallel computing persentation
Parallel computing persentation
 

Similar to Lecture 1

Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
giddy5
 
Parallel architecture &programming
Parallel architecture &programmingParallel architecture &programming
Parallel architecture &programming
Ismail El Gayar
 
SecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.pptSecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.ppt
RubenGabrielHernande
 

Similar to Lecture 1 (20)

Lecture1
Lecture1Lecture1
Lecture1
 
492 final presentation
492 final presentation492 final presentation
492 final presentation
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...
 
PMSCS 657_Parallel and Distributed processing
PMSCS 657_Parallel and Distributed processingPMSCS 657_Parallel and Distributed processing
PMSCS 657_Parallel and Distributed processing
 
Parallel architecture &programming
Parallel architecture &programmingParallel architecture &programming
Parallel architecture &programming
 
Nbvtalkatjntuvizianagaram
NbvtalkatjntuvizianagaramNbvtalkatjntuvizianagaram
Nbvtalkatjntuvizianagaram
 
Parallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxParallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptx
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel Computing
 
Modern Computing: Cloud, Distributed, & High Performance
Modern Computing: Cloud, Distributed, & High PerformanceModern Computing: Cloud, Distributed, & High Performance
Modern Computing: Cloud, Distributed, & High Performance
 
Pdc lecture1
Pdc lecture1Pdc lecture1
Pdc lecture1
 
Role of python in hpc
Role of python in hpcRole of python in hpc
Role of python in hpc
 
High performance computing
High performance computingHigh performance computing
High performance computing
 
(19-23)CC Unit-1 ppt.pptx
(19-23)CC Unit-1 ppt.pptx(19-23)CC Unit-1 ppt.pptx
(19-23)CC Unit-1 ppt.pptx
 
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
 
CC unit 1.pptx
CC unit 1.pptxCC unit 1.pptx
CC unit 1.pptx
 
SecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.pptSecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.ppt
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
CSA unit5.pptx
CSA unit5.pptxCSA unit5.pptx
CSA unit5.pptx
 
Simulation of Heterogeneous Cloud Infrastructures
Simulation of Heterogeneous Cloud InfrastructuresSimulation of Heterogeneous Cloud Infrastructures
Simulation of Heterogeneous Cloud Infrastructures
 

More from Mr SMAK

Fyp list batch-2009 (project approval -rejected list)
Fyp list batch-2009 (project approval -rejected list)Fyp list batch-2009 (project approval -rejected list)
Fyp list batch-2009 (project approval -rejected list)
Mr SMAK
 
Assigments2009
Assigments2009Assigments2009
Assigments2009
Mr SMAK
 
Evaluation of cellular network
Evaluation of cellular networkEvaluation of cellular network
Evaluation of cellular network
Mr SMAK
 
Common protocols
Common protocolsCommon protocols
Common protocols
Mr SMAK
 
Cellular network
Cellular networkCellular network
Cellular network
Mr SMAK
 
Lecture 6.1
Lecture  6.1Lecture  6.1
Lecture 6.1
Mr SMAK
 
Lecture 6
Lecture  6Lecture  6
Lecture 6
Mr SMAK
 
Parallel architecture
Parallel architectureParallel architecture
Parallel architecture
Mr SMAK
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
Mr SMAK
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
Mr SMAK
 
Lecture 6
Lecture  6Lecture  6
Lecture 6
Mr SMAK
 
Lecture 6.1
Lecture  6.1Lecture  6.1
Lecture 6.1
Mr SMAK
 
Chapter 2 ASE
Chapter 2 ASEChapter 2 ASE
Chapter 2 ASE
Mr SMAK
 
Structure of project plan and schedule
Structure of project plan and scheduleStructure of project plan and schedule
Structure of project plan and schedule
Mr SMAK
 
Proposal format
Proposal formatProposal format
Proposal format
Mr SMAK
 
Proposal announcement batch2009
Proposal announcement batch2009Proposal announcement batch2009
Proposal announcement batch2009
Mr SMAK
 
List ofsuparco projectsforuniversities
List ofsuparco projectsforuniversitiesList ofsuparco projectsforuniversities
List ofsuparco projectsforuniversities
Mr SMAK
 
Fyp timeline & assessment policy batch 2009
Fyp timeline & assessment policy batch 2009Fyp timeline & assessment policy batch 2009
Fyp timeline & assessment policy batch 2009
Mr SMAK
 
Fyp registration form batch 2009
Fyp registration form batch 2009Fyp registration form batch 2009
Fyp registration form batch 2009
Mr SMAK
 

More from Mr SMAK (20)

Fyp list batch-2009 (project approval -rejected list)
Fyp list batch-2009 (project approval -rejected list)Fyp list batch-2009 (project approval -rejected list)
Fyp list batch-2009 (project approval -rejected list)
 
Assigments2009
Assigments2009Assigments2009
Assigments2009
 
Week1
Week1Week1
Week1
 
Evaluation of cellular network
Evaluation of cellular networkEvaluation of cellular network
Evaluation of cellular network
 
Common protocols
Common protocolsCommon protocols
Common protocols
 
Cellular network
Cellular networkCellular network
Cellular network
 
Lecture 6.1
Lecture  6.1Lecture  6.1
Lecture 6.1
 
Lecture 6
Lecture  6Lecture  6
Lecture 6
 
Parallel architecture
Parallel architectureParallel architecture
Parallel architecture
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 6
Lecture  6Lecture  6
Lecture 6
 
Lecture 6.1
Lecture  6.1Lecture  6.1
Lecture 6.1
 
Chapter 2 ASE
Chapter 2 ASEChapter 2 ASE
Chapter 2 ASE
 
Structure of project plan and schedule
Structure of project plan and scheduleStructure of project plan and schedule
Structure of project plan and schedule
 
Proposal format
Proposal formatProposal format
Proposal format
 
Proposal announcement batch2009
Proposal announcement batch2009Proposal announcement batch2009
Proposal announcement batch2009
 
List ofsuparco projectsforuniversities
List ofsuparco projectsforuniversitiesList ofsuparco projectsforuniversities
List ofsuparco projectsforuniversities
 
Fyp timeline & assessment policy batch 2009
Fyp timeline & assessment policy batch 2009Fyp timeline & assessment policy batch 2009
Fyp timeline & assessment policy batch 2009
 
Fyp registration form batch 2009
Fyp registration form batch 2009Fyp registration form batch 2009
Fyp registration form batch 2009
 

Recently uploaded

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 

Lecture 1

  • 1. Parallel Computing An Overview
  • 2. Teaching Parallel Computing Undergraduates Shardhanand Assistant Professor Department of Computer Science shardhanand@yahoo.com
  • 3. Time Distribution 3/4 1/4 Theory Practical Theoretical aspects Labs of the course Mid Term Exam Practical approach Labs to the course
  • 4. Performance Assessment Criteria Marks Distribution Total 100 points 80 20 Lectures Labs 10 70 10 10 Course Work Exams Weekly Labs Final 5 5 10 60 Assign. 1 Assign. 2 Mid Term Final Lab1, Lab 2 ……Lab n
  • 6. • Overview – What is Parallel Computing – Why use Parallel Computing • Concepts and Terminology – Von Neumann Architecture – Flynn’s Classical Taxonomy • SISD, SIMD, MISD, MIMD • Memory Architecture – Shared Memory, Distributed Memory, Hybrid • Programming Models – Shared Memory, Thread Model, MPI Model • Designing Parallel Progamm – Partitioning, Communications, synchronization, Data dependencies, Load Balancing
  • 8. MPI • Distributed Systems • Clusters • Grid Computing • Fault tolerance • Prototype of parallel Computers • Parallel Algorithms and Software
  • 9. Reading Resources • Text Book • Reference Books – Specific to the course – General to the topic • Internet Sources
  • 10. Text Book • Advanced Computer Architecture: Parallel, Scalability, Programmability By William Stallings – McGraw-Hill Inc.
  • 11. Reference Books – Scalable Parallel Computing • By Kai Hwang & Z. Xu – Grid Computing: Making The Global Infrastructure a Reality, John Wiley and Sons, 2003 • By F. Berman, G. Fox, and T. Hey
  • 12. Internet Sources • http://www.ssuet.edu.pk/~mfarooqui/ParComp • http://www.top500.org • http://www.cs.rit.edu/~ncs/parallel.html#books
  • 13. How to get what we discuss? • Online Access • http://www.ssuet.edu.pk/~mfarooqui/ParComp • Soft Copy • http://www.ssuet.edu.pk/~mfarooqui/ParComp • Hard Copy • Will not be provided
  • 14. Codes of Conduct • Strictly practice your attendance in the class and labs. • No relaxation, compensation or adjustment in your attendance. • Be in Uniform (at least in the class) • Preserve the sanity of the class, teachers, department and the University. • Help us in serving you for a better future.
  • 15. Introduction • Parallel Computing – Real Life Scenario • Cost Effectiveness of Parallel Processors • What is parallel computing? • Why do parallel computing? • Types of parallel computing • What are some limits of parallel computing?
  • 16. Parallel Computing – Real Life Scenario • Stacking or reshelving of a set of library books. Assume books are organized into shelves and shelves are grouped into bays. Single worker can only do it in a certain rate. We can speed it up by employing multiple workers. What is the best strategy ? 5. Simple way is to divide the total books equally among workers. Each worker stacks the books one at a time. Worker must walk all over the library. 6. Alternate way is to assign fixed disjoint sets of bay to each worker. Each worker is assigned equal # of books arbitrarily. Workers stack books in their bays or pass to another worker responsible for the bay it belongs to.
  • 17. Parallel Computing – Real Life Scenario • Parallel processing allows to accomplish a task faster by dividing the work into a set of substacks assigned to multiple workers. • Assigning a set of books to workers is task partitioning. Passing of books to each other is an example of communication between subtasks. • For some problems assigning work to multiple workers might be more time consuming than doing it locally. • Some problems may be completely serial; e.g. digging a post hole. Poorly suited to parallel processing. • All problems are not equally amenable to parallel processing
  • 18. Wheather Modelling and Forcasting Consider 3000 X 3000 miles, and height of 11 miles. For modeling partition into segments of 0.1X0.1X0.1 cubic miles = ~1011 segments. Lets take 2-day period and parameters need to be computed every 30 min. Assume the computations take 100 instrs. A single update takes 1013 instrs. For two days we have total instrs. of 1015 . For serial computer with 1010 instrs./sec, this takes 280 hrs to predict next 48 hrs !! Lets take 1000 processors capable of 108 instrs/sec. Each processor will do 108 segments. For 2 days we have 1012 instrs. Calculation done in 3 hrs !! Currently all major weather forcast centers (US, Europe, Asia) have supercomputers with 1000s of processors.
  • 19. What is Parallel Computing? • Traditionally, software has been written for serial computation: – To be executed by a single computer having a single Central Processing Unit (CPU); – Problems are solved by a series of instructions, executed one after the other by the CPU. Only one instruction may be executed at any moment in time. • In the simplest sense, parallel computing is the simultaneous use of multiple computer resources to solve a computational problem. • The computer resources can include: – A single computer with multiple processors; – An arbitrary number of computers connected by a network; – A combination of both.
  • 20. What is Parallel Computing? • The computational problem usually demonstrates characteristics such as the ability to be: – Broken apart into discrete pieces of work that can be solved simultaneously; – Execute multiple program instructions at any moment in time; – Solved in less time with multiple computer resources than with a single compute resource • Parallel computing is an evolution of serial computing that attempts to emulate what has always been the state of affairs in the natural world
  • 21. What is Parallel Computing? • many complex, interrelated events happening at the same time, yet within a sequence. Some examples: – Planetary and galactic orbits – Weather and ocean patterns – Tectonic plate drift – Rush hour traffic in LA – Automobile assembly line – Daily operations within a business – Building a shopping mall – Ordering a hamburger at the drive through.
  • 22. What is Parallel Computing? • Traditionally, parallel computing has been considered to be "the high end of computing" and has been motivated by numerical simulations of complex systems and "Grand Challenge Problems" such as: – weather and climate – chemical and nuclear reactions – biological, human genome – geological, seismic activity – mechanical devices - from prosthetics to spacecraft – electronic circuits – manufacturing processes
  • 23. What is Parallel Computing • Today, commercial applications are providing an equal or greater driving force in the development of faster computers. These applications require the processing of large amounts of data in sophisticated ways. Example applications include: – parallel databases, data mining – web search engines, web based business services – computer-aided diagnosis in medicine – management of national and multi-national corporations – advanced graphics and virtual reality, particularly in the entertainment industry – networked video and multi-media technologies • Ultimately, parallel computing is an attempt to maximize the infinite but seemingly scarce commodity called time
  • 24. Why Use Parallel Computing? • Save time • Solve larger problems • Taking advantage of non-local resources - using available compute resources on a wide area network, or even the Internet when local compute resources are scarce. • Cost savings - using multiple "cheap" computing resources instead of paying for time on a supercomputer. • Overcoming memory constraints - single computers have very finite memory resources. For large problems, using the memories of multiple computers may overcome this obstacle.
  • 25. Why Use Parallel Computing? • both physical and practical reasons pose significant constraints to simply building ever faster serial computers: • Transmission speeds - the speed of a serial computer is directly dependent upon how fast data can move through hardware. Absolute limits are the speed of light (30 cm/nanosecond) and the transmission limit of copper wire (9 cm/nanosecond). Increasing speeds necessitate increasing proximity of processing elements. • Limits to miniaturization - processor technology is allowing an increasing number of transistors to be placed on a chip. However, even with molecular or atomic-level components, a limit will be reached on how small components can be. • Economic limitations - it is increasingly expensive to make a single processor faster. Using a larger number of moderately fast commodity processors to achieve the same (or better) performance is less expensive.