SlideShare a Scribd company logo
Parallel Architecture
          &
Parallel Programming
     Submitted:
     Dr.Hesham El-Zouka


   By:Eng. Ismail Fathalla El-Gayar
Content:-
•   Introduction
     – Von-Neumann Architecture.
     – Serial ( Single ) Computational.
     – Concepts and Terminology
•   Parallel Architecture
     –   Definition
     –   Benefits & Advantages
     –   Distinguishing Parallel Processors
     –   Multiprocessor Architecture Classifications
     –   Parallel Computer Memory Architectures
•   Parallel Programming
     –   Definition
     –   Parallel Programming Model
     –   Designing Parallel Programs
     –   Parallel Algorithm Examples
     –   Conclusion
•   Case Study
Introduction:

• Von-Neumann Architecture
  Since then, virtually all computers
  have followed this basic design, which
  Comprised of four main components:
   –   Memory
   –   Control Unit
   –   Arithmetic Logic Unit
   –   Input/output
Introduction
Serial Computational :-
• Traditionally,
       software has been written for serial computation: To be run on
  a single computer having a single Central Processing Unit (CPU)

• Problem is broken into discrete SERIES of instructions.
• Instructions are EXECUTED one after another.
• One instruction may execute at any moment in TIME
Introduction
Serial Computational :-
Parallel Architecture
Definition:
• parallel computing: is the simultaneous use of
   multiple compute resources to solve a computational
   problem To be run using multiple CPUs.
In which:-
        - A problem is broken into discrete parts that can be
   solved concurrently
        - Each part is further broken down to a series of
   instructions
        - Instructions from each part execute simultaneously
   on different CPUs
Definition:
Concepts and Terminology:
General Terminology
• Task – A logically discrete section of
  computational work
• Parallel Task – Task that can be executed
  by multiple processors safely
• Communications – Data exchange
  between parallel tasks
• Synchronization – The coordination of
  parallel tasks in real time
Benefits & Advantages:


• Save Time & Money

• Solve Larger Problems
How To Distinguishing Parallel
processors:
  – Resource Allocation:
     • how large a collection?
     • how powerful are the elements?
     • how much memory?
  – Data access, Communication and Synchronization
     • how do the elements cooperate and communicate?
     • how are data transmitted between processors?
     • what are the abstractions and primitives for cooperation?
  – Performance and Scalability
     • how does it all translate into performance?
     • how does it scale?
Multiprocessor Architecture
Classification :
• Distinguishes multi-processor architecture by instruction and
  data:-

•   SISD – Single Instruction, Single Data



•   SIMD – Single Instruction, Multiple Data



•   MISD – Multiple Instruction, Single Data



•   MIMD – Multiple Instruction, Multiple Data
Flynn’s Classical Taxonomy:
            SISD
              • Serial
              • Only one instruction
                and data stream is
                acted on during any
                one clock cycle
Flynn’s Classical Taxonomy:
            SIMD
              • All processing units
                execute the same
                instruction at any
                given clock cycle.
              • Each processing unit
                operates on a
                different data
                element.
Flynn’s Classical Taxonomy:
            MISD
              • Different instructions
                operated on a single
                data element.
              • Very few practical uses
                for this type of
                classification.
              • Example: Multiple
                cryptography algorithms
                attempting to crack a
                single coded message.
Flynn’s Classical Taxonomy:
           MIMD
              • Can execute different
                instructions on
                different data
                elements.
              • Most common type of
                parallel computer.
Parallel Computer Memory Architectures:
Shared Memory Architecture


• All processors access
  all memory as a
  single global address
  space.
• Data sharing is fast.
• Lack of scalability
  between memory and
  CPUs
Parallel Computer Memory Architectures:
Distributed Memory

• Each processor has
  its own memory.
• Is scalable, no
  overhead for cache
  coherency.
• Programmer is
  responsible for many
  details of
  communication
  between processors.
Parallel Programming
Parallel Programming Models

• Exist as an abstraction above hardware and
  memory architectures

