尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
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

Cloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling TechnologiesCloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling Technologies
Abdelkhalik Mosa
 
It 3-icmp-igmp
It 3-icmp-igmpIt 3-icmp-igmp
It 3-icmp-igmp
MD SHADAB ALAM
 
Parallel Computing
Parallel Computing Parallel Computing
Parallel Computing
Umma Khatuna Jannat
 
Nimbus
NimbusNimbus
Nimbus
Aparna Nayak
 
CLOUD COMPUTING UNIT-1
CLOUD COMPUTING UNIT-1CLOUD COMPUTING UNIT-1
CLOUD COMPUTING UNIT-1
Dr K V Subba Reddy
 
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
 
Cloud Ecosystem
Cloud EcosystemCloud Ecosystem
Cloud Ecosystem
Arief Gunawan
 
OIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question BankOIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question Bank
pkaviya
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating System
AjithaG9
 
Cluster computing
Cluster computingCluster computing
Sequential consistency model
Sequential consistency modelSequential consistency model
Sequential consistency model
Bharathi Lakshmi Pon
 
Mobile computing (Wireless) Medium Access Control (MAC)
Mobile computing (Wireless) Medium Access Control (MAC)Mobile computing (Wireless) Medium Access Control (MAC)
Mobile computing (Wireless) Medium Access Control (MAC)
Jyothishmathi Institute of Technology and Science Karimnagar
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
babak danyal
 
Characteristics of cloud computing
Characteristics of cloud computingCharacteristics of cloud computing
Characteristics of cloud computing
GOVERNMENT COLLEGE OF ENGINEERING,TIRUNELVELI
 
Message Authentication Code & HMAC
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMAC
Krishna Gehlot
 
Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor ...
Multithreading: Exploiting Thread-Level  Parallelism to Improve Uniprocessor ...Multithreading: Exploiting Thread-Level  Parallelism to Improve Uniprocessor ...
Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor ...
Ahmed kasim
 
The cloud ecosystem
The cloud ecosystemThe cloud ecosystem
The cloud ecosystem
BHASKAR CHAUDHURY
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
Uday Sharma
 
Physical organization of parallel platforms
Physical organization of parallel platformsPhysical organization of parallel platforms
Physical organization of parallel platforms
Syed Zaid Irshad
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
Janani S
 

What's hot (20)

Cloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling TechnologiesCloud computing and Cloud Enabling Technologies
Cloud computing and Cloud Enabling Technologies
 
It 3-icmp-igmp
It 3-icmp-igmpIt 3-icmp-igmp
It 3-icmp-igmp
 
Parallel Computing
Parallel Computing Parallel Computing
Parallel Computing
 
Nimbus
NimbusNimbus
Nimbus
 
CLOUD COMPUTING UNIT-1
CLOUD COMPUTING UNIT-1CLOUD COMPUTING UNIT-1
CLOUD COMPUTING UNIT-1
 
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelismadvanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
 
Cloud Ecosystem
Cloud EcosystemCloud Ecosystem
Cloud Ecosystem
 
OIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question BankOIT552 Cloud Computing - Question Bank
OIT552 Cloud Computing - Question Bank
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating System
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Sequential consistency model
Sequential consistency modelSequential consistency model
Sequential consistency model
 
Mobile computing (Wireless) Medium Access Control (MAC)
Mobile computing (Wireless) Medium Access Control (MAC)Mobile computing (Wireless) Medium Access Control (MAC)
Mobile computing (Wireless) Medium Access Control (MAC)
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Characteristics of cloud computing
Characteristics of cloud computingCharacteristics of cloud computing
Characteristics of cloud computing
 
Message Authentication Code & HMAC
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMAC
 
Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor ...
Multithreading: Exploiting Thread-Level  Parallelism to Improve Uniprocessor ...Multithreading: Exploiting Thread-Level  Parallelism to Improve Uniprocessor ...
Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor ...
 
The cloud ecosystem
The cloud ecosystemThe cloud ecosystem
The cloud ecosystem
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
Physical organization of parallel platforms
Physical organization of parallel platformsPhysical organization of parallel platforms
Physical organization of parallel platforms
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
 

Viewers also liked

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
 
Parallel computing
Parallel computingParallel computing
Parallel computing
virend111
 
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
 

Viewers also liked (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
 

Similar to Parallel architecture &programming

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
 
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
 
archintro.pdf
archintro.pdfarchintro.pdf
archintro.pdf
GauravDagar13
 
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
 
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
 
Lecture1
Lecture1Lecture1
Lecture1
tt_aljobory
 

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)
 
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
 

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

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

intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
NTTDATA INTRAMART
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
Kieran Kunhya
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Facilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptxFacilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptx
Knoldus Inc.
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB
 
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
dipikamodels1
 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
ThousandEyes
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
UiPathCommunity
 
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDCScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Cyber Recovery Wargame
Cyber Recovery WargameCyber Recovery Wargame
Cyber Recovery Wargame
Databarracks
 
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
anilsa9823
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
ScyllaDB
 
Building a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data PlatformBuilding a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data Platform
Enterprise Knowledge
 

Recently uploaded (20)

intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Facilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptxFacilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptx
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
 
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
 
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDCScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDC
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Cyber Recovery Wargame
Cyber Recovery WargameCyber Recovery Wargame
Cyber Recovery Wargame
 
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
 
Building a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data PlatformBuilding a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data Platform
 

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
  翻译: