SlideShare a Scribd company logo
Chapter 11
MIMD programming
languages
Chapter 11
MIMD Programming Languages
• 11.1 Concurrent Pascal
• 11.2 Communicating Sequential Process CSP
• 11.3 occam
• 11.4 Ada
• 11.5 Sequent C
• 11.6 Linda,
• 11.7 Modular P
Introduction
• Only procedural, parallel programming languages for
MIMD systems will be dealt with in this chapter.
•
• Non-procedural parallel (functional and logic languages)
are treated in next chapters.
•
• The most important concepts are discussed and further
explained with programming examples (The individual
languages are only briefly introduced).
11.1 Concurrent Pascal
• The language is a parallel extension of the sequential
programming language (Except OCCAM, all others are an
extend of an existing sequential language).
• The Most important parallel concepts of concurrent Pascal
are:
• 1. The introduction of the process concept (declaration of
process types and corresponding variables, the processes).
• 2. The synchronization of parallel processes via monitors
with conditions (here called queue).
• 3. The introduction of classes (abstract data types).
11.2 Communicating sequential
process CSP
• A system consist of a number of parallel processes.
• Each process is executed sequentially, and they
communicate via data exchanges as necessary.
• Since all synchronization and communication between
processes in CSP is handled via messages, there is no need
for semaphores or monitors (Guarded command for
communication).
Parallel language constructs
• Page 95
•
• Program (page 95-96)
•
• Program for volume control 1(page 96)
•
• In order to allow a single process to send different
messages to VolCon, the example program has to be
changed considerably.
•
• Program for volume control 2 (page 97)
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
11.3 occam
• The occam language is a direct commercial successor of
CSP, and was developed by Inmos for transputers.
• Parallel Language construct.
• Page 98
• v := e assign the value of expression e to variable v,
• c ! e output the value of expression e to channel c,
• c ? v input from channel c to variable v.
• Alan figure 7
• SEQ sequential execution: component executed one after
the other.
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
• PAR parallel execution: components executed
concurrently.
• ALT alternative execution: first component ready is
executed.
• Alan page 15.
• Example (page 99).
•
• Page 99-100
•
• Program for volume control
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
11.4 Ada
• Language Constructs
•
• Page 101
•
• Program for volume control (page 102)
•
• Example Program(page 103)
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
11.5 Sequent C
• Parallel library functions
• Page 104,
• Sample Program page 104
•
• Figure 9.1 shows execution of the sample program.
• Example of iteration inside of Child Processes:
•
• Program page 105.
•
• Output of the Program page 106.
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
11.6 Linda
• Parallel Operations
• Page 106 - 107
• Figure 9.2 shows Linda’s tuple space
• Example program page 108-109
• When executing a read (RD) or input (IN) operation, three
different case can arise
• Cases page 109
• Implementation of semaphore by using a Landa primitive
• Initialization OUT (“sema”);
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
• Pi
• ….
• IN (“sema”);
• <critical section>
• OUT (“sema”);
• ….
•
• Program prime number generation page 109-110
• Figure 9.3 shows tuples from the prime number program.
• Pros and cons of Linda2s parallel language concepts
• Page 110-111
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
11.7 Modula P
• In Modula-P there are three types of module :
• Processor Modules: The initialization of whole process
system is being started in the processor module.
• High level modules (regular modules): At this level,
individual processes can be declared and started.
• Low level modules: This is lower level of a program is
only required when real time programming or machine
control must be carried out via direct memory addressing.
• Page 111-112 (gerekli deği)
• Parallel language construct
• Page 112-113.
• Example of monitor page 113.
• Programs page 114-115.
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt
BIL406-Chapter-11-MIMD Programming Languages.ppt

More Related Content

PPTX
Phases of Compiler
PPTX
16 compiler-151129060845-lva1-app6892-converted.pptx
PPTX
01 Computer Basics (Ch1.1).pptx
PPTX
System Programing Unit 1
PDF
Week 08_Basics of Compiler Construction.pdf
PPT
ProgrammingIntroduction.ppt
PPT
ProgrammingIntroduction.ppt
PPT
ProgrammingIntroduction.ppt
Phases of Compiler
16 compiler-151129060845-lva1-app6892-converted.pptx
01 Computer Basics (Ch1.1).pptx
System Programing Unit 1
Week 08_Basics of Compiler Construction.pdf
ProgrammingIntroduction.ppt
ProgrammingIntroduction.ppt
ProgrammingIntroduction.ppt

Similar to BIL406-Chapter-11-MIMD Programming Languages.ppt (20)

PPT
Synapseindia dot net development computer programming
PDF
Phases of compiler
PPTX
C program execution and algorithm
PPT
Chap01-Intro.ppt
PDF
Compiler type
PPTX
Compiler Design Introduction
PPTX
Chapter 1.pptx
PPTX
Passes of Compiler.pptx
PPT
Lecture6
PPT
NETOverview1.ppt c# using asp.net activeX data object and XNL
PDF
.NET Core, ASP.NET Core Course, Session 3
PPTX
Programming Fundamentals and Programming Languages Concepts Translators
PPTX
Principles of Intro to Programming Languages
PPTX
Compiler Construction
PPT
Computer system literature pre_lect1.ppt
PPTX
Mainframe Virtual User Group Summer 2013
PDF
Problem Solving and Programming using C.pdf
PPT
.Net Introduction
PPTX
Unit1 111206003944-phpapp02
PPT
.Net framework
Synapseindia dot net development computer programming
Phases of compiler
C program execution and algorithm
Chap01-Intro.ppt
Compiler type
Compiler Design Introduction
Chapter 1.pptx
Passes of Compiler.pptx
Lecture6
NETOverview1.ppt c# using asp.net activeX data object and XNL
.NET Core, ASP.NET Core Course, Session 3
Programming Fundamentals and Programming Languages Concepts Translators
Principles of Intro to Programming Languages
Compiler Construction
Computer system literature pre_lect1.ppt
Mainframe Virtual User Group Summer 2013
Problem Solving and Programming using C.pdf
.Net Introduction
Unit1 111206003944-phpapp02
.Net framework
Ad

More from Kadri20 (10)

PPT
BIL406-Chapter-8-Asynchronous parallelism.ppt
PPT
BIL406-Chapter-5-Network Structures.ppt
PPT
BIL406-Chapter-7-Superscalar and Superpipeline processors.ppt
PPT
BIL406-Chapter-9-Synchronization and Communication in MIMD Systems.ppt
PPT
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
PPT
BIL406-Chapter-6-Basic Parallelism and CPU.ppt
PPT
BIL406-Chapter-10-Problems with Asynchronous Parallelism.ppt
PPT
BIL406-Chapter-4-Parallel Processing Concept.ppt
PPT
BIL406-Chapter-1-Introduction.ppt
PPT
BIL406-Chapter-0-Introduction-Course.ppt
BIL406-Chapter-8-Asynchronous parallelism.ppt
BIL406-Chapter-5-Network Structures.ppt
BIL406-Chapter-7-Superscalar and Superpipeline processors.ppt
BIL406-Chapter-9-Synchronization and Communication in MIMD Systems.ppt
BIL406-Chapter-2-Classifications of Parallel Systems.ppt
BIL406-Chapter-6-Basic Parallelism and CPU.ppt
BIL406-Chapter-10-Problems with Asynchronous Parallelism.ppt
BIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-1-Introduction.ppt
BIL406-Chapter-0-Introduction-Course.ppt
Ad

Recently uploaded (20)

DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
DOCX
573137875-Attendance-Management-System-original
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
PPT on Performance Review to get promotions
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
573137875-Attendance-Management-System-original
Embodied AI: Ushering in the Next Era of Intelligent Systems
bas. eng. economics group 4 presentation 1.pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
UNIT 4 Total Quality Management .pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
OOP with Java - Java Introduction (Basics)
Automation-in-Manufacturing-Chapter-Introduction.pdf
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
CYBER-CRIMES AND SECURITY A guide to understanding
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPT on Performance Review to get promotions

BIL406-Chapter-11-MIMD Programming Languages.ppt

  • 2. Chapter 11 MIMD Programming Languages • 11.1 Concurrent Pascal • 11.2 Communicating Sequential Process CSP • 11.3 occam • 11.4 Ada • 11.5 Sequent C • 11.6 Linda, • 11.7 Modular P
  • 3. Introduction • Only procedural, parallel programming languages for MIMD systems will be dealt with in this chapter. • • Non-procedural parallel (functional and logic languages) are treated in next chapters. • • The most important concepts are discussed and further explained with programming examples (The individual languages are only briefly introduced).
  • 4. 11.1 Concurrent Pascal • The language is a parallel extension of the sequential programming language (Except OCCAM, all others are an extend of an existing sequential language). • The Most important parallel concepts of concurrent Pascal are: • 1. The introduction of the process concept (declaration of process types and corresponding variables, the processes). • 2. The synchronization of parallel processes via monitors with conditions (here called queue). • 3. The introduction of classes (abstract data types).
  • 5. 11.2 Communicating sequential process CSP • A system consist of a number of parallel processes. • Each process is executed sequentially, and they communicate via data exchanges as necessary. • Since all synchronization and communication between processes in CSP is handled via messages, there is no need for semaphores or monitors (Guarded command for communication).
  • 6. Parallel language constructs • Page 95 • • Program (page 95-96) • • Program for volume control 1(page 96) • • In order to allow a single process to send different messages to VolCon, the example program has to be changed considerably. • • Program for volume control 2 (page 97)
  • 11. 11.3 occam • The occam language is a direct commercial successor of CSP, and was developed by Inmos for transputers. • Parallel Language construct. • Page 98 • v := e assign the value of expression e to variable v, • c ! e output the value of expression e to channel c, • c ? v input from channel c to variable v. • Alan figure 7 • SEQ sequential execution: component executed one after the other.
  • 18. • PAR parallel execution: components executed concurrently. • ALT alternative execution: first component ready is executed. • Alan page 15. • Example (page 99). • • Page 99-100 • • Program for volume control
  • 25. 11.4 Ada • Language Constructs • • Page 101 • • Program for volume control (page 102) • • Example Program(page 103)
  • 30. 11.5 Sequent C • Parallel library functions • Page 104, • Sample Program page 104 • • Figure 9.1 shows execution of the sample program. • Example of iteration inside of Child Processes: • • Program page 105. • • Output of the Program page 106.
  • 36. 11.6 Linda • Parallel Operations • Page 106 - 107 • Figure 9.2 shows Linda’s tuple space • Example program page 108-109 • When executing a read (RD) or input (IN) operation, three different case can arise • Cases page 109 • Implementation of semaphore by using a Landa primitive • Initialization OUT (“sema”);
  • 42. • Pi • …. • IN (“sema”); • <critical section> • OUT (“sema”); • …. • • Program prime number generation page 109-110 • Figure 9.3 shows tuples from the prime number program. • Pros and cons of Linda2s parallel language concepts • Page 110-111
  • 46. 11.7 Modula P • In Modula-P there are three types of module : • Processor Modules: The initialization of whole process system is being started in the processor module. • High level modules (regular modules): At this level, individual processes can be declared and started. • Low level modules: This is lower level of a program is only required when real time programming or machine control must be carried out via direct memory addressing. • Page 111-112 (gerekli deği) • Parallel language construct • Page 112-113. • Example of monitor page 113. • Programs page 114-115.