Parallel and Distributed Computing: Enabling simulations and data processing at scale

Parallel and distributed computing is a foundational part of the toolbox for the computational scientist.
Overview
Computational experiments and data processing often require large computing and storage facilities and there is a challenge in designing and implementing algorithms and software capable of efficiently leveraging high-performance computing and cloud computing systems.
Research topics
- High-performance computing (HPC): the efficient use of supercomputers and clusters to solve advanced computational problems
- Distributed computing infrastructures (DCI): cloud computing, distributed systems architecture, distributed storage, application design to leverage distributed infrastructure to solve e.g. data-intensive problems
- Task-based programming for large-scale scientific software (TPSS): programming models and frameworks for task-parallel problems
- Efficient implementations of numerical methods for distributed computing (NDC): design of numerical algorithms such as partial differential equation (PDE) solvers to enable large-scale parallelism
Research entities
- Integrative Scalable Computing Laboratory: NDC, DCI
- eSSENCE strategic collaboration on science: NDC, DCI, HPC
Faculty members
- Stefan Engblom: NDC, HPC
- Andreas Hellander: DCI, NDC
- Elisabeth Larsson: NDC, HPC, TPSS
- Murtazo Nazarov: NDC, HPC
- Carl Nettelblad: NDC, HPC, DCI
- Emanuel Rubensson: TPSS, HPC, NDC
- Prashant Singh: DCI, HPC
- Salman Toor: DCI, HPC
Research awards
- Göran Gustafsson award for young researchers to Elisabeth Larsson (in 2007) and Andreas Hellander (in 2016)
Applications and software
- HASTE Toolkit: a framework for developing intelligent stream processing pipelines: DCI, NDC
- FEDn: a hierarchical federated learning framework: DCI, NDC
- Chunks and Tasks: open-source library for the parallelisation of dynamic, hierarchical algorithms: TPSS, HPC, NDC
- StochSS: stochastic simulation as a service: NDC, DCI
- SuperGlue: a library for data-dependency-driven task parallelism: NDC, TPSS, HPC
- Hummingbird: monitoring and analysing flash X-ray imaging experiments in real time: NDC, HPC, DCI
Education
- 1TD062: High Performance Programming (10 credits): HPC, DCI, NDC
- 1TD070: Parallel and Distributed Programming (5 credits): HPC, TPSS, NDC
- 1TD307: Project in Computational Science (15 credits): HPC, DCI, NDC, TPSS
- 1TD169: Data Engineering I (5 credits): DCI, NDC
- 1TD076: Data Engineering II (10 credits): DCI, NDC
- 1TD054: Accelerator-Based Programming (5 credits): HPC, TPSS, NDC