• Examples:
  – Shared Memory

  – Threads

  – Messaging Passing

  – Data Parallel
Parallel Programming Models:
Shared Memory Model
• Appears to the user as a single shared memory,
  despite hardware implementations

• Locks and semaphores may be used to control
  shared memory access.

• Program development can be simplified since there
  is no need to explicitly specify communication
  between tasks.
Parallel Programming Models:
Threads Model
• A single process may have
  multiple, concurrent
  execution paths.
• Typically used with a shared
  memory architecture.
• Programmer is responsible
  for determining all
  parallelism.
Parallel Programming Models:
Message Passing Model
• Tasks exchange data by sending
  and receiving messages. Typically
  used with distributed memory
  architectures.
• Data transfer requires cooperative
  operations to be performed by each
  process. Ex.- a send operation
  must have a receive operation.
• MPI (Message Passing Interface) is
  the interface standard for message
  passing.
Parallel Programming Models:
Data Parallel Model
• Tasks performing the
  same operations on a set
  of data. Each task
  working on a separate
  piece of the set.
• Works well with either
  shared memory or
  distributed memory
  architectures.
Designing Parallel Programs:
Automatic Parallelization
• Automatic
  – Compiler analyzes code and identifies
    opportunities for parallelism
  – Analysis includes attempting to compute
    whether or not the parallelism actually
    improves performance.
  – Loops are the most frequent target for
    automatic parallelism.
Designing Parallel Programs:
Manual Parallelization
• Understand the problem
  – A Parallelizable Problem:
    • Calculate the potential energy for each of several
      thousand independent conformations of a
      molecule. When done find the minimum energy
      conformation.
  – A Non-Parallelizable Problem:
    • The Fibonacci Series
       – All calculations are dependent
Designing Parallel Programs:
Domain Decomposition
   Each task handles a portion of the data set. •
Designing Parallel Programs:
Functional Decomposition
Each task performs a function of the overall work •
Conclusion
• Parallel computing is fast.
• There are many different approaches and
  models of parallel computing.
• Parallel computing is the future of
  computing.
References
• A Library of Parallel Algorithms, www-
  2.cs.cmu.edu/~scandal/nesl/algorithms.html

• Internet Parallel Computing Archive, wotug.ukc.ac.uk/parallel

• Introduction to Parallel Computing,
  www.llnl.gov/computing/tutorials/parallel_comp/#Whatis

• Parallel Programming in C with MPI and OpenMP, Michael J. Quinn,
  McGraw Hill Higher Education, 2003

• The New Turing Omnibus, A. K. Dewdney, Henry Holt and
  Company, 1993
Case Study

  Developing Parallel Applications
            On the Web
               using
Java mobile agents and Java threads
My References :

• Parallel Computing Using JAVA Mobile
  Agents
    By: Panayiotou Christoforos, George Samaras ,Evaggelia
    Pitoura, Paraskevas Evripidou

• An Environment for Parallel Computing
  on Internet Using JAVA

    By:P C Saxena, S Singh, K S Kahlon
Parallel architecture &programming
Ad

More Related Content

What's hot (20)

Lecture 4 principles of parallel algorithm design updated
Lecture 4   principles of parallel algorithm design updatedLecture 4   principles of parallel algorithm design updated
Lecture 4 principles of parallel algorithm design updated
Vajira Thambawita
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 
Operating system paging and segmentation
Operating system paging and segmentationOperating system paging and segmentation
Operating system paging and segmentation
hamza haseeb
 
Parallel computing
Parallel computingParallel computing
Parallel computing
virend111
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
Burhan Ahmed
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
Dr Sandeep Kumar Poonia
 
Centralized shared memory architectures
Centralized shared memory architecturesCentralized shared memory architectures
Centralized shared memory architectures
Gokuldhev mony
 
Cache coherence
Cache coherenceCache coherence
Cache coherence
Employee
 
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelismadvanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
Pankaj Kumar Jain
 
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
Vajira Thambawita
 
