Registry
Module Specifications
Archived Version 2015 - 2016
| |||||||||||||||||||||||||||||||||||||
Description | |||||||||||||||||||||||||||||||||||||
This module aims to introduce the student to issues involved in concurrent computing, and particularly to the paradigms used in parallel and distributed computing to address these issues. To facilitate learning on part of the student, algorithms are presented in the form of solutions to everyday problems (e.g. modelling a queue in a bakery shop). Comparisons are drawn between several different concurrent languages and libraries and advantages and disadvantages of each are presented. In order to interest the student in the application of these languages, the assessment seeks to present the student with an interesting, open-specification problem in concurrency (e.g. fair access to a shared resource such as a car park) so that the student may apply the knowledge gained in the course. The module is delivered through lectures. | |||||||||||||||||||||||||||||||||||||
Learning Outcomes | |||||||||||||||||||||||||||||||||||||
1. Explain the meaning of concurrent programming and where it fits in with single-threaded programming paradigms. 2. Describe when concurrent programming can be used to solve common problems in computer science. 3. Recognise various synchronization models for safe concurrent programs. 4. Demonstrate a proficiency in writing multi-threaded programs in Java involving multiple agents. 5. Explain the operation of distributed programs using the Message Passing Interface (MPI) library and concurrent programs in the Synchronised Resources (SR) programming language. 6. Describe common architectures on which concurrent and multi-threaded programs may be run. | |||||||||||||||||||||||||||||||||||||
All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml |
|||||||||||||||||||||||||||||||||||||
Indicative Content and Learning Activities | |||||||||||||||||||||||||||||||||||||
Architectural classification schemes.Parallel Speed-up.Threads.Critical sections and mutual exclusion.Semaphores.Monitors.Message Passing, Synchronous and Asynchronous, Types of message passing processesFilters, Clients, Servers and Peers.RPC.Rendezvous.Languages for concurrent programmingSR and Linda.Load Balancing and Resource Allocation.Fault tolerance. | |||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
Indicative Reading List | |||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
Other Resources | |||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||
Programme or List of Programmes | |||||||||||||||||||||||||||||||||||||
Timetable this semester: Timetable for | |||||||||||||||||||||||||||||||||||||
Archives: |
|