SlideShare a Scribd company logo
PARALLEL LANGUAGE
AND COMPILER
INTRODUCTION
The environment

for parallel computers is much

more demanding than that for sequential computers
The programming

environment is a collection of

software tools and system software support
To

break this hardware/software barrier , we need a

parallel software environment
Which provide better

tools for user to implement

parallelism and to debug programs
LANGUAGE FEATURES
 Features are

idealized for general purpose

application.

 Some

of the features are identified with existing

language /compiler development.

 Language features

are classified into six categories
CATEGORIES
 Optimization

 Availability

features.

features.

 Synchronization /communication
 Control

of parallelism

 Data parallelism
 Process

features

management features

features.
OPTIMIZATION FEATURES
 This

features converting sequentially coded

programs into parallel forms.
 The purpose is

to match the software with the

hardware Parallelism in the target machine.
 Automated

parallelizer(alliant FX fortan)

 Semiautomed
 Interractive

parallelizer(programers intrection)

restructure support(static analyser , run

time static , data flow graph,)
AVAILABILTY FEATURES
 Feature enhance user

friendliness . Make the

language portable to a larger class of parallel
computer
 Expand

the applicability of software libraries

 Scalabilty – scalable to the number of processors available

and independent of hardware topology
 Compatibility-compatible with establishment sequential
 Portability –portable to shared memory multiprocessors ,

message passing multicomputers , or both
SYNC/COMMUN FEATURES
 Single assignment

 Remote

languages

producer call

 Data

flow languages such as ID

 Send

/receive for message passing

 Barriers

,mailbox , semaphores , monitors
CONTROL OF PARALLELISM
 Coarse

,medium, or fine grains

 Explicit
 Global
 Take

versus implicit parallelism

parallelism in the entire program

spilt parallelism

 Shared

task queue
DATA PARALLELISM FEATURES
 Used

to specify how data are accessed and

distributed in either SIMD and MIMD computers
 Run- time

automatic decomposition

 Mapping specification
 Virtual
 Direct

processor support

access to shared data

 SPMD(single program multiple

data)
PROCESS MANAG FEATURES
 Needed

to support the efficient creation of parallel

processes , implementation of multithreading or
multitasking.
 Dynamic

process creation at run time

 Light weight

processes(threads)- compare to

UNIX(heavyweight)processes
 Replicated work
 Partitioned networks
 Automatic

load balancing
COMPILERS
 Using

 It’s

high level language in source code

become a necessity in modern computer

ROLE OF COMPILER
 Remove

the burden of program optimization and

code generation from the programmer.
THREE PHASES OF COMPILER

FLOW ANALYSIS
OPTIMIZATION
CODE

GENERATION
FLOW ANALYSIS
 Program

flow pattern in order to determine data and

control dependence in the source code
 Flow

analysis is conducted at different execution levels

on different parallel computers
 Instruction level parallelism is

exploited in super scalar

or VLSI processors , loop level in SIMD , vector,
 Task

level in multiprocessors , multicomputer , or a

network workstation
OPTIMIZATION
 The transformation

of user programs in order to explore

the hardware capabilities as much as possible
 Transformation can

be conducted at the loop level

, locality level , or prefetching level
 The ultimate

goal of PO is to maximize the speed of

code execution
 It

involves minimization of code length and of memory

accesses and the exploitation
 Sometimes

should be conducted at the algorithmic

level and must involves the programmer
CODE GENERATION
 Code

generation usually involves transformation from one

representation to another ,called an intermediate form
 Even more

demanding because parallel constructs must be

included
 Code

generation closely tied to instruction scheduling

policies used
 Optimized

to encourage a high degree of parallelism

 Parallel code

generation is very different fo different

computer classes they are software and hardware scheudled
THANK ‘S

More Related Content

What's hot

Hardware and Software parallelism
Hardware and Software parallelismHardware and Software parallelism
Hardware and Software parallelism
prashantdahake
 
Cache coherence
Cache coherenceCache coherence
Cache coherence
Employee
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 
Parallel computing
Parallel computingParallel computing
Parallel computing
virend111
 

What's hot (20)

Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
multiprocessors and multicomputers
 multiprocessors and multicomputers multiprocessors and multicomputers
multiprocessors and multicomputers
 
Dichotomy of parallel computing platforms
Dichotomy of parallel computing platformsDichotomy of parallel computing platforms
Dichotomy of parallel computing platforms
 
System interconnect architecture
System interconnect architectureSystem interconnect architecture
System interconnect architecture
 
Hardware and Software parallelism
Hardware and Software parallelismHardware and Software parallelism
Hardware and Software parallelism
 
