SlideShare a Scribd company logo
Data Parallel Model
An Overview
Content taken from.
A book by Naresh Jotwani & Kai Hwang
Part IV Software for Parallel Programming
Chapter 10). Parallel Models, Languages, and Compilers
Parallel Programming Models
10.1.1 Shared Variable Model
10.1.2 Message Passing Model
Special Thanks to
Dr. Preeti Aggarwal
ASSISTANT PROFESSOR
Tutorials Point
Data-Parallel Model
Created and presented by:
Nikhil Sharma
M.E CSE 1st year
Roll no (19-311)
July 2019- Dec 2019 Session
Title Anatomy
• Data
• Parallel Model
Programming Model
A collection of program abstractions providing a programmer a
simplified and transparent view of the computer
Hardware/software system.
Parallel programming models are specifically designed for
multiprocessors, multicomputer, or vector SIMD computers.
Lockstep Operation
THIS
PROVIDES ATOMICITY
STATE 1--------- STATE 2
NOTHING IN B/W
set of changes (new inputs, new outputs, new state)
SIMD
• Parallelism is explicitly handled by hardware synchronization and flow
control.
• Choice of Data structure Figure courtesy: [2]
Main Focus
( local computations and data routing operation)
Where data-parallel programming is used ?
• Fine Grain
Figure courtesy : ACA, Naresh kotwani
Single Instruction, Multiple Data (SIMD)
• Single instruction:All processing units execute the same
instruction at any given clock cycle
• Multiple data: Each processing unit can operate on a different data element
• Best suited for specialized problems characterized by a high degree of regularity, such as
image processing.
• Two varieties: Processor Arrays and Vector Pipelines
• Examples:
• Processor Arrays: Connection Machine CM-2, Maspar MP-1, MP-2
• Vector Pipelines: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820
Simplified View
Figure courtesy: [1]
Data parallelism
• If you want to see data parallelism
•SIMD
•SPMD Multicomputer
Data parallelism
• Challenge
• Matching of problem size with fixed machine size
• Ex. Partitioning of large arrays or matrixes in to 64 –
element segments.
SCIENTIST BE LIKE
Synhronization
• Data – parallel operation is done at
COMPILE TIME
Instead of
RUN TIME
Hardware synchronization: Enforced by control unit and LOCKSTEP execution.
Synchronous SIMD
• Lockstep fashion
• Do not have mutual exclusion or synchronization problem associated
with multiprocessors or multicomputer
• Inter-PE directly controlled by hardware
• Inter-PE data communication is also carried by lockstep
• Spatial Parallelism
Parallelism Example
• What is the latency and throughput if Ben uses parallelism?
• Spatial parallelism: Ben asks Allysa to help, using her own oven
• Temporal parallelism: Ben breaks the task into two stages: roll and
baking. He uses two trays. While the first batch is baking he rolls
the second batch, and so on.
Spatial Parallelism
Spatial
Parallelism
Roll
Bake
Ben 1 Ben 1
Alyssa 1 Alyssa 1
Ben 2 Ben 2
Alyssa 2 Alyssa 2
Time
0 5 10 15 20 25 30 35 40 45 50
Tray 1
Tray 2
Tray 3
Tray 4
Latency:
time to
first tray
Legend
Latency = ?
Throughput = ?
Spatial Parallelism
Spatial
Parallelism
Roll
Bake
Ben 1 Ben 1
Alyssa 1 Alyssa 1
Ben 2 Ben 2
Alyssa 2 Alyssa 2
Time
0 5 10 15 20 25 30 35 40 45 50
Tray 1
Tray 2
Tray 3
Tray 4
Latency:
time to
first tray
Legend
Latency = 5 + 15 = 20 minutes = 1/3 hour (same)
Throughput = 2 trays/ 1/3 hour = 6 trays/hour (doubled)
SIMD--- SCALAR v/s VECTOR
• Scalar are directly executed by the control unit.
• Vector are broadcast to all processing elements.
• (because vector operands are located at different location-PE)
Array Language Extensions
Array extensions in data parallel languages are represented by high-level
data types.
Enables the removal of some nested loops in the code.
global address space, which obviates the need for explicit data routing between PEs
In computer science, array programming refers to solutions which allow the
application of operations to an entire set of values at once. Such solutions are
commonly used in scientific and engineering settings. (source wiki ) Fortan 77
Compiler Support
• facilitate precise control of massively parallel hardware, and
enable incremental migration to data-parallel execution.
• Compiler-optimized control of SIMD machine hardware allows the
programmer to drive the PE array transparently. The compiler
must separate the program into scalar and parallel components
and integrate with the OS environment.
• array extensions to optimize data placement, minimize data
movement, and virtualize the dimensions of the PE array. The
compiler generates data-parallel machine code to perform
operations on arrays.
Array sectioning
• allows a programmer to reference a section or a region of a
multidimensional array.
• Array sections are designated by specifying a start index, a bound, and a
stride.
• Vector-valued subscripts arc often used to construct arrays from arbitrary
permutations of another array.
These expressions are vectors that map the desired elements into the target
array. They facilitate the implementation of gather and scatter operations on
a vector of indices.
• SPMD programs are a special class of SIMD programs which
emphasize medium-grain parallelism and synchronization at the
subprogram level rather than at the instruction level.
What was covered ?
• Lockstep operation
• SIMD (data parallel model)
• Synchronization
• Spatial Parallelism
• SIMD--- SCALAR v/s VECTOR
• Array Language ( Fortan 77 ) and extension
• Compiler support
Q & A
Part IV Software for Parallel Programming
Chapter 10). Parallel Models, Languages, and Compilers
Parallel Programming Models
10.1.1 Shared Variable Model
10.1.2 Message Passing Model
Covered 10.1.3 Data- Parallel Model
 10.1 .4 Object-Oriented Model
In this model
• In this model, objects are dynamically created and manipulated.
• Concurrent programming models are built up from low-level objects
such as processes, queues, and semaphores into high level objects
like monitors and program modules.
Concurrent Object
First
• increased use of interacting processes by individual users
Second
• workstation networks have become a cost-effective mechanism for
resource sharing and distributed problem solving
Third
• multiprocessor technology in several variants has advanced to the
point of providing supercomputing power at a fraction of the
traditional cost.
Program abstraction
• Program modularity and software reusability as is commonly
experienced with OOP
Objects
• Program entities which encapsulate data and operations into single
computational units.
An Actor Model
• Message passing is attached with semantics
• Create: Creating an actor from a behavior description and a set of
parametric.
• Send-to: Sending a message to another actor.
• Become: An actor replacing its own behavior by a new behavior
Parallelism in COOP
• Pipeline concurrency involves the overlapped enumeration of
successive solutions and concurrent testing of the solutions as they
emerge from an evaluation pipeline.
• Divide-and-conquer concurrency
Example
A prime-number generation pipeline in
Integer numbers are generated and successively tested for divisibility
by previously generated primes in a linear pipeline of primes.
Example 10.2 Concurrency in object-oriented
programming
• Integer numbers are generated and successively tested for divisibility
by previously generated primes in a linear pipeline of primes.
• Multiplication of a list of numbers [10, 7, -2, 3, 4, -11, -3] using a
divide and-conquer approach
Figure courtesy: ACA a book by Jotwani
Q & A
References
Introduction to Parallel Computing
[1]. https://computing.llnl.gov/tutorials/parallel_comp/#ModelsData
Programming Models
[2]. https://ict.senecacollege.ca/~gpu621/pages/content/model.html
Data parallelism
[3]. https://en.wikipedia.org/wiki/Data_parallelism
End of Presentation

More Related Content

What's hot

Cluster and Grid Computing
Cluster and Grid ComputingCluster and Grid Computing
Cluster and Grid Computing
Sayed Chhattan Shah
 
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
 
Interconnection Network
Interconnection NetworkInterconnection Network
Interconnection Network
Heman Pathak
 
Run time storage
Run time storageRun time storage
Run time storage
Rasineni Madhan Mohan Naidu
 
Parallel processing
Parallel processingParallel processing
Parallel processing
Praveen Kumar
 
Dynamic storage allocation techniques
Dynamic storage allocation techniquesDynamic storage allocation techniques
Dynamic storage allocation techniquesShashwat Shriparv
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docx
kumari36
 
Multilayer & Back propagation algorithm
Multilayer & Back propagation algorithmMultilayer & Back propagation algorithm
Multilayer & Back propagation algorithm
swapnac12
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dags
indhu mathi
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processing
Page Maker
 
System interconnect architecture
System interconnect architectureSystem interconnect architecture
System interconnect architecture
Gagan Kumar
 
Multimedia system, Architecture & Databases
Multimedia system, Architecture & DatabasesMultimedia system, Architecture & Databases
Multimedia system, Architecture & Databases
Harshita Ved
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
JAINIK PATEL
 
Advanced computer architecture
Advanced computer architectureAdvanced computer architecture
Advanced computer architecture
AjithaSomasundaram
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Aca11 bk2 ch9
Aca11 bk2 ch9Aca11 bk2 ch9
Aca11 bk2 ch9
Sumit Mittu
 

What's hot (20)

Cluster and Grid Computing
Cluster and Grid ComputingCluster and Grid Computing
Cluster and Grid Computing
 
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
 
Interconnection Network
Interconnection NetworkInterconnection Network
Interconnection Network
 
operating system structure
operating system structureoperating system structure
operating system structure
 
Run time storage
Run time storageRun time storage
Run time storage
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Memory management
Memory managementMemory management
Memory management
 
Dynamic storage allocation techniques
Dynamic storage allocation techniquesDynamic storage allocation techniques
Dynamic storage allocation techniques
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docx
 
Multilayer & Back propagation algorithm
Multilayer & Back propagation algorithmMultilayer & Back propagation algorithm
Multilayer & Back propagation algorithm
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dags
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processing
 
System interconnect architecture
System interconnect architectureSystem interconnect architecture
System interconnect architecture
 
Array Processor
Array ProcessorArray Processor
Array Processor
 
Multimedia system, Architecture & Databases
Multimedia system, Architecture & DatabasesMultimedia system, Architecture & Databases
Multimedia system, Architecture & Databases
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
 
Advanced computer architecture
Advanced computer architectureAdvanced computer architecture
Advanced computer architecture
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Aca11 bk2 ch9
Aca11 bk2 ch9Aca11 bk2 ch9
Aca11 bk2 ch9
 
Parallel Algorithms
Parallel AlgorithmsParallel Algorithms
Parallel Algorithms
 

Similar to Data Parallel and Object Oriented Model

Coding For Cores - C# Way
Coding For Cores - C# WayCoding For Cores - C# Way
Coding For Cores - C# Way
Bishnu Rawal
 
Cc module 3.pptx
Cc module 3.pptxCc module 3.pptx
Cc module 3.pptx
ssuserbead51
 
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
 
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
 
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
 
Parallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxParallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptx
krnaween
 
SecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.pptSecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.ppt
RubenGabrielHernande
 
Simulation of Heterogeneous Cloud Infrastructures
Simulation of Heterogeneous Cloud InfrastructuresSimulation of Heterogeneous Cloud Infrastructures
Simulation of Heterogeneous Cloud Infrastructures
CloudLightning
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computingpurplesea
 
BIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.pptBIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.ppt
Kadri20
 
Lec 4 (program and network properties)
Lec 4 (program and network properties)Lec 4 (program and network properties)
Lec 4 (program and network properties)
Sudarshan Mondal
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
SwatantraPrakash5
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Lightbend
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
Balaji Vignesh
 
Nbvtalkataitamimageprocessingconf
NbvtalkataitamimageprocessingconfNbvtalkataitamimageprocessingconf
Nbvtalkataitamimageprocessingconf
Nagasuri Bala Venkateswarlu
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
VAISHNAVI MADHAN
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
giddy5
 
Declarative Programming and a form of SDN
Declarative Programming and a form of SDN Declarative Programming and a form of SDN
Declarative Programming and a form of SDN
Miya Kohno
 
Mk network programmability-03_en
Mk network programmability-03_enMk network programmability-03_en
Mk network programmability-03_en
Miya Kohno
 
Deep Learning at Scale
Deep Learning at ScaleDeep Learning at Scale
Deep Learning at Scale
Mateusz Dymczyk
 

Similar to Data Parallel and Object Oriented Model (20)

Coding For Cores - C# Way
Coding For Cores - C# WayCoding For Cores - C# Way
Coding For Cores - C# Way
 
Cc module 3.pptx
Cc module 3.pptxCc module 3.pptx
Cc module 3.pptx
 
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
 
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...
 
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
 
Parallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptxParallel Computing-Part-1.pptx
Parallel Computing-Part-1.pptx
 
SecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.pptSecondPresentationDesigning_Parallel_Programs.ppt
SecondPresentationDesigning_Parallel_Programs.ppt
 
Simulation of Heterogeneous Cloud Infrastructures
Simulation of Heterogeneous Cloud InfrastructuresSimulation of Heterogeneous Cloud Infrastructures
Simulation of Heterogeneous Cloud Infrastructures
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computing
 
BIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.pptBIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.ppt
 
Lec 4 (program and network properties)
Lec 4 (program and network properties)Lec 4 (program and network properties)
Lec 4 (program and network properties)
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
 
Nbvtalkataitamimageprocessingconf
NbvtalkataitamimageprocessingconfNbvtalkataitamimageprocessingconf
Nbvtalkataitamimageprocessingconf
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
 
Declarative Programming and a form of SDN
Declarative Programming and a form of SDN Declarative Programming and a form of SDN
Declarative Programming and a form of SDN
 
Mk network programmability-03_en
Mk network programmability-03_enMk network programmability-03_en
Mk network programmability-03_en
 
Deep Learning at Scale
Deep Learning at ScaleDeep Learning at Scale
Deep Learning at Scale
 

Recently uploaded

Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
Kamal Acharya
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 

Data Parallel and Object Oriented Model

  • 2. Content taken from. A book by Naresh Jotwani & Kai Hwang
  • 3. Part IV Software for Parallel Programming Chapter 10). Parallel Models, Languages, and Compilers Parallel Programming Models 10.1.1 Shared Variable Model 10.1.2 Message Passing Model
  • 4. Special Thanks to Dr. Preeti Aggarwal ASSISTANT PROFESSOR Tutorials Point
  • 5. Data-Parallel Model Created and presented by: Nikhil Sharma M.E CSE 1st year Roll no (19-311) July 2019- Dec 2019 Session
  • 6. Title Anatomy • Data • Parallel Model
  • 7. Programming Model A collection of program abstractions providing a programmer a simplified and transparent view of the computer Hardware/software system. Parallel programming models are specifically designed for multiprocessors, multicomputer, or vector SIMD computers.
  • 8. Lockstep Operation THIS PROVIDES ATOMICITY STATE 1--------- STATE 2 NOTHING IN B/W set of changes (new inputs, new outputs, new state)
  • 9. SIMD • Parallelism is explicitly handled by hardware synchronization and flow control. • Choice of Data structure Figure courtesy: [2] Main Focus ( local computations and data routing operation)
  • 10. Where data-parallel programming is used ? • Fine Grain Figure courtesy : ACA, Naresh kotwani
  • 11. Single Instruction, Multiple Data (SIMD) • Single instruction:All processing units execute the same instruction at any given clock cycle • Multiple data: Each processing unit can operate on a different data element • Best suited for specialized problems characterized by a high degree of regularity, such as image processing. • Two varieties: Processor Arrays and Vector Pipelines • Examples: • Processor Arrays: Connection Machine CM-2, Maspar MP-1, MP-2 • Vector Pipelines: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820
  • 13. Data parallelism • If you want to see data parallelism •SIMD •SPMD Multicomputer
  • 14. Data parallelism • Challenge • Matching of problem size with fixed machine size • Ex. Partitioning of large arrays or matrixes in to 64 – element segments. SCIENTIST BE LIKE
  • 15. Synhronization • Data – parallel operation is done at COMPILE TIME Instead of RUN TIME Hardware synchronization: Enforced by control unit and LOCKSTEP execution.
  • 16. Synchronous SIMD • Lockstep fashion • Do not have mutual exclusion or synchronization problem associated with multiprocessors or multicomputer • Inter-PE directly controlled by hardware • Inter-PE data communication is also carried by lockstep • Spatial Parallelism
  • 17. Parallelism Example • What is the latency and throughput if Ben uses parallelism? • Spatial parallelism: Ben asks Allysa to help, using her own oven • Temporal parallelism: Ben breaks the task into two stages: roll and baking. He uses two trays. While the first batch is baking he rolls the second batch, and so on.
  • 18. Spatial Parallelism Spatial Parallelism Roll Bake Ben 1 Ben 1 Alyssa 1 Alyssa 1 Ben 2 Ben 2 Alyssa 2 Alyssa 2 Time 0 5 10 15 20 25 30 35 40 45 50 Tray 1 Tray 2 Tray 3 Tray 4 Latency: time to first tray Legend Latency = ? Throughput = ?
  • 19. Spatial Parallelism Spatial Parallelism Roll Bake Ben 1 Ben 1 Alyssa 1 Alyssa 1 Ben 2 Ben 2 Alyssa 2 Alyssa 2 Time 0 5 10 15 20 25 30 35 40 45 50 Tray 1 Tray 2 Tray 3 Tray 4 Latency: time to first tray Legend Latency = 5 + 15 = 20 minutes = 1/3 hour (same) Throughput = 2 trays/ 1/3 hour = 6 trays/hour (doubled)
  • 20. SIMD--- SCALAR v/s VECTOR • Scalar are directly executed by the control unit. • Vector are broadcast to all processing elements. • (because vector operands are located at different location-PE)
  • 21. Array Language Extensions Array extensions in data parallel languages are represented by high-level data types. Enables the removal of some nested loops in the code. global address space, which obviates the need for explicit data routing between PEs In computer science, array programming refers to solutions which allow the application of operations to an entire set of values at once. Such solutions are commonly used in scientific and engineering settings. (source wiki ) Fortan 77
  • 22. Compiler Support • facilitate precise control of massively parallel hardware, and enable incremental migration to data-parallel execution. • Compiler-optimized control of SIMD machine hardware allows the programmer to drive the PE array transparently. The compiler must separate the program into scalar and parallel components and integrate with the OS environment. • array extensions to optimize data placement, minimize data movement, and virtualize the dimensions of the PE array. The compiler generates data-parallel machine code to perform operations on arrays.
  • 23. Array sectioning • allows a programmer to reference a section or a region of a multidimensional array. • Array sections are designated by specifying a start index, a bound, and a stride. • Vector-valued subscripts arc often used to construct arrays from arbitrary permutations of another array. These expressions are vectors that map the desired elements into the target array. They facilitate the implementation of gather and scatter operations on a vector of indices.
  • 24. • SPMD programs are a special class of SIMD programs which emphasize medium-grain parallelism and synchronization at the subprogram level rather than at the instruction level.
  • 25. What was covered ? • Lockstep operation • SIMD (data parallel model) • Synchronization • Spatial Parallelism • SIMD--- SCALAR v/s VECTOR • Array Language ( Fortan 77 ) and extension • Compiler support
  • 26. Q & A
  • 27. Part IV Software for Parallel Programming Chapter 10). Parallel Models, Languages, and Compilers Parallel Programming Models 10.1.1 Shared Variable Model 10.1.2 Message Passing Model Covered 10.1.3 Data- Parallel Model  10.1 .4 Object-Oriented Model
  • 28. In this model • In this model, objects are dynamically created and manipulated. • Concurrent programming models are built up from low-level objects such as processes, queues, and semaphores into high level objects like monitors and program modules.
  • 29. Concurrent Object First • increased use of interacting processes by individual users Second • workstation networks have become a cost-effective mechanism for resource sharing and distributed problem solving Third • multiprocessor technology in several variants has advanced to the point of providing supercomputing power at a fraction of the traditional cost.
  • 30. Program abstraction • Program modularity and software reusability as is commonly experienced with OOP Objects • Program entities which encapsulate data and operations into single computational units.
  • 31. An Actor Model • Message passing is attached with semantics • Create: Creating an actor from a behavior description and a set of parametric. • Send-to: Sending a message to another actor. • Become: An actor replacing its own behavior by a new behavior
  • 32. Parallelism in COOP • Pipeline concurrency involves the overlapped enumeration of successive solutions and concurrent testing of the solutions as they emerge from an evaluation pipeline. • Divide-and-conquer concurrency Example A prime-number generation pipeline in Integer numbers are generated and successively tested for divisibility by previously generated primes in a linear pipeline of primes.
  • 33. Example 10.2 Concurrency in object-oriented programming • Integer numbers are generated and successively tested for divisibility by previously generated primes in a linear pipeline of primes.
  • 34. • Multiplication of a list of numbers [10, 7, -2, 3, 4, -11, -3] using a divide and-conquer approach Figure courtesy: ACA a book by Jotwani
  • 35. Q & A
  • 36. References Introduction to Parallel Computing [1]. https://computing.llnl.gov/tutorials/parallel_comp/#ModelsData Programming Models [2]. https://ict.senecacollege.ca/~gpu621/pages/content/model.html Data parallelism [3]. https://en.wikipedia.org/wiki/Data_parallelism
  • 37.