Lecture 11 - distributed database
Lecture 11 - distributed databaseLecture 11 - distributed database
Lecture 11 - distributed database
HoneySah
 
Multiprocessor
MultiprocessorMultiprocessor
Multiprocessor
Kamal Acharya
 
Multiprocessor system
Multiprocessor system Multiprocessor system
Multiprocessor system
Mr. Vikram Singh Slathia
 
Parallel sorting Algorithms
Parallel  sorting AlgorithmsParallel  sorting Algorithms
Parallel sorting Algorithms
GARIMA SHAKYA
 
Distributed shared memory ch 5
Distributed shared memory ch 5Distributed shared memory ch 5
Distributed shared memory ch 5
Alagappa Government Arts College, Karaikudi
 
parallel programming models
 parallel programming models parallel programming models
parallel programming models
Swetha S
 
Disk structure
Disk structureDisk structure
Disk structure
sangrampatil81
 
Cache memory
Cache memory Cache memory
Cache memory
Zalal Udeen
 
Query trees
Query treesQuery trees
Query trees
Shefa Idrees
 
virtual memory management in multi processor mach os
virtual memory management in multi processor mach osvirtual memory management in multi processor mach os
virtual memory management in multi processor mach os
AJAY KHARAT
 
Lecture 4 principles of parallel algorithm design updated
Lecture 4   principles of parallel algorithm design updatedLecture 4   principles of parallel algorithm design updated
Lecture 4 principles of parallel algorithm design updated
Vajira Thambawita
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 
Operating system paging and segmentation
Operating system paging and segmentationOperating system paging and segmentation
Operating system paging and segmentation
hamza haseeb
 
Parallel computing
Parallel computingParallel computing
Parallel computing
virend111
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
Burhan Ahmed
 
Centralized shared memory architectures
Centralized shared memory architecturesCentralized shared memory architectures
Centralized shared memory architectures
Gokuldhev mony
 
Cache coherence
Cache coherenceCache coherence
Cache coherence
Employee
 
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelismadvanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
Pankaj Kumar Jain
 
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
Vajira Thambawita
 
Lecture 11 - distributed database
Lecture 11 - distributed databaseLecture 11 - distributed database
Lecture 11 - distributed database
HoneySah
 
Parallel sorting Algorithms
Parallel  sorting AlgorithmsParallel  sorting Algorithms
Parallel sorting Algorithms
GARIMA SHAKYA
 
parallel programming models
 parallel programming models parallel programming models
parallel programming models
Swetha S
 
virtual memory management in multi processor mach os
virtual memory management in multi processor mach osvirtual memory management in multi processor mach os
virtual memory management in multi processor mach os
AJAY KHARAT
 

Viewers also liked (14)

Parallel Computing Application
Parallel Computing ApplicationParallel Computing Application
Parallel Computing Application
hanis salwan
 
Parallel Computing
Parallel Computing Parallel Computing
Parallel Computing
Mr. Vikram Singh Slathia
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
David Tzemach
 
Parallel Computing
Parallel ComputingParallel Computing
Parallel Computing
Ameya Waghmare
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processing
Page Maker
 
Parallel processing Concepts
Parallel processing ConceptsParallel processing Concepts
Parallel processing Concepts
Army Public School and College -Faisal
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
Page Maker
 
Mobile computing
Mobile computingMobile computing
Mobile computing
Mayuresh Tiwari
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
Mohamed Abdelrahman
 
Parallel computing
Parallel computingParallel computing
Parallel computing
Vinay Gupta
 
Parallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesParallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and Disadvantages
Murtadha Alsabbagh
 
Introduction To Mobile Computing
Introduction To Mobile ComputingIntroduction To Mobile Computing
Introduction To Mobile Computing
Madhuri Badgujar
 
Eye gaze communication
Eye gaze communicationEye gaze communication
Eye gaze communication
PRADEEP Cheekatla
 
Mobile Computing
Mobile ComputingMobile Computing
Mobile Computing
gaurav koriya
 
