Ελληνικά
English
 

Parallel and Distributed Computing

Lecturers:  Margaritis Konstantinos  |  

 

Objectives:

On completion of the course, the student should be able to:


•    understand and account for models, limitations and fundamental concepts within parallel and distributed computations, and apply this understanding to the analysis of concrete systems and algorithms.
•    adapt and develop algorithms and applications for execution on parallel and distributed systems and analyse them for correctness, reliability, and performance.
 

Skills:

Study, design, analysis, progamming and execution of parallel and distributed computations.

Prerequisites:

Computer programming, algorithms and data structures   

Content:

Parallel and distributed systems: Shared and distributed memory systems, multi-core processors, general purpose graphical processing units, memory hierarchy, interconnection networks, networking infrastructure, clusters, grids and clouds.

Operating systems and interprocess communication: processes, threads, mutual exclusion and synchronization, locks, semaphores, condition variables, monitors, messages and message queues, client-server and remote procedure call.

Models, environments and techniques of parallel and distributed computing: multithreding, message passing, sockets, remote procedure call and remote objects, service-oriented, channels and actors, general purpose graphical processing unit programming, functional programming, big data. Parallel and distributed algorithms: data and functional parallelism, master-workers, task graphs, pipelining (data flow),

Parallel and distributed algorithms: data and task parallelism, master-workers, task graps, pipelining (data flow), pool of tasks, functional models. Metrics and experimental performance evalation of parallel and distributed applications.

Textbooks:

Introduction to Parallel Computing (2nd edition). Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar, 2003, ISBN 78-8131708071

Parallel and Distributed Computation D.Bertsekas and J.Tsitsiklis, 1989, ISBN 0-13-648700-9

Parallel Programming in C withMPI and OpenMP, Michael Quinn, 2004, ISBN 007-282256-2

Parallel Programming (2nd edition). B.Wilkinson, M.Allen, 2005, ISBN 0-13-140563-2

Progamming Massively Parallel Processors, Second Edition, D.Kirk, W.Hwu, 2013, ISBN 978-0-12-415992-1

Distributed Systems: Concepts and Design (5th edition). George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair,2011, ISBN 0-13-214301-1

Distributed Systems (3rd edition). Maarten van Steen,‎ Andrew S. Tanenbaum, 2017, ISBN 978-1543057386

Concurrency - State Models & Java Programs (2nd edition). J. Magee, J. Kramer, 2006, ISBN 978-0470093559

Distributed and Cloud Computing: From Parallel Processing to the Internet of Things Kai Hwang, Jack Dongarra and Geoffrey C. Fox, 2011, ISBN 9780123858801

Assessment:

50% Laboratory exercises

50% Final written examination

Students should achieve at least ‘pass’ grade in both Laboratory exercises and Final written examination.

Webpage:

http://compus.uom.gr/MINF189/


back
Tessera - Web development, E-Shops, Mobile & Tablet Apps