SlideShare ist ein Scribd-Unternehmen logo
1 von 33
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

Weitere ähnliche Inhalte

Was ist angesagt?

Parallel architecture
Parallel architectureParallel architecture
Parallel architectureMr SMAK
 
parallel Questions & answers
parallel Questions & answersparallel Questions & answers
parallel Questions & answersMd. Mashiur Rahman
 
Storage management
Storage managementStorage management
Storage managementAtul Sharma
 
Von Neumann Architecture
Von Neumann Architecture   Von Neumann Architecture
Von Neumann Architecture Lor Ham
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
Virtual Memory
Virtual MemoryVirtual Memory
Virtual MemoryArchith777
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementationRajan Kumar
 
Data-Intensive Technologies for Cloud Computing
Data-Intensive Technologies for CloudComputingData-Intensive Technologies for CloudComputing
Data-Intensive Technologies for Cloud Computinghuda2018
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Program security
Program securityProgram security
Program securityG Prachi
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 

Was ist angesagt? (20)

Graph Planning
Graph PlanningGraph Planning
Graph Planning
 
Parallel architecture
Parallel architectureParallel architecture
Parallel architecture
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
parallel Questions & answers
parallel Questions & answersparallel Questions & answers
parallel Questions & answers
 
Storage management
Storage managementStorage management
Storage management
 
Von Neumann Architecture
Von Neumann Architecture   Von Neumann Architecture
Von Neumann Architecture
 
Object model
Object modelObject model
Object model
 
I/O System
I/O SystemI/O System
I/O System
 
Chapter 16
Chapter 16Chapter 16
Chapter 16
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Virtual Memory
Virtual MemoryVirtual Memory
Virtual Memory
 
Input output in linux
Input output in linuxInput output in linux
Input output in linux
 
Intro to assembly language
Intro to assembly languageIntro to assembly language
Intro to assembly language
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementation
 
Data-Intensive Technologies for Cloud Computing
Data-Intensive Technologies for CloudComputingData-Intensive Technologies for CloudComputing
Data-Intensive Technologies for Cloud Computing
 
Load balancing
Load balancingLoad balancing
Load balancing
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Multiprocessor system
Multiprocessor system Multiprocessor system
Multiprocessor system
 
Program security
Program securityProgram security
Program security
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 

Andere mochten auch

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 TzemachDavid Tzemach
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processingPage Maker
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processingPage Maker
 
Parallel computing
Parallel computingParallel computing
Parallel computingVinay Gupta
 
Parallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesParallel Algorithms Advantages and Disadvantages
Parallel Algorithms Advantages and DisadvantagesMurtadha Alsabbagh
 
Introduction To Mobile Computing
Introduction To Mobile ComputingIntroduction To Mobile Computing
Introduction To Mobile ComputingMadhuri Badgujar
 

Andere mochten auch (15)

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
 
Parallel processing Concepts
Parallel processing ConceptsParallel processing Concepts
Parallel processing Concepts
 
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
 

Ähnlich wie Parallel architecture &programming

Lecture 2
Lecture 2Lecture 2
Lecture 2Mr SMAK
 
CSA unit5.pptx
CSA unit5.pptxCSA unit5.pptx
CSA unit5.pptxAbcvDef
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdfgiddy5
 
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 computingSachin 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 ProgrammingSachintha Gunasena
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureBalaji Vignesh
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel ProgrammingUday Sharma
 
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 PROCESSORSAmirthavalli Senthil
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processingSyed Zaid Irshad
 
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
 

Ähnlich wie 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
 
archintro.pdf
archintro.pdfarchintro.pdf
archintro.pdf
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
PARALLELISM IN MULTICORE PROCESSORS
PARALLELISM  IN MULTICORE PROCESSORSPARALLELISM  IN MULTICORE PROCESSORS
PARALLELISM IN MULTICORE PROCESSORS
 
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
 

Mehr von Ismail El Gayar

Why computer engineering
Why computer engineeringWhy computer engineering
Why computer engineeringIsmail 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
 

Mehr von 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
 

Kürzlich hochgeladen

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
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 Ontologyjohnbeverley2021
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

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