Computer Science

ECMM448 - High Performance Computing and Distributed Systems (2019)

Back | Download as PDF
MODULE TITLEHigh Performance Computing and Distributed Systems CREDIT VALUE15
MODULE CODEECMM448 MODULE CONVENERUnknown
DURATION: TERM 1 2 3
DURATION: WEEKS 11
Number of Students Taking Module (anticipated) 30
DESCRIPTION - summary of the module content

The demand for ever-increasing computational power drives the development and exploitation of high-performance computing and distributed systems that underpin computation-intensive scientific innovation and revolutionise engineering technologies in all fields. This module is designed to equip you with a solid foundation and useful skills in high-performance and distributed computing. In this module, you will learn advanced high-performance computer architectures and organisation, as well as gain skills in parallel processing algorithm design and programming. You will also acquire important knowledge of the architectural models and inter-process communications in distributed systems and their development and applications.
 

Students should be able to program in C or Fortran for the High Performance Computing assignment, and should be familiar with Java for the Distributed Systems aspect of this module. Familiarity with the basics of differential equations is required for the High Performance Computing part of the module.

AIMS - intentions of the module

This module aims to provide you with a thorough grounding in different types of computational device available for high-performance computing and distributed systems. After presenting the fundamental ideas and basic concepts of high-performance computing, the module outlines the architectures, components and parallel programming of high-performance computers. You will also gain knowledge of the architectural models of distributed systems and learn how to design Java API for inter-process communications and remote method invocation in distributed systems. The module will introduce you to recent developments and future trends in architecture and algorithm of high-performance and distributed computing.

INTENDED LEARNING OUTCOMES (ILOs) (see assessment section below for how ILOs will be assessed)

On successful completion of this module you should be able to:

Module Specific Skills and Knowledge

1. Demonstrate an in-depth understanding of the fundamental ideas and issues of high-performance and distributed computing.
2. Demonstrate knowledge of high-performance computer architectures and how to make effective use of these architectures.
3. Demonstrate skills in parallel processing algorithm design and the practical implementation of such algorithms.
4. Demonstrate an in-depth understanding of the architectures and challenges of distributed systems.
5. Demonstrate knowledge of and skills in inter-process communication and remote method invocation in distributed systems.

Discipline Specific Skills and Knowledge

6. Identify suitable architectures and systems for solving a given computational problem.
7. Interpret an informal requirement specification.
8. Analyse information systematically and make appropriate design choices.

Personal and Key Transferable / Employment Skills and Knowledge

9. Relate reading materials to lecture content and analyse a problem.
10. Use technical manuals and books to interpret technical errors.

 

SYLLABUS PLAN - summary of the structure and academic content of the module

- Motivation of and introduction to high-performance and distributed computing;

- Parallel computer architecture: shared-memory and distributed-memory architectures, multi-core processors, Graphics Processing Unit (GPUs);

- Interconnection networks in high performance computers: topologies, latency and bandwidth;

- Parallel processing algorithm and programming design: Message Passing Interface (MPI), OpenMP, domain decomposition, parallel overheads and scaling;

- Characteristics, challenges and architectural models of distributed systems: heterogeneity, openness, security, scalability, failure handling, concurrency and transparency, client-server model and its variations, peer-to-peer model;

- Inter-process communication in distributed systems: Java API for UDP and TCP communications;

- Programming models for distributed applications: distributed objects and remote method invocation.

LEARNING AND TEACHING
LEARNING ACTIVITIES AND TEACHING METHODS (given in hours of study time)
Scheduled Learning & Teaching Activities 32.00 Guided Independent Study 118.00 Placement / Study Abroad 0.00
DETAILS OF LEARNING ACTIVITIES AND TEACHING METHODS
Category Hours of study time Description
Scheduled learning and teaching 22 Lectures
Scheduled learning and teaching 10 Workshops
Guided independent study 30 Coursework (individual-assessed work)
Guided independent study 20 Individual project
Guided independent study 68 Guided independent study

 

ASSESSMENT
FORMATIVE ASSESSMENT - for feedback and development purposes; does not count towards module grade
Form of Assessment Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Practical programming and Implementation of analytical model 2 hours 2,3 Written feedback
Practical programming and implementation of simulator 2 hours 4,5 Written feedback
       
       
       

 

SUMMATIVE ASSESSMENT (% of credit)
Coursework 50 Written Exams 50 Practical Exams
DETAILS OF SUMMATIVE ASSESSMENT
Form of Assessment % of Credit Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Coursework - 2 assignments with equal weighting 30 30 hours All Written feedback
Individual project 20 20 hours 1,2,3 Written feedback
Written exam – Closed book 50 2 hours - Summer Exam Period All Model answers supplied on request

 

DETAILS OF RE-ASSESSMENT (where required by referral or deferral)
Original Form of Assessment Form of Re-assessment ILOs Re-assessed Time Scale for Re-assessment
All assessments Written Examination (100%) All August Referral/Deferral Period

 

RE-ASSESSMENT NOTES

Referred and deferred assessment will normally be by examination. For referrals, only the examination will count with a mark of 50% being awarded if the examination is passed. For deferrals, candidates will be awarded the higher of the deferred examination mark or the deferred examination mark combined with the original coursework mark.

RESOURCES
INDICATIVE LEARNING RESOURCES - The following list is offered as an indication of the type & level of
information that you are expected to consult. Further guidance will be provided by the Module Convener

Basic reading:

 

ELE: http://vle.exeter.ac.uk/

 

Web based and Electronic Resources:

 

Other Resources:

 

Reading list for this module:

Type Author Title Edition Publisher Year ISBN Search
Set Sterling, T., Anderson, M. and Brodowicz, M. High Performance Computing: Modern Systems and Practices 1st Elsevier 2018 978-0-12-420158-3 [Library]
Set M.J. Quinn Programming in C with MPI and OpenMP Mcgraw-Hill 2003 0072822562 [Library]
Set G. Couloris, J. Dollimore, T. Kinberg, and G. Blair Distributed Systems – Concepts and Design 5th Addison-Wesley 2011 0273760599 [Library]
CREDIT VALUE 15 ECTS VALUE 7.5
PRE-REQUISITE MODULES None
CO-REQUISITE MODULES None
NQF LEVEL (FHEQ) 7 AVAILABLE AS DISTANCE LEARNING No
ORIGIN DATE Tuesday 10 July 2018 LAST REVISION DATE Tuesday 10 July 2018
KEY WORDS SEARCH computer modelling, computer simulation, performance evaluation