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

More Related Content

What's hot

PARALLELISM IN MULTICORE PROCESSORS
PARALLELISM  IN MULTICORE PROCESSORSPARALLELISM  IN MULTICORE PROCESSORS
PARALLELISM IN MULTICORE PROCESSORS
Amirthavalli Senthil
 
Microkernel
MicrokernelMicrokernel
Microkernel
Suraj Mehta
 
Basic Multithreading using Posix Threads
Basic Multithreading using Posix ThreadsBasic Multithreading using Posix Threads
Basic Multithreading using Posix Threads
Tushar B Kute
 
Kernel (OS)
Kernel (OS)Kernel (OS)
Metric Learning 세미나.pptx
Metric Learning 세미나.pptxMetric Learning 세미나.pptx
Metric Learning 세미나.pptx
DongkyunKim17
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
Danish Javed
 
Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)
Akhila Prabhakaran
 
Parallel Processing Concepts
Parallel Processing Concepts Parallel Processing Concepts
Parallel Processing Concepts
Dr Shashikant Athawale
 
Micro-Architectural Attacks on Cyber-Physical Systems
Micro-Architectural Attacks on Cyber-Physical SystemsMicro-Architectural Attacks on Cyber-Physical Systems
Micro-Architectural Attacks on Cyber-Physical Systems
Heechul Yun
 
Superscalar Processor
Superscalar ProcessorSuperscalar Processor
Superscalar Processor
Manash Kumar Mondal
 
Memory management
Memory managementMemory management
Memory management
Muhammad Fayyaz
 
Parallel Computing
Parallel Computing Parallel Computing
Parallel Computing
Umma Khatuna Jannat
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel ProgrammingUday Sharma
 
What is pseudo random number
What is pseudo random numberWhat is pseudo random number
What is pseudo random number
Akshay Tikekar
 
Parallel computing
Parallel computingParallel computing
Parallel computing
Engr Zardari Saddam
 
Processing-in-Memory
Processing-in-MemoryProcessing-in-Memory
Processing-in-Memory
Facultad de Informática UCM
 
Lecture 3
Lecture 3Lecture 3
Lecture 3Mr SMAK
 

What's hot (20)

PARALLELISM IN MULTICORE PROCESSORS
PARALLELISM  IN MULTICORE PROCESSORSPARALLELISM  IN MULTICORE PROCESSORS
PARALLELISM IN MULTICORE PROCESSORS
 
Microkernel
MicrokernelMicrokernel
Microkernel
 
Basic Multithreading using Posix Threads
Basic Multithreading using Posix ThreadsBasic Multithreading using Posix Threads
Basic Multithreading using Posix Threads
 
Kernel (OS)
Kernel (OS)Kernel (OS)
Kernel (OS)
 
Metric Learning 세미나.pptx
Metric Learning 세미나.pptxMetric Learning 세미나.pptx
Metric Learning 세미나.pptx
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
 
VIRTUAL MEMORY
VIRTUAL MEMORYVIRTUAL MEMORY
VIRTUAL MEMORY
 
Parallel processing Concepts
Parallel processing ConceptsParallel processing Concepts
Parallel processing Concepts
 
Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)
 
Parallel Processing Concepts
Parallel Processing Concepts Parallel Processing Concepts
Parallel Processing Concepts
 
Micro-Architectural Attacks on Cyber-Physical Systems
Micro-Architectural Attacks on Cyber-Physical SystemsMicro-Architectural Attacks on Cyber-Physical Systems
Micro-Architectural Attacks on Cyber-Physical Systems
 
Superscalar Processor
Superscalar ProcessorSuperscalar Processor
Superscalar Processor
 
Memory management
Memory managementMemory management
Memory management
 
Parallel Computing
Parallel Computing Parallel Computing
Parallel Computing
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
What is pseudo random number
What is pseudo random numberWhat is pseudo random number
What is pseudo random number
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Processing-in-Memory
Processing-in-MemoryProcessing-in-Memory
Processing-in-Memory
 
NUMA overview
NUMA overviewNUMA overview
NUMA overview
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 

Viewers also liked

Parallel Computing Application
Parallel Computing ApplicationParallel Computing Application
Parallel Computing Applicationhanis salwan
 
Parallel computing
Parallel computingParallel computing
Parallel computingvirend111
 
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
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
Page Maker
 
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
 

Viewers also liked (14)

Parallel Computing Application
Parallel Computing ApplicationParallel Computing Application
Parallel Computing Application
 
Parallel Computing
Parallel Computing Parallel Computing
Parallel Computing
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
 
Parallel Computing
Parallel ComputingParallel Computing
Parallel Computing
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processing
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
 
Mobile computing
Mobile computingMobile computing
Mobile computing
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Parallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesParallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and Disadvantages
 
Introduction To Mobile Computing
Introduction To Mobile ComputingIntroduction To Mobile Computing
Introduction To Mobile Computing
 
Eye gaze communication
Eye gaze communicationEye gaze communication
Eye gaze communication
 
Mobile Computing
Mobile ComputingMobile Computing
Mobile Computing
 

Similar to Parallel architecture &programming

Lecture 2
Lecture 2Lecture 2
Lecture 2Mr 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
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
unit 4.pptxunit 4.pptx
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
 
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
 
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
 
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
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processing
Syed Zaid Irshad
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
Avinash_N Rao
 
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...
Malobe Lottin Cyrille Marcel
 
Pthread
PthreadPthread
Pthread
Gopi Saiteja
 

Similar to Parallel architecture &programming (20)

Lecture 2
Lecture 2Lecture 2
Lecture 2
 
CSA unit5.pptx
CSA unit5.pptxCSA unit5.pptx
CSA unit5.pptx
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
 
High performance computing
High performance computingHigh performance computing
High performance computing
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
 
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
 
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
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
 
CA UNIT IV.pptx
CA UNIT IV.pptxCA UNIT IV.pptx
CA UNIT IV.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
 
archintro.pdf
archintro.pdfarchintro.pdf
archintro.pdf
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processing
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
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...
 
Lecture1
Lecture1Lecture1
Lecture1
 
Pthread
PthreadPthread
Pthread
 

More from Ismail El Gayar

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 documentationIsmail El Gayar
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageIsmail El Gayar
 

More from Ismail El Gayar (7)

Neural Networks
Neural NetworksNeural Networks
Neural Networks
 
Why computer engineering
Why computer engineeringWhy computer engineering
Why computer engineering
 
What is ETL?
What is ETL?What is ETL?
What is ETL?
 
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)
 
System science documentation
System science documentationSystem science documentation
System science documentation
 
Prolog & lisp
Prolog & lispProlog & lisp
Prolog & lisp
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
 

Recently uploaded

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

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