2.1: Parallel Computing

  • Code

    L.28776

  • Amount of hours required

    140

  • Language

    en-GB

  • Quartile of execution

    1

In this module you will learn techniques to make a software system do more things at once, so it can handle more users, or come up with an answer to a problem faster.
You ask Google for all the Indian restaurants in your area, within seconds you get the answer.
Millions of people around the world are using google at the same time.
So how is it that you get the answer so quickly?
Google makes extensive use of concurrent and distributed computing. Concurrent computing is about how one computer can do multiple tasks. While distributed computing is about how a single (large) task can be distributed among multiple computers.
This module is going to teach you the basics about concurrent and distributed computing.


Translated with www.DeepL.com/Translator (free version)

Competences

  • HBO ICT 11.2 SW/ANA/2
  • HBO ICT 13.2 SW/ONT/2
  • HBO ICT 14.2 SW/REA/2

Learning goals

Apply the concepts of process / thread in software and understand the role of the OS in this.
Being able to apply concurrency in Java using threads, thread pools, promises and futures, semaphores and monitors.
Know the concepts of liveness, deadlock, starvation, mutual exclusion, critical sections, race conditions, interleaving and take them into account when developing concurrent software.
Be able to apply concurrency in distributed processes through messaging
Create an architecture for a distributed system using messaging


Translated with www.DeepL.com/Translator (free version)

Tests

Code Name
WC Werkcollege
T.54564 2.1: Parallel Computing