Parallel Computing Application
Parallel Computing ApplicationParallel Computing Application
Parallel Computing Application
hanis salwan
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
David Tzemach
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processing
Page Maker
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
Page Maker
 
Parallel computing
Parallel computingParallel computing
Parallel computing
Vinay Gupta
 
Parallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesParallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and Disadvantages
Murtadha Alsabbagh
 
Introduction To Mobile Computing
Introduction To Mobile ComputingIntroduction To Mobile Computing
Introduction To Mobile Computing
Madhuri Badgujar
 
Ad

Similar to Parallel architecture &programming (20)

Lecture 2
Lecture 2Lecture 2
Lecture 2
Mr SMAK
 
CSA unit5.pptx
CSA unit5.pptxCSA unit5.pptx
CSA unit5.pptx
AbcvDef
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
giddy5
 
Computer Architecture CSN221_Lec_37_SpecialTopics.pdf
Computer Architecture CSN221_Lec_37_SpecialTopics.pdfComputer Architecture CSN221_Lec_37_SpecialTopics.pdf
Computer Architecture CSN221_Lec_37_SpecialTopics.pdf
ssuser034ce1
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
SUBHAMSHARANRA211100
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
SUBHAMSHARANRA211100
 
High performance computing
High performance computingHigh performance computing
High performance computing
punjab engineering college, chandigarh
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
Sudarshan Mondal
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computing
Sachin Gowda
 
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingConcurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Sachintha Gunasena
 
5_Parallel & Distributed , Computing.pdf
5_Parallel & Distributed , Computing.pdf5_Parallel & Distributed , Computing.pdf
5_Parallel & Distributed , Computing.pdf
anashgour47
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
Balaji Vignesh
 
CA UNIT IV.pptx
CA UNIT IV.pptxCA UNIT IV.pptx
CA UNIT IV.pptx
ssuser9dbd7e
 
archintro.pdf
archintro.pdfarchintro.pdf
archintro.pdf
GauravDagar13
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
Uday Sharma
 
Chapter04-OS.pptx........................
Chapter04-OS.pptx........................Chapter04-OS.pptx........................
Chapter04-OS.pptx........................
fakharsaleemraza
 
parellelisum edited_jsdnsfnjdnjfnjdn.pptx
parellelisum edited_jsdnsfnjdnjfnjdn.pptxparellelisum edited_jsdnsfnjdnjfnjdn.pptx
parellelisum edited_jsdnsfnjdnjfnjdn.pptx
aravym456
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
Ali Raza
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
Ali Raza
 
PARALLELISM IN MULTICORE PROCESSORS
PARALLELISM  IN MULTICORE PROCESSORSPARALLELISM  IN MULTICORE PROCESSORS
PARALLELISM IN MULTICORE PROCESSORS
Amirthavalli Senthil
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
Mr SMAK
 
CSA unit5.pptx
CSA unit5.pptxCSA unit5.pptx
CSA unit5.pptx
AbcvDef
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
giddy5
 
Computer Architecture CSN221_Lec_37_SpecialTopics.pdf
Computer Architecture CSN221_Lec_37_SpecialTopics.pdfComputer Architecture CSN221_Lec_37_SpecialTopics.pdf
Computer Architecture CSN221_Lec_37_SpecialTopics.pdf
ssuser034ce1
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
Sudarshan Mondal
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computing
Sachin Gowda
 
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingConcurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Sachintha Gunasena
 
5_Parallel & Distributed , Computing.pdf
5_Parallel & Distributed , Computing.pdf5_Parallel & Distributed , Computing.pdf
5_Parallel & Distributed , Computing.pdf
anashgour47
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
Balaji Vignesh
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
Uday Sharma
 
Chapter04-OS.pptx........................
Chapter04-OS.pptx........................Chapter04-OS.pptx........................
Chapter04-OS.pptx........................
fakharsaleemraza
 
parellelisum edited_jsdnsfnjdnjfnjdn.pptx
parellelisum edited_jsdnsfnjdnjfnjdn.pptxparellelisum edited_jsdnsfnjdnjfnjdn.pptx
parellelisum edited_jsdnsfnjdnjfnjdn.pptx
aravym456
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
Ali Raza
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
Ali Raza
 
PARALLELISM IN MULTICORE PROCESSORS
PARALLELISM  IN MULTICORE PROCESSORSPARALLELISM  IN MULTICORE PROCESSORS
PARALLELISM IN MULTICORE PROCESSORS
Amirthavalli Senthil
 
Ad

More from Ismail El Gayar (7)

Neural Networks
Neural NetworksNeural Networks
Neural Networks
Ismail El Gayar
 
Why computer engineering
Why computer engineeringWhy computer engineering
Why computer engineering
Ismail El Gayar
 
What is ETL?
What is ETL?What is ETL?
What is ETL?
Ismail El Gayar
 
Geographic Information System for Egyptian Railway System(GIS)
Geographic Information System for Egyptian Railway System(GIS)Geographic Information System for Egyptian Railway System(GIS)
Geographic Information System for Egyptian Railway System(GIS)
Ismail El Gayar
 
System science documentation
System science documentationSystem science documentation
System science documentation
Ismail El Gayar
 
Prolog & lisp
Prolog & lispProlog & lisp
Prolog & lisp
Ismail El Gayar
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
Ismail El Gayar
 
Why computer engineering
Why computer engineeringWhy computer engineering
Why computer engineering
Ismail El Gayar
 
Geographic Information System for Egyptian Railway System(GIS)
Geographic Information System for Egyptian Railway System(GIS)Geographic Information System for Egyptian Railway System(GIS)
Geographic Information System for Egyptian Railway System(GIS)
Ismail El Gayar
 
System science documentation
System science documentationSystem science documentation
System science documentation
Ismail El Gayar
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
Ismail El Gayar
 

Recently uploaded (20)

tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 

Parallel architecture &programming

  • 1. Parallel Architecture & Parallel Programming Submitted: Dr.Hesham El-Zouka By:Eng. Ismail Fathalla El-Gayar
  • 2. Content:- • Introduction – Von-Neumann Architecture. – Serial ( Single ) Computational. – Concepts and Terminology • Parallel Architecture – Definition – Benefits & Advantages – Distinguishing Parallel Processors – Multiprocessor Architecture Classifications – Parallel Computer Memory Architectures • Parallel Programming – Definition – Parallel Programming Model – Designing Parallel Programs – Parallel Algorithm Examples – Conclusion • Case Study
  • 3. Introduction: • Von-Neumann Architecture Since then, virtually all computers have followed this basic design, which Comprised of four main components: – Memory – Control Unit – Arithmetic Logic Unit – Input/output
  • 4. Introduction Serial Computational :- • Traditionally, software has been written for serial computation: To be run on a single computer having a single Central Processing Unit (CPU) • Problem is broken into discrete SERIES of instructions. • Instructions are EXECUTED one after another. • One instruction may execute at any moment in TIME
  • 7. Definition: • parallel computing: is the simultaneous use of multiple compute resources to solve a computational problem To be run using multiple CPUs. In which:- - A problem is broken into discrete parts that can be solved concurrently - Each part is further broken down to a series of instructions - Instructions from each part execute simultaneously on different CPUs
  • 9. Concepts and Terminology: General Terminology • Task – A logically discrete section of computational work • Parallel Task – Task that can be executed by multiple processors safely • Communications – Data exchange between parallel tasks • Synchronization – The coordination of parallel tasks in real time
  • 10. Benefits & Advantages: • Save Time & Money • Solve Larger Problems
  • 11. How To Distinguishing Parallel processors: – Resource Allocation: • how large a collection? • how powerful are the elements? • how much memory? – Data access, Communication and Synchronization • how do the elements cooperate and communicate? • how are data transmitted between processors? • what are the abstractions and primitives for cooperation? – Performance and Scalability • how does it all translate into performance? • how does it scale?
  • 12. Multiprocessor Architecture Classification : • Distinguishes multi-processor architecture by instruction and data:- • SISD – Single Instruction, Single Data • SIMD – Single Instruction, Multiple Data • MISD – Multiple Instruction, Single Data • MIMD – Multiple Instruction, Multiple Data
  • 13. Flynn’s Classical Taxonomy: SISD • Serial • Only one instruction and data stream is acted on during any one clock cycle
  • 14. Flynn’s Classical Taxonomy: SIMD • All processing units execute the same instruction at any given clock cycle. • Each processing unit operates on a different data element.
  • 15. Flynn’s Classical Taxonomy: MISD • Different instructions operated on a single data element. • Very few practical uses for this type of classification. • Example: Multiple cryptography algorithms attempting to crack a single coded message.
  • 16. Flynn’s Classical Taxonomy: MIMD • Can execute different instructions on different data elements. • Most common type of parallel computer.
  • 17. Parallel Computer Memory Architectures: Shared Memory Architecture • All processors access all memory as a single global address space. • Data sharing is fast. • Lack of scalability between memory and CPUs
  • 18. Parallel Computer Memory Architectures: Distributed Memory • Each processor has its own memory. • Is scalable, no overhead for cache coherency. • Programmer is responsible for many details of communication between processors.
  • 20. Parallel Programming Models • Exist as an abstraction above hardware and memory architectures • Examples: – Shared Memory – Threads – Messaging Passing – Data Parallel
  • 21. Parallel Programming Models: Shared Memory Model • Appears to the user as a single shared memory, despite hardware implementations • Locks and semaphores may be used to control shared memory access. • Program development can be simplified since there is no need to explicitly specify communication between tasks.
  • 22. Parallel Programming Models: Threads Model • A single process may have multiple, concurrent execution paths. • Typically used with a shared memory architecture. • Programmer is responsible for determining all parallelism.
  • 23. Parallel Programming Models: Message Passing Model • Tasks exchange data by sending and receiving messages. Typically used with distributed memory architectures. • Data transfer requires cooperative operations to be performed by each process. Ex.- a send operation must have a receive operation. • MPI (Message Passing Interface) is the interface standard for message passing.
  • 24. Parallel Programming Models: Data Parallel Model • Tasks performing the same operations on a set of data. Each task working on a separate piece of the set. • Works well with either shared memory or distributed memory architectures.
  • 25. Designing Parallel Programs: Automatic Parallelization • Automatic – Compiler analyzes code and identifies opportunities for parallelism – Analysis includes attempting to compute whether or not the parallelism actually improves performance. – Loops are the most frequent target for automatic parallelism.
  • 26. Designing Parallel Programs: Manual Parallelization • Understand the problem – A Parallelizable Problem: • Calculate the potential energy for each of several thousand independent conformations of a molecule. When done find the minimum energy conformation. – A Non-Parallelizable Problem: • The Fibonacci Series – All calculations are dependent
  • 27. Designing Parallel Programs: Domain Decomposition Each task handles a portion of the data set. •
  • 28. Designing Parallel Programs: Functional Decomposition Each task performs a function of the overall work •
  • 29. Conclusion • Parallel computing is fast. • There are many different approaches and models of parallel computing. • Parallel computing is the future of computing.
  • 30. References • A Library of Parallel Algorithms, www- 2.cs.cmu.edu/~scandal/nesl/algorithms.html • Internet Parallel Computing Archive, wotug.ukc.ac.uk/parallel • Introduction to Parallel Computing, www.llnl.gov/computing/tutorials/parallel_comp/#Whatis • Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, McGraw Hill Higher Education, 2003 • The New Turing Omnibus, A. K. Dewdney, Henry Holt and Company, 1993
  • 31. Case Study Developing Parallel Applications On the Web using Java mobile agents and Java threads
  • 32. My References : • Parallel Computing Using JAVA Mobile Agents By: Panayiotou Christoforos, George Samaras ,Evaggelia Pitoura, Paraskevas Evripidou • An Environment for Parallel Computing on Internet Using JAVA By:P C Saxena, S Singh, K S Kahlon