Introduction to the module CS3DP19-Distributed Systems and Parallel Computing

preview_player
Показать описание
This video introduces the lecture Distributed and Parallel Computing that is held in the autumn term 2020 at the University of Reading.
As the lecture will be mostly online, I share the content here for anyone interested.

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 a scientific programmer.

This module also encourages students to develop a set of professional skills, such as creativity, software design and development, team work, 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 on the Internet and of supercomputers allowing them 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
Рекомендации по теме