SlideShare a Scribd company logo
1 of 12
CIS017-6
Distributed and Parallel Architectures
Revision
(Parallel Architectures)
Jon Hitchcock
Exam questions
• Past papers are available from the university library
catalogue
– Search for the unit code: CIS017-6
• Questions are selected from a pool
– Each exam paper does not cover every topic
– Each year questions are updated
– New questions are added
• Newer questions tend to be broader
– Less focus on remembering lists of facts
– More opportunity to show what you have learnt and that you have
a wide understanding of the subject
• This year there is no choice of questions
– You should answer all the questions on the paper
Possible wording of questions
• Compare THIS and THAT and critically discuss their
advantages and disadvantages.
• Give an example of SOMETHING.
• Illustrate your answer with a diagram.
• Consider a SITUATION and suggest what can be done
about it.
Types of parallelism
• Parallelism in applications
– Data parallelism
– Task parallelism
• Parallelism in hardware
– Bit-level parallelism
– Instruction-level parallelism
– Vector architectures and GPUs
– Thread-level parallelism
– Request-level parallelism
Flynn’s taxonomy
• SISD : Single Instruction Single Data
• SIMD : Single Instruction Multiple Data
• MIMD : Multiple Instruction Multiple Data
Parallel Computer Implementation
• Parallel computers can be roughly classified according to
the level at which the hardware supports parallelism.
– Multicore processor
– Shared memory multiprocessor
– Cluster
• These classes are not mutually exclusive
• Clusters of multicore processors are common
• Low-level implementations
– Vector processor
– Graphics processing unit
– Spatial computing
• GPUs are often used for general-purpose parallel
computation
Memory Organisation
• Shared memory
– Multicore processor
– Shared memory multiprocessor
– Parallel Random Access Machine (PRAM) model
• Concurrent read and/or write access
• Exclusive access
• Distributed memory
– Cluster
– Warehouse-scale computer
– Passes messages to transfer data
– Bulk Synchronous Parallel (BSP) model
Parallel Programming
• Shared-state concurrency
– Java
• Threads
– C++
• Threads
• Task-based concurrency
– OpenMP
– GPU programming
• Message-passing concurrency
– Erlang
– MPI
Performance Analysis of
Parallel Systems
• Scalability
– Speedup
• Linear
• Superlinear
– Efficiency
• Amdahl’s law
• Gustafson’s law
OpenMP
• Parallel computing on shared memory systems
• Directives
– Control Structures
• parallel
– Work Sharing
• sections
• for
– Synchronisation
• barrier
• Regions and loops
MPI
• Message passing (a distributed computing style of
communication) used for parallel computing
• Collective communications
– One-to-many (broadcast, scatter)
– Many-to-one (reduce, gather)
– Many-to-many (prefix sum, total exchange, circular shift)
• Synchronous message passing
– Three-way signalling process
• Request to send
• Ready-to-accept acknowledgement
• Message transfer
– “Blocking” Functions in MPI
• MPI_Send and MPI_Recv return when it is safe to continue
See also
• The essential reading from Hennessy and Patterson (2012)
– in BREO weeks 2, 3 and 4
• The essential reading from Greaves (2015)
– in BREO week 3
• Tutorial questions
– in BREO weeks 2 and 4

More Related Content

Viewers also liked

17.05.11_Game for visual field deffect
17.05.11_Game for visual field deffect17.05.11_Game for visual field deffect
17.05.11_Game for visual field deffectEri Shiroyama
 
Présentation de la protection des données dans SharePoint - Global Conférence...
Présentation de la protection des données dans SharePoint - Global Conférence...Présentation de la protection des données dans SharePoint - Global Conférence...
Présentation de la protection des données dans SharePoint - Global Conférence...Joris Faure
 
Disorders of consciousness
Disorders of consciousnessDisorders of consciousness
Disorders of consciousnessHena Jawaid
 
Sarah Varian resume 2
Sarah Varian resume 2Sarah Varian resume 2
Sarah Varian resume 2Sarah Varian
 
Origin of India (India Renaissance)
Origin of India (India Renaissance)Origin of India (India Renaissance)
Origin of India (India Renaissance)Trinity Dwarka
 
Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)Hassan WAHSISS
 
110627 soutenance memoire
110627 soutenance memoire110627 soutenance memoire
110627 soutenance memoireJeenuuke
 
Rapport sur quelques fonctionnalités du module de gestion des ressources huma...
Rapport sur quelques fonctionnalités du module de gestion des ressources huma...Rapport sur quelques fonctionnalités du module de gestion des ressources huma...
Rapport sur quelques fonctionnalités du module de gestion des ressources huma...Hassan WAHSISS
 
ESTUDIO DE LA BIODIVERSIDAD EN COLOMBIA
ESTUDIO DE LA BIODIVERSIDAD EN COLOMBIAESTUDIO DE LA BIODIVERSIDAD EN COLOMBIA
ESTUDIO DE LA BIODIVERSIDAD EN COLOMBIAmdcarvajalm
 

Viewers also liked (12)

17.05.11_Game for visual field deffect
17.05.11_Game for visual field deffect17.05.11_Game for visual field deffect
17.05.11_Game for visual field deffect
 
Présentation de la protection des données dans SharePoint - Global Conférence...
Présentation de la protection des données dans SharePoint - Global Conférence...Présentation de la protection des données dans SharePoint - Global Conférence...
Présentation de la protection des données dans SharePoint - Global Conférence...
 
Disorders of consciousness
Disorders of consciousnessDisorders of consciousness
Disorders of consciousness
 
Marka epilepsy
Marka epilepsyMarka epilepsy
Marka epilepsy
 
Sarah Varian resume 2
Sarah Varian resume 2Sarah Varian resume 2
Sarah Varian resume 2
 
Adenekan Adewunmi Isaac CV
Adenekan Adewunmi Isaac CVAdenekan Adewunmi Isaac CV
Adenekan Adewunmi Isaac CV
 
Origin of India (India Renaissance)
Origin of India (India Renaissance)Origin of India (India Renaissance)
Origin of India (India Renaissance)
 
Ubuntu 15.04
Ubuntu 15.04Ubuntu 15.04
Ubuntu 15.04
 
Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)Module rh de l'ERP Odoo (ex OpenERP)
Module rh de l'ERP Odoo (ex OpenERP)
 
110627 soutenance memoire
110627 soutenance memoire110627 soutenance memoire
110627 soutenance memoire
 
Rapport sur quelques fonctionnalités du module de gestion des ressources huma...
Rapport sur quelques fonctionnalités du module de gestion des ressources huma...Rapport sur quelques fonctionnalités du module de gestion des ressources huma...
Rapport sur quelques fonctionnalités du module de gestion des ressources huma...
 
ESTUDIO DE LA BIODIVERSIDAD EN COLOMBIA
ESTUDIO DE LA BIODIVERSIDAD EN COLOMBIAESTUDIO DE LA BIODIVERSIDAD EN COLOMBIA
ESTUDIO DE LA BIODIVERSIDAD EN COLOMBIA
 

Similar to Cis017 6 revision-parallel_2015

Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programmingShaveta Banda
 
Parallel architecture &programming
Parallel architecture &programmingParallel architecture &programming
Parallel architecture &programmingIsmail El Gayar
 
Writing Scalable Software in Java
Writing Scalable Software in JavaWriting Scalable Software in Java
Writing Scalable Software in JavaRuben Badaró
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceAbdelmonaim Remani
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel ProgrammingUday Sharma
 
Lecture 1
Lecture 1Lecture 1
Lecture 1Mr SMAK
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingShivji Kumar Jha
 
lecture01_Introduction.pdf
lecture01_Introduction.pdflecture01_Introduction.pdf
lecture01_Introduction.pdfMarlonMagtibay2
 
Cache Performance Evaluation
Cache Performance EvaluationCache Performance Evaluation
Cache Performance EvaluationAlfred Mutanga
 
Drill architecture 20120913
Drill architecture 20120913Drill architecture 20120913
Drill architecture 20120913jasonfrantz
 
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsSciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsQian Lin
 
e-Learning Delivery System : The Challenges
e-Learning Delivery System : The Challengese-Learning Delivery System : The Challenges
e-Learning Delivery System : The ChallengesDenpong Soodphakdee
 
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...Joaquin Delgado PhD.
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning... RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...S. Diana Hu
 

Similar to Cis017 6 revision-parallel_2015 (20)

Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programming
 
Parallel architecture &programming
Parallel architecture &programmingParallel architecture &programming
Parallel architecture &programming
 
Writing Scalable Software in Java
Writing Scalable Software in JavaWriting Scalable Software in Java
Writing Scalable Software in Java
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot Persistence
 
Lecture4
Lecture4Lecture4
Lecture4
 
archintro.pdf
archintro.pdfarchintro.pdf
archintro.pdf
 
Parallel Programming
Parallel ProgrammingParallel Programming
Parallel Programming
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data Streaming
 
lecture01_Introduction.pdf
lecture01_Introduction.pdflecture01_Introduction.pdf
lecture01_Introduction.pdf
 
NoSql
NoSqlNoSql
NoSql
 
Memory models
Memory modelsMemory models
Memory models
 
Cache Performance Evaluation
Cache Performance EvaluationCache Performance Evaluation
Cache Performance Evaluation
 
Connected Components Labeling
Connected Components LabelingConnected Components Labeling
Connected Components Labeling
 
Drill architecture 20120913
Drill architecture 20120913Drill architecture 20120913
Drill architecture 20120913
 
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsSciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
 
e-Learning Delivery System : The Challenges
e-Learning Delivery System : The Challengese-Learning Delivery System : The Challenges
e-Learning Delivery System : The Challenges
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning... RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Cis017 6 revision-parallel_2015

  • 1. CIS017-6 Distributed and Parallel Architectures Revision (Parallel Architectures) Jon Hitchcock
  • 2. Exam questions • Past papers are available from the university library catalogue – Search for the unit code: CIS017-6 • Questions are selected from a pool – Each exam paper does not cover every topic – Each year questions are updated – New questions are added • Newer questions tend to be broader – Less focus on remembering lists of facts – More opportunity to show what you have learnt and that you have a wide understanding of the subject • This year there is no choice of questions – You should answer all the questions on the paper
  • 3. Possible wording of questions • Compare THIS and THAT and critically discuss their advantages and disadvantages. • Give an example of SOMETHING. • Illustrate your answer with a diagram. • Consider a SITUATION and suggest what can be done about it.
  • 4. Types of parallelism • Parallelism in applications – Data parallelism – Task parallelism • Parallelism in hardware – Bit-level parallelism – Instruction-level parallelism – Vector architectures and GPUs – Thread-level parallelism – Request-level parallelism
  • 5. Flynn’s taxonomy • SISD : Single Instruction Single Data • SIMD : Single Instruction Multiple Data • MIMD : Multiple Instruction Multiple Data
  • 6. Parallel Computer Implementation • Parallel computers can be roughly classified according to the level at which the hardware supports parallelism. – Multicore processor – Shared memory multiprocessor – Cluster • These classes are not mutually exclusive • Clusters of multicore processors are common • Low-level implementations – Vector processor – Graphics processing unit – Spatial computing • GPUs are often used for general-purpose parallel computation
  • 7. Memory Organisation • Shared memory – Multicore processor – Shared memory multiprocessor – Parallel Random Access Machine (PRAM) model • Concurrent read and/or write access • Exclusive access • Distributed memory – Cluster – Warehouse-scale computer – Passes messages to transfer data – Bulk Synchronous Parallel (BSP) model
  • 8. Parallel Programming • Shared-state concurrency – Java • Threads – C++ • Threads • Task-based concurrency – OpenMP – GPU programming • Message-passing concurrency – Erlang – MPI
  • 9. Performance Analysis of Parallel Systems • Scalability – Speedup • Linear • Superlinear – Efficiency • Amdahl’s law • Gustafson’s law
  • 10. OpenMP • Parallel computing on shared memory systems • Directives – Control Structures • parallel – Work Sharing • sections • for – Synchronisation • barrier • Regions and loops
  • 11. MPI • Message passing (a distributed computing style of communication) used for parallel computing • Collective communications – One-to-many (broadcast, scatter) – Many-to-one (reduce, gather) – Many-to-many (prefix sum, total exchange, circular shift) • Synchronous message passing – Three-way signalling process • Request to send • Ready-to-accept acknowledgement • Message transfer – “Blocking” Functions in MPI • MPI_Send and MPI_Recv return when it is safe to continue
  • 12. See also • The essential reading from Hennessy and Patterson (2012) – in BREO weeks 2, 3 and 4 • The essential reading from Greaves (2015) – in BREO week 3 • Tutorial questions – in BREO weeks 2 and 4