SlideShare a Scribd company logo
1 of 23
Download to read offline
 A programming model is a collection of program
abstraction providing a programmer a simplified
and transparent view of computer H/W and S/W.
 Parallel programming model is designed for vector
computers.
 Fundamental issues in parallel programming.
 Creation, suspension, reactivation, termination.
Five model are designed that exploits
parallelism-:
 Shared-variable model.
 Message-passing model.
 Data parallel model.
 Object oriented model.
 Functional and logic model.
 In shared variable model parallelism depends on
how IPC is implemented.
 IPC implemented in parallel programming by two
ways.
 IPC using shared variable.
 IPC using message passing.
 IPC with shared variable
 IPC with message passing
 Critical section.
 Memory consistency.
 Atomicity with memory operation.
 Fast synchronization.
 Shared data structure.
 Two process communicate with each other by
passing message through a network.
 Delay caused by message passing is much longer
than shared variable model in a same memory.
 Two message passing approach are introduced here.
Synchronous message passing-:
 Its synchronizes the sender and receiver process
with time and space just like telephone call.
 No shared memory.
 No need of mutual exclusion.
 No buffer are used in communication channel.
 It can be blocked by channel being busy.
Asynchronous message passing-:
 Does not need to synchronize the sender and
receiver in time and space.
 Non blocking can be achieved.
 Buffer are used to hold the message along the path
of connecting channel.
 Message passing programming is gradually
changing, once the virtual memory from all nodes
are combined.
 It require the use of pre-distributed data set.
 Interconnected data structure are also needed to
facilitate data exchange operation.
 It emphasizes local computation and data routing
operation such as permutation, replication, reduction
and parallel prefix.
 It can be implemented on either SIMD or SPMD
multicomputer, depending on the grain size of
program.
 Object are created and manipulated dynamically.
 Processing is performed using object.
 Concurrent programming model are built up from
low level object such as processes, queue and
semaphore.
 C-OOP achieve parallelism using three methods.
 Pipeline concurrency.
 Divide and conquer concurrency.
 Co-operating problem solving.
 Two language-oriented programming for parallel
processing are purposed.
 Functional programming model such as LISP,
SISAL, Strand 88.
 Logic programming model as prolog.
 Based on predicate logic, logic programming is
suitable for solving large database queries.
 Language feature for parallel programming into six
categories according to functionality.
Optimization features
 Used for program restructuring and compilation
directives.
 Sequentially coded program into parallel code.
 Automated parallelization.
 Semi-automated parallelization.
Availability feature
 Its use to enhance the user- friendliness.
 Make language portable to large class of parallel
computers.
 Scalability.
 Compatibility.
 Portability.
Synchronization/ communication feature
 Shared variable for IPC.
 Single assignment language.
 Send/receive for message passing.
 Logical shared memory such as the row space in
Linda.
 Remote procedure call.
 Data flow languages such as id.
.
Control of parallelism
 Coarse, medium or fine grain.
 Explicit versus implicit parallelism.
 Loop parallelism in iteration.
 Shared task queue.
 Divide and conquer paradigm.
 Shared abstract data type.
Data parallelism feature
 It specified how data are accessed and distributed
 Runtime automatic decomposition.
 Mapping specification.
 Virtual processor support.
 Direct access to shared data.
Process management features
 These feature are needed to support the efficient
creation of parallel processes.
 Implementation of multithreading or multitasking.
 Dynamic process creation at runtime.
 Automatic load balancing.
 Light weight processes.
 Special language construct and data array
expression for exploiting parallelism in program.
 First is FORTRAN 90 array notation.
 Parallel flow control is achieve using do across and
do all type of keyword which is use in the
FORTRAN 90.
 Same we also use FORK and JOIN method.
 The role of compiler to remove the burden of
program optimization and code generation.
 A parallelizing compiler consist of the three major
phases.
 Flow analysis.
 Optimization.
 Code generation.
“Compilation phases in parallel code generation”
THANK YOU

More Related Content

What's hot

distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
shivli0769
 
Connection Machine
Connection MachineConnection Machine
Connection Machine
butest
 

What's hot (20)

Communication costs in parallel machines
Communication costs in parallel machinesCommunication costs in parallel machines
Communication costs in parallel machines
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
 
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelismadvanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Aca2 10 11
Aca2 10 11Aca2 10 11
Aca2 10 11
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 
Kernel (OS)
Kernel (OS)Kernel (OS)
Kernel (OS)
 
Dichotomy of parallel computing platforms
Dichotomy of parallel computing platformsDichotomy of parallel computing platforms
Dichotomy of parallel computing platforms
 
Evaluation of morden computer & system attributes in ACA
Evaluation of morden computer &  system attributes in ACAEvaluation of morden computer &  system attributes in ACA
Evaluation of morden computer & system attributes in ACA
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed Computing
 
Vision of cloud computing
Vision of cloud computingVision of cloud computing
Vision of cloud computing
 
Parallel Algorithms
Parallel AlgorithmsParallel Algorithms
Parallel Algorithms
 
Connection Machine
Connection MachineConnection Machine
Connection Machine
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
system interconnect architectures in ACA
system interconnect architectures in ACAsystem interconnect architectures in ACA
system interconnect architectures in ACA
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processing
 
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
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 

Viewers also liked

Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
Uday Sharma
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
Mr SMAK
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
guest9f8315
 
Computer architecture kai hwang
Computer architecture   kai hwangComputer architecture   kai hwang
Computer architecture kai hwang
Sumedha
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
Mr SMAK
 
Lecture 6
Lecture  6Lecture  6
Lecture 6
Mr SMAK
 

Viewers also liked (20)

Loop parallelization & pipelining
Loop parallelization & pipeliningLoop parallelization & pipelining
Loop parallelization & pipelining
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Comp architecture : branch prediction
Comp architecture : branch predictionComp architecture : branch prediction
Comp architecture : branch prediction
 
Program and Network Properties
Program and Network PropertiesProgram and Network Properties
Program and Network Properties
 
Parallel language & compilers
Parallel language & compilersParallel language & compilers
Parallel language & compilers
 
M.Tech: Advanced Computer Architecture Assignment II
M.Tech: Advanced Computer Architecture Assignment IIM.Tech: Advanced Computer Architecture Assignment II
M.Tech: Advanced Computer Architecture Assignment II
 
Mefa unit iii material(market stuructures and pricing methods)
Mefa unit iii material(market stuructures and pricing methods)Mefa unit iii material(market stuructures and pricing methods)
Mefa unit iii material(market stuructures and pricing methods)
 
Tomasulo Algorithm
Tomasulo AlgorithmTomasulo Algorithm
Tomasulo Algorithm
 
Instruction Level Parallelism Compiler optimization Techniques Anna Universit...
Instruction Level Parallelism Compiler optimization Techniques Anna Universit...Instruction Level Parallelism Compiler optimization Techniques Anna Universit...
Instruction Level Parallelism Compiler optimization Techniques Anna Universit...
 
Parallel computing persentation
Parallel computing persentationParallel computing persentation
Parallel computing persentation
 
Vol1
Vol1Vol1
Vol1
 
Advanced Comuter Architecture Ch6 Problem Solutions
Advanced Comuter Architecture Ch6 Problem SolutionsAdvanced Comuter Architecture Ch6 Problem Solutions
Advanced Comuter Architecture Ch6 Problem Solutions
 
Computer architecture kai hwang
Computer architecture   kai hwangComputer architecture   kai hwang
Computer architecture kai hwang
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Cache coherence problem and its solutions
Cache coherence problem and its solutionsCache coherence problem and its solutions
Cache coherence problem and its solutions
 
Pipelining and ILP (Instruction Level Parallelism)
Pipelining and ILP (Instruction Level Parallelism) Pipelining and ILP (Instruction Level Parallelism)
Pipelining and ILP (Instruction Level Parallelism)
 
Lecture 6
Lecture  6Lecture  6
Lecture 6
 
Instruction pipeline: Computer Architecture
Instruction pipeline: Computer ArchitectureInstruction pipeline: Computer Architecture
Instruction pipeline: Computer Architecture
 

Similar to Parallel programming model, language and compiler in ACA.

The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...
The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...
The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...
ijceronline
 

Similar to Parallel programming model, language and compiler in ACA. (20)

Advanced computer architecture unit 5
Advanced computer architecture  unit 5Advanced computer architecture  unit 5
Advanced computer architecture unit 5
 
Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
Basic concepts of parallelization
Basic concepts of parallelizationBasic concepts of parallelization
Basic concepts of parallelization
 
Unit5
Unit5Unit5
Unit5
 
Aq4301224227
Aq4301224227Aq4301224227
Aq4301224227
 
01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt01-MessagePassingFundamentals.ppt
01-MessagePassingFundamentals.ppt
 
parallel programming models
 parallel programming models parallel programming models
parallel programming models
 
Parallelization using open mp
Parallelization using open mpParallelization using open mp
Parallelization using open mp
 
Doppl Development Introduction
Doppl Development IntroductionDoppl Development Introduction
Doppl Development Introduction
 
The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...
The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...
The Parallel Architecture Approach, Single Program Multiple Data (Spmd) Imple...
 
LOCK-FREE PARALLEL ACCESS COLLECTIONS
LOCK-FREE PARALLEL ACCESS COLLECTIONSLOCK-FREE PARALLEL ACCESS COLLECTIONS
LOCK-FREE PARALLEL ACCESS COLLECTIONS
 
Lock free parallel access collections
Lock free parallel access collectionsLock free parallel access collections
Lock free parallel access collections
 
Concurrent Matrix Multiplication on Multi-core Processors
Concurrent Matrix Multiplication on Multi-core ProcessorsConcurrent Matrix Multiplication on Multi-core Processors
Concurrent Matrix Multiplication on Multi-core Processors
 
Compiler design
Compiler designCompiler design
Compiler design
 
Building A Linux Cluster Using Raspberry PI #1!
Building A Linux Cluster Using Raspberry PI #1!Building A Linux Cluster Using Raspberry PI #1!
Building A Linux Cluster Using Raspberry PI #1!
 
Mpi.net running wizard
Mpi.net running wizardMpi.net running wizard
Mpi.net running wizard
 
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
 
Automatic Compilation Of MATLAB Programs For Synergistic Execution On Heterog...
Automatic Compilation Of MATLAB Programs For Synergistic Execution On Heterog...Automatic Compilation Of MATLAB Programs For Synergistic Execution On Heterog...
Automatic Compilation Of MATLAB Programs For Synergistic Execution On Heterog...
 
Towards high performance computing(hpc) through parallel programming paradigm...
Towards high performance computing(hpc) through parallel programming paradigm...Towards high performance computing(hpc) through parallel programming paradigm...
Towards high performance computing(hpc) through parallel programming paradigm...
 
Migration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming ModelsMigration To Multi Core - Parallel Programming Models
Migration To Multi Core - Parallel Programming Models
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Parallel programming model, language and compiler in ACA.

  • 1.
  • 2.  A programming model is a collection of program abstraction providing a programmer a simplified and transparent view of computer H/W and S/W.  Parallel programming model is designed for vector computers.  Fundamental issues in parallel programming.  Creation, suspension, reactivation, termination.
  • 3. Five model are designed that exploits parallelism-:  Shared-variable model.  Message-passing model.  Data parallel model.  Object oriented model.  Functional and logic model.
  • 4.  In shared variable model parallelism depends on how IPC is implemented.  IPC implemented in parallel programming by two ways.  IPC using shared variable.  IPC using message passing.
  • 5.  IPC with shared variable  IPC with message passing
  • 6.  Critical section.  Memory consistency.  Atomicity with memory operation.  Fast synchronization.  Shared data structure.
  • 7.  Two process communicate with each other by passing message through a network.  Delay caused by message passing is much longer than shared variable model in a same memory.  Two message passing approach are introduced here.
  • 8. Synchronous message passing-:  Its synchronizes the sender and receiver process with time and space just like telephone call.  No shared memory.  No need of mutual exclusion.  No buffer are used in communication channel.  It can be blocked by channel being busy.
  • 9. Asynchronous message passing-:  Does not need to synchronize the sender and receiver in time and space.  Non blocking can be achieved.  Buffer are used to hold the message along the path of connecting channel.  Message passing programming is gradually changing, once the virtual memory from all nodes are combined.
  • 10.  It require the use of pre-distributed data set.  Interconnected data structure are also needed to facilitate data exchange operation.  It emphasizes local computation and data routing operation such as permutation, replication, reduction and parallel prefix.  It can be implemented on either SIMD or SPMD multicomputer, depending on the grain size of program.
  • 11.  Object are created and manipulated dynamically.  Processing is performed using object.  Concurrent programming model are built up from low level object such as processes, queue and semaphore.  C-OOP achieve parallelism using three methods.
  • 12.  Pipeline concurrency.  Divide and conquer concurrency.  Co-operating problem solving.
  • 13.  Two language-oriented programming for parallel processing are purposed.  Functional programming model such as LISP, SISAL, Strand 88.  Logic programming model as prolog.  Based on predicate logic, logic programming is suitable for solving large database queries.
  • 14.  Language feature for parallel programming into six categories according to functionality. Optimization features  Used for program restructuring and compilation directives.  Sequentially coded program into parallel code.  Automated parallelization.  Semi-automated parallelization.
  • 15. Availability feature  Its use to enhance the user- friendliness.  Make language portable to large class of parallel computers.  Scalability.  Compatibility.  Portability.
  • 16. Synchronization/ communication feature  Shared variable for IPC.  Single assignment language.  Send/receive for message passing.  Logical shared memory such as the row space in Linda.  Remote procedure call.  Data flow languages such as id. .
  • 17. Control of parallelism  Coarse, medium or fine grain.  Explicit versus implicit parallelism.  Loop parallelism in iteration.  Shared task queue.  Divide and conquer paradigm.  Shared abstract data type.
  • 18. Data parallelism feature  It specified how data are accessed and distributed  Runtime automatic decomposition.  Mapping specification.  Virtual processor support.  Direct access to shared data.
  • 19. Process management features  These feature are needed to support the efficient creation of parallel processes.  Implementation of multithreading or multitasking.  Dynamic process creation at runtime.  Automatic load balancing.  Light weight processes.
  • 20.  Special language construct and data array expression for exploiting parallelism in program.  First is FORTRAN 90 array notation.  Parallel flow control is achieve using do across and do all type of keyword which is use in the FORTRAN 90.  Same we also use FORK and JOIN method.
  • 21.  The role of compiler to remove the burden of program optimization and code generation.  A parallelizing compiler consist of the three major phases.  Flow analysis.  Optimization.  Code generation.
  • 22. “Compilation phases in parallel code generation”