Parallelism
ParallelismParallelism
Parallelism
 
Cache coherence
Cache coherenceCache coherence
Cache coherence
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
Parallel computing persentation
Parallel computing persentationParallel computing persentation
Parallel computing persentation
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Principle source of optimazation
Principle source of optimazationPrinciple source of optimazation
Principle source of optimazation
 
Hardware Multi-Threading
Hardware Multi-ThreadingHardware Multi-Threading
Hardware Multi-Threading
 
Advanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and TypeAdvanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and Type
 
Program and Network Properties
Program and Network PropertiesProgram and Network Properties
Program and Network Properties
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Pram model
Pram modelPram model
Pram model
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed Computing
 
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)
 

Viewers also liked

INSTRUCTION LEVEL PARALLALISM
INSTRUCTION LEVEL PARALLALISMINSTRUCTION LEVEL PARALLALISM
INSTRUCTION LEVEL PARALLALISM
Kamran Ashraf
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
Mr SMAK
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
guest9f8315
 

Viewers also liked (19)

Loop parallelization & pipelining
Loop parallelization & pipeliningLoop parallelization & pipelining
Loop parallelization & pipelining
 
Software agents
Software agentsSoftware agents
Software agents
 
Lecture: Software Agents and P2P
Lecture: Software Agents and P2PLecture: Software Agents and P2P
Lecture: Software Agents and P2P
 
Software Agents for Internet of Things - at AINL 2014
Software Agents for Internet of Things - at AINL 2014Software Agents for Internet of Things - at AINL 2014
Software Agents for Internet of Things - at AINL 2014
 
Software agents
Software agentsSoftware agents
Software agents
 
Open MPI
Open MPIOpen MPI
Open MPI
 
SaaAS (Software as an Agent Service) : SaaS - THE MOBILE AGENT BASED SERVICE ...
SaaAS (Software as an Agent Service) : SaaS - THE MOBILE AGENT BASED SERVICE ...SaaAS (Software as an Agent Service) : SaaS - THE MOBILE AGENT BASED SERVICE ...
SaaAS (Software as an Agent Service) : SaaS - THE MOBILE AGENT BASED SERVICE ...
 
IoT Agents (With Lightweight M2M)
IoT Agents (With Lightweight M2M)IoT Agents (With Lightweight M2M)
IoT Agents (With Lightweight M2M)
 
Aca2 08 new
Aca2 08 newAca2 08 new
Aca2 08 new
 
INSTRUCTION LEVEL PARALLALISM
INSTRUCTION LEVEL PARALLALISMINSTRUCTION LEVEL PARALLALISM
INSTRUCTION LEVEL PARALLALISM
 
IoT Agents (Introduction)
IoT Agents (Introduction)IoT Agents (Introduction)
IoT Agents (Introduction)
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Instruction pipeline: Computer Architecture
Instruction pipeline: Computer ArchitectureInstruction pipeline: Computer Architecture
Instruction pipeline: Computer Architecture
 
Instruction level parallelism
Instruction level parallelismInstruction level parallelism
Instruction level parallelism
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processing
 
pipelining
pipeliningpipelining
pipelining
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Point-to-Point Communicationsin MPI
Point-to-Point Communicationsin MPIPoint-to-Point Communicationsin MPI
Point-to-Point Communicationsin MPI
 
Chapter 6 pc
Chapter 6 pcChapter 6 pc
Chapter 6 pc
 

Similar to parallel language and compiler

Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
abhi1112
 
Chapter3
Chapter3Chapter3
Chapter3
suks_87
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
Vasavi College of Engg
 
Language translators
Language translatorsLanguage translators
Language translators
Aditya Sharat
 

Similar to parallel language and compiler (20)

Parallel language and compiler
Parallel language and compilerParallel language and compiler
Parallel language and compiler
 
Embedded Solutions 2010 : Challenges In Porting and Abstraction , by Mapusoft
Embedded Solutions 2010 : Challenges In Porting  and Abstraction , by Mapusoft Embedded Solutions 2010 : Challenges In Porting  and Abstraction , by Mapusoft
Embedded Solutions 2010 : Challenges In Porting and Abstraction , by Mapusoft
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
 
Chapter3
Chapter3Chapter3
Chapter3
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
 
Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
Selenium Training in Phagwara
Selenium Training in PhagwaraSelenium Training in Phagwara
Selenium Training in Phagwara
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
 
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated SystemsPetapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
 
Selenium Training in Amritsar
Selenium Training in AmritsarSelenium Training in Amritsar
Selenium Training in Amritsar
 
Selenium Training in Chandigarh
Selenium Training in ChandigarhSelenium Training in Chandigarh
Selenium Training in Chandigarh
 
Selenium Training in Jalandhar
Selenium Training in JalandharSelenium Training in Jalandhar
Selenium Training in Jalandhar
 
Selenium Training in Ludhiana
Selenium Training in LudhianaSelenium Training in Ludhiana
Selenium Training in Ludhiana
 
Chap 2_ans.pdf
Chap 2_ans.pdfChap 2_ans.pdf
Chap 2_ans.pdf
 
InterConnect 2017 : Do You Have the Right Solution for z/OS Application Devel...
InterConnect 2017 : Do You Have the Right Solution for z/OS Application Devel...InterConnect 2017 : Do You Have the Right Solution for z/OS Application Devel...
InterConnect 2017 : Do You Have the Right Solution for z/OS Application Devel...
 
Selenium Training in Mohali
Selenium Training in MohaliSelenium Training in Mohali
Selenium Training in Mohali
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
 
Unit5
Unit5Unit5
Unit5
 
Language translators
Language translatorsLanguage translators
Language translators
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

parallel language and compiler

  • 2. INTRODUCTION The environment for parallel computers is much more demanding than that for sequential computers The programming environment is a collection of software tools and system software support To break this hardware/software barrier , we need a parallel software environment Which provide better tools for user to implement parallelism and to debug programs
  • 3. LANGUAGE FEATURES  Features are idealized for general purpose application.  Some of the features are identified with existing language /compiler development.  Language features are classified into six categories
  • 4. CATEGORIES  Optimization  Availability features. features.  Synchronization /communication  Control of parallelism  Data parallelism  Process features management features features.
  • 5. OPTIMIZATION FEATURES  This features converting sequentially coded programs into parallel forms.  The purpose is to match the software with the hardware Parallelism in the target machine.  Automated parallelizer(alliant FX fortan)  Semiautomed  Interractive parallelizer(programers intrection) restructure support(static analyser , run time static , data flow graph,)
  • 6. AVAILABILTY FEATURES  Feature enhance user friendliness . Make the language portable to a larger class of parallel computer  Expand the applicability of software libraries  Scalabilty – scalable to the number of processors available and independent of hardware topology  Compatibility-compatible with establishment sequential  Portability –portable to shared memory multiprocessors , message passing multicomputers , or both
  • 7. SYNC/COMMUN FEATURES  Single assignment  Remote languages producer call  Data flow languages such as ID  Send /receive for message passing  Barriers ,mailbox , semaphores , monitors
  • 8. CONTROL OF PARALLELISM  Coarse ,medium, or fine grains  Explicit  Global  Take versus implicit parallelism parallelism in the entire program spilt parallelism  Shared task queue
  • 9. DATA PARALLELISM FEATURES  Used to specify how data are accessed and distributed in either SIMD and MIMD computers  Run- time automatic decomposition  Mapping specification  Virtual  Direct processor support access to shared data  SPMD(single program multiple data)
  • 10. PROCESS MANAG FEATURES  Needed to support the efficient creation of parallel processes , implementation of multithreading or multitasking.  Dynamic process creation at run time  Light weight processes(threads)- compare to UNIX(heavyweight)processes  Replicated work  Partitioned networks  Automatic load balancing
  • 11. COMPILERS  Using  It’s high level language in source code become a necessity in modern computer ROLE OF COMPILER  Remove the burden of program optimization and code generation from the programmer.
  • 12. THREE PHASES OF COMPILER FLOW ANALYSIS OPTIMIZATION CODE GENERATION
  • 13. FLOW ANALYSIS  Program flow pattern in order to determine data and control dependence in the source code  Flow analysis is conducted at different execution levels on different parallel computers  Instruction level parallelism is exploited in super scalar or VLSI processors , loop level in SIMD , vector,  Task level in multiprocessors , multicomputer , or a network workstation
  • 14. OPTIMIZATION  The transformation of user programs in order to explore the hardware capabilities as much as possible  Transformation can be conducted at the loop level , locality level , or prefetching level  The ultimate goal of PO is to maximize the speed of code execution  It involves minimization of code length and of memory accesses and the exploitation  Sometimes should be conducted at the algorithmic level and must involves the programmer
  • 15. CODE GENERATION  Code generation usually involves transformation from one representation to another ,called an intermediate form  Even more demanding because parallel constructs must be included  Code generation closely tied to instruction scheduling policies used  Optimized to encourage a high degree of parallelism  Parallel code generation is very different fo different computer classes they are software and hardware scheudled