Advanced Parallel and Distributed Systems
Distributed systems are growing
increasingly and becoming more popular every day as most of today’s
computing systems are some kind of distributed systems. Cloud Computing
and Internet of Things are two major and well-known examples which are
built according to the distributed system concepts and principals. This
shows the great importance of study and research on distributed systems
from both academic and industrial perspectives.
A distributed system consists of multiple software components running
on multiple computers that interact with each other to fulfill the
mission of the system while being considered as a single system. The
computing nodes of a distributed system can be physically close
together (e.g. Cluster computing) or they can be widely distributed
geographically (e.g., Cloud Computing). Such kinds of computing systems
are that popular because of the major advantages over centralized
systems such as Reliability and Scalability.
In this course, we will introduce
different types of distributed systems in terms of both architecture
and applications. You will learn concepts and methods used in new
emerging distributed computing paradigms (such as Cloud Computing,
Function as a Service, Containers, stream processing, data analytics)
and will also practically apply the underlying techniques and methods.
You will gain knowledge of the possibilities, challenges and limits of
the modern distributed computing technologies (such as Open-Whisk,
Fission or Snafu), data analytics and stream processing (e.g. Spark and
Kafka) and distributed data repositories (such as IPFS). Additionally
you will conduct a performance analysis on different run-time
environments using these modern distributed computing technologies.
Topics covered in lectures
Distributed computer architectures; Peer-to-peer architectures, Cloud
computing technologies; Resource management; Optimization of
distributed applications; Scheduling algorithms; Function as a service;
Distributed data repositories; Data analytics; Stream processing; Load
balancing; performance metrics and performance analysis.
Topics covered in the proseminar
Cloud computing and virtualization technology, Function as a Service,
Scheduling, Performance metrics and Performance analysis, Scalability,
Distributed Data Repository, and Resource Management.