CS3DP19-Distributed Systems and Parallel Computing
Module Provider: Computer Science
Number of credits: 10 [5 ECTS credits]
Level:6
Terms in which taught: Autumn term module
Pre-requisites:
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2022/3
Module Convenor: Dr Christopher Maynard
Email: c.m.maynard@reading.ac.uk
Type of module:
Summary module description:
This module introduces concepts, principles, tools, techniques and algorithms for distributed systems and parallel computing, and examines the deployment of relevant applications in Cloud, big data analytics, and massive-parallel environment. In this context, this module covers the topic ranging from hardware and software architectures and algorithms in the development of distributed systems, MapReduce program paradigm and Hadoop ecosystems, and in-memory and stream computing tools such as Spark, Storm, and Flink; to parallel programming paradigms for relevant hardware and software applications, such as OpenMP and MPI, and massive parallelism provided by GPUs. Talks from academia and industry will be incorporated in teaching for value adding in learning.
Aims:
The module provides students with fundamentals of distributed systems and parallel computing and state-of-the-art tools that enable students to understand the concepts and principles underpinning distributed systems and utilize industry standard tools. Students are then prepared to specialize further in the field of distributed systems and parallel computing, e.g., in big data analytics or as scientific programmer.
This module also encourages students to develop a set of professional skills, such as creativity, software design and development, team working, self-reflection, and global outlook.
Assessable learning outcomes:
Students completing this module should be able to:
- characterize distributed systems and parallel computing
- understand how to solve parallel problems via distributed and parallel algorithms
- implement solutions for easy distributed and parallel problems
- harness the capabilities of distributed and parallel environments including on personal devices assess the characteristics of distributed applications and systems
Additional outcomes:
Students are able to understand the principles and can approach distributed services offered in the Internet and of supercomputers allowing to approach relevant scientific problems. Specialized Linux knowledge covering tools for distributed and parallel programming.
Outline content:
- Overview to distributed and parallel computing; hardware and software architectures
- Use-cases for distributed and parallel applications from industry and science
- Issues in designing of distribution and parallel systems and algorithms
- Industry relevant processing models for big data and tools like Hadoop and Spark
- Relevant algorithms and data structures
- Introduction to scientific computing
- Parallel programming paradigms and concepts with a focus on OpenMP and MPI
Global context:
The module gives a global perspective of distributed and parallel computing.
Brief description of teaching and learning methods:
The weekly laboratory practicals and tutorials will guide students to learn in the concepts and tools for distributed systems and parallel programming in a distributed environment. In the process of learning, students will form a learning community and integrate peer-learning into the practicals. Students will have opportunities to present their solutions toward the challenging tasks in the class. Students will develop presentation skills and gain confidence to the topics.
Autumn | Spring | Summer | |
Lectures | 10 | ||
Practicals classes and workshops | 10 | ||
Guided independent study: | 70 | 10 | |
Total hours by term | 0 | ||
Total hours for module | 100 |
Method | Percentage |
Written exam | 50 |
Set exercise | 50 |
Summative assessment- Examinations:
One 1.5hr examination paper in April/May.
Summative assessment- Coursework and in-class tests:
The coursework consists of one element.
Formative assessment methods:
There will be a weekly formative assessment running in the weekly practicals. Feedback will be then provided through these sessions.
Penalties for late submission:
The Support Centres will apply the following penalties for work submitted late:
- where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day (or part thereof) following the deadline up to a total of five working days;
- where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.
You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.
Assessment requirements for a pass:
A mark of 40% overall.
Reassessment arrangements:
One 2-hour examination paper in August/September. Note that the resit module mark will be thehigher of (a) the mark from this resit exam and (b) an average of this resit exam mark and previous coursework marks, weighted as per the first attempt (50% exam, 50% coursework).
Additional Costs (specified where applicable):
1) Required text books:
2) Specialist equipment or materials:
3) Specialist clothing, footwear or headgear:
4) Printing and binding:
5) Computers and devices with a particular specification:
6) Travel, accommodation and subsistence:
Last updated: 22 September 2022
THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.