Recommended for
Graduate (CUGS, CIS, ...) students with some background in parallel computing
and/or big-data analytics, who are
interested in domain-specific programming frameworks and techniques
for parallel and distributed computing on big graphs.
Organization and Schedule
The course is planned for early autumn (ht1) 2022.
The course was last given
This is a new course.
Goals/Contents
Graphs are a common abstraction in computer science used to represent real-world entities and their relations, such as web pages, persons in social networks, persons or places on maps, cells in biological networks, objects or particles in complex computer graphics, finite element meshes, documents with citations, and many other scenarios that may easily scale up to many billions of vertices and trillions of edges. Big-graph scenarios, e.g. in graph analytics, data mining, or simulation applications, call for scalable graph processing techniques that can This requires parallel, distributed and accelerator-based computing techniques and resources, as well as domain-specific programming and tool support, which is currently a hot topic of research.
In this course, we consider techniques for distributed and parallel computing on large graphs, including the theoretical foundations such as bulk-synchronous parallel computing and performance analysis for such computations, as well as domain-specific programming models for big-graph computing, such as Pregel, Giraph, Galois, and GraphIt.
Prerequisites
We expect some background in programming for parallel, accelerator and/or cluster systems from
a previous course, such as TDDC78 or TDDD56.
Having taken a course on big-data analytics such as TDDE31/732A54 is also useful but not required
(if necessary, we will briefly recapitulate the principles of the MapReduce programming model).
Programming skills and use of Linux is useful for the lab exercise.
Literature
Will be announced later.
Examination
Credit
5hp if all examination moments are fulfilled.
Comments
The course may or may not be given on distance.
Related Courses
This course builds upon the IDA master-level courses on programming parallel computers - methods and tools (TDDC78) resp. Multicore and GPU programming (TDDD56) and Big Data Analytics (TDDE31/732A54).