CHRISTOPH KESSLER
Prof. Dr. Christoph Kessler
PELAB - Programming Environments Laboratory
Software and Systems Division
Department for Computer and Information Science (IDA)
Linköping University
S - 581 83
Linköping, Sweden
Office: PELAB,
B-house,
room 3B:474
phone +46 13 28 2406
mobil +46 70 3666687
email: Christoph.Kessler \at liu.se
URKUND-address: chrke55.liu \at analys.urkund.se
RECENT NEWS AND UPCOMING EVENTS:
- Our research paper "Energy-Efficient Scheduling of Moldable Streaming Computations for the Edge-Cloud Continuum" has been accepted for the 9th Int. Conference on Fog and Mobile Edge Computing (FMEC 2024), Sep. 2024.
- Our research paper "Interactive Performance Visualization and Analysis of Execution Traces for Pattern-based Parallel Programming" has been accepted for the 17th International Symposium on High-Level Parallel Programming and Applications, July 2024.
- Our research paper "High-Level Programming of FPGA-Accelerated Systems with Parallel Patterns" has now appeared in the International Journal of Parallel Programming.
- Our research paper "Packet-Type Aware Scheduling of Moldable Streaming Tasks on Multicore Systems with DVFS" has now appeared in the proceedings of ACM SAC'24.
- An article (in Swedish) about our ASTECC project
has appeared in Framtidens Forskning, June 2023.
- Our research paper
"Packing Multiple Types of Cores for
Energy-Optimized Heterogeneous Hardware-Software Co-Design of Moldable Streaming Computations"
has now appeared in IEEE Access.
- On 7 March 2023 starts the upcoming edition of my biennial PhD course on
Advanced Compiler Construction
- Our research paper
"Assessing Application Efficiency and Performance Portability in Single-Source Programming for Heterogeneous Parallel Systems"
has been published online in
International Journal of Parallel Programming, print version to appear.
- Our research paper
"Integrating Energy-Optimizing Scheduling of Moldable Streaming Tasks with Design Space Exploration for
Multiple Core Types on Configurable Platforms"
has appeared in the
Journal of Signal Processing Systems, June 2022.
- Our grant proposal "Adaptive Software for the Heterogeneous Edge-Cloud Continuum"
has been
accepted for funding by SSF in the Future Software Systems programme (7/4/2022).
See also this news article in LiU-nyheter (13/4/2022)
and the project website.
- The third generation of SkePU, a single-source high-level programming framework for heterogeneous parallel systems developed by our group as a long-term open-source effort since 2010, has been identified by EU Innovation Radar as a notable innovation outcome of the EU H2020 EXA2PRO project in April 2022.
- Our research paper "A Deterministic Portable Parallel Pseudo-Random Number Generator for Pattern-Based Programming of Heterogeneous Parallel Systems" has been published online in International Journal of Parallel Programming, March 2022.
- August Ernstsson has successfully defended his PhD thesis
"Pattern-based Programming Abstractions for Heterogeneous Parallel Computing" in March 2022.
- We give a tutorial on SkePU programming at the e-Science 2021 conference in Sept. 2021.
- Our research article
EXA2PRO: A Framework for High Development Productivity on Heterogeneous Computing Systems
will appear in
IEEE Transactions on Parallel and Distributed Systems 33(4):792-804,
April 2022, and is available online (open access) since Aug. 2021:
DOI: 10.1109/TPDS.2021.3104257.
- I will give an invited presentation about SkePU at the ScienceCloud'21 workshop, 21 June 2021.
- Our research paper Combining Design Space Exploration with Task Scheduling of Moldable Streaming Tasks on Reconfigurable Platforms
has been accepted for International Symposium on Applied Reconfigurable Computing, Rennes, France, June 2021.
- Our research paper Temperature-Aware Energy-Optimal Scheduling of Moldable Streaming Tasks onto 2D-Mesh-Based Many-Core CPUs with DVFS
will be presented at 24th Workshop on Job Scheduling Strategies for Parallel Processing (JSSPP 2021)
in conjunction with IPDPS 2021, Portland, Oregon USA, 21 May 2021.
- Our research paper
SkePU 3: Portable High-Level Programming of Heterogeneous Systems and HPC Clusters
has now appeared in International Journal of Parallel Programming.
- I will give a keynote presentation at the
PDP'21 conference
on 12 March 2021.
- We will hold a
half-day tutorial
on portable high-level programming of heterogeneous parallel systems with
SkePU at the ACM
PPoPP'21 conference, 27 feb 2021
- We run our bi-annual PhD course Advanced Compiler Construction in Feb./March 2021, with the lecture block on 9-18 february 2021.
- Our research paper Crown-scheduling of sets of parallelizable tasks for robustness and energy-elasticity on many-core systems with discrete dynamic voltage and frequency scaling
has been accepted for publication in Journal of Systems Architecture, Elsevier, Jan. 2021.
- Our research paper Static Scheduling of Moldable Streaming Tasks with Task Fusion for Parallel Systems with DVFS has appeared in IEEE TCAD (Nov. 2020)
- The articles of the special issue for
HLPP-2019 12th Int. Symposium on High-Level Parallel Programming and Applications,
July 3-5, 2019, Linköping, Sweden, have now appeared in the International Journal of Parallel Programming (Springer).
- SkePU-3, our open-source framework for single-source high-level programming of heterogeneous parallel systems and clusters, is available on github since April 2020
RESEARCH
- Parallel, distributed and heterogeneous computing
- Programming models, languages, compilers, run-time systems,
tools, libraries, algorithms
- High-level programming (patterns, skeletons, multi-variant components, ...)
- Adaptivity and performance portability
- Energy-efficient computing
- Resource allocation and scheduling
- Edge computing
- AI computing
- Compiler technology
- Automated synthesis of (parallel, distributed, heterogeneous) programs from parallel building blocks
- Compiler optimizations and target code generation
- Combinatorial optimization problems in code generation
- Retargetability
- Program analysis and transformation, including
automatic and semiautomatic parallelization
List of publications
Short CV
Research group
PhD students
Current projects and activities:
- Adaptive Software for the Heterogeneous Edge-Cloud Continuum (ASTECC)
SSF project, 2022-2027
- General Purpose AI Computing (GPAI)
ELLIIT project C5, 2021-2025
- Energy-Efficient Federated Learning for Internet of Things (IoT) Systems (FL4IoT)
ELLIIT project D6, 2023-2027
- Connecting Education and Research Communities for an Innovative Resource Aware Society (CERCIRAS)
EU COST action, about resource-aware parallel computing in cyberphysical systems, 2021-2024
-
Enhancing Programmability and boosting Performance Portability
for Exascale Computing Systems (EXA2PRO)
EU H2020 FETHPC project, May 2018-AprJuly 2021
My group developed the high-level parallel programming model and its toolchain components
for portable and convenient programming of high-performance applications
for efficient execution on heterogeneous and distributed parallel systems.
- SkePU:
Auto-tunable skeleton programming framework for Multicore CPU and multi-GPU systems
A framework for single-source, high-level, structured, portable parallel programming of heterogeneous systems.
Open-source software project since 2010. Current version: SkePU 3.
- Mapping and Scheduling Moldable-Parallel Streaming Tasks on Many-Core Processors
Energy optimization at the application level is an important concern in
effectively using today's multi- and many-core CPU architectures.
For task-based streaming applications such as video processing pipelines,
application-level resource (core and core type) allocation,
mapping, scheduling,
and voltage/frequency level selection are important techniques that
together control both time and energy usage of the application.
In this work we consider the combinatorial optimization problem of allocating cores, mapping, and discrete
voltage/frequency scaling for programs consisting of
moldable (i.e., parallelizable) streaming tasks (also
known as actors) to multi- and manycore processors,
in order to optimize energy consumption given a throughput constraint.
Our fundamental approach, called Crown Scheduling, introduces an artificial
tree-like hierarchy of allocatable groups of cores, called the crown.
Only these groups can be used as mapping targets,
which dramatically reduces the size of the solution space, thus making even optimal solutions
feasible for small to medium sized task graphs, but has only negligible
impact on solution quality (i.e., overall energy use).
In more recent work the crown scheduling approach has been generalized in many ways, e.g.
to also cover heterogeneous multi-/many-core architectures, architectures with DVFS islands, and distributed systems;
to improve DVFS flexibility, energy efficiency and temperature awareness by dynamic schedule adaptation;
and to eliminate tasking overheads by optimal task fusion.
- Crown Scheduling,
Proc. PATMOS-2013 conference, IEEE, DOI: 10.1109/PATMOS.2013.6662176 (the first paper, introducing the Crown Scheduling principle)
- Fast Crown Scheduling Heuristics for Energy-Efficient Mapping and Scaling of Moldable Streaming Tasks on Many-Core Systems,
ACM Trans. on Arch. and Code Opt. 11(4), Jan. 2015, DOI: 10.1145/2687653 (Crown scheduling heuristics vs. ILP vs. competing approaches for moldable task scheduling)
-
Co-optimizing Core Allocation, Mapping and DVFS in Streaming Programs with Moldable Tasks for Energy Efficient Execution on Manycore Architectures.
Proc. ACSD-2019, June 2019. IEEE. DOI: 10.1109/ACSD.2019.00011 (Analyzes the typical and worst-case losses in energy and gains in optimization speed compared to unrestricted moldable scheduling with DVFS
- Static Scheduling of Moldable Streaming Tasks with Task Fusion for Parallel Systems with DVFS.
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), Nov. 2020. DOI: 10.1109/TCAD.2020.3013054 (Co-optimizes crown scheduling with task fusion in streaming task graphs, considering latency-energy trade-offs)
-
Crown-Scheduling of Sets of Parallelizable Tasks for Robustness and Energy-elasticity on Many-core Systems with Discrete Dynamic Voltage and Frequency Scaling.
Journal of Systems Architecture, vol. 115, number 101999, Elsevier, May 2021. DOI: 10.1016/j.sysarc.2021.101999 (Analyzes the robustness of crown schedules to task lateness)
- List of former projects (1995-2022, e.g. EXA2PRO, EXCESS, PEPPHER, OPTIMIST, NestStep, Fork ...)
Selected Open-Source Software
- SkePU:
Auto-tunable skeleton programming framework for heterogeneous parallel systems.
- MeterPU: generic, portable measurement abstraction library for Multicore CPU and Multi-GPU systems
- XPDL:
extensible platform description language for heterogeneous parallel systems and clusters
- List of all open-source software projects
Editorial Board Memberships
TEACHING
Undergraduate and master-level courses
I also give guest lectures in
Graduate courses
-
Advanced Compiler Construction (DF00100 spring 2002, 2004, 2008, 2010, 2012, autumn 2014, spring 2021, 2023)
-
Advanced Parallel Programming (FDA125 (TDDC85) spring 2003, 2007)
-
Multicore Computing (DF21500 spring 2009, 2011, autumn 2013)
-
High-Level Parallel Programming Project (spring 2016)
-
Machine Learning - Introduction and Application for Automated Performance Tuning (DF22400, autumn 2012)
-
Energy-Efficient Parallel Computing (autumn 2013)
-
Programming Frameworks for Deep Learning (autumn 2018)
I also give guest lectures in graduate courses on
Master thesis projects
Multicore Lab (since 2012)
ADMINISTRATION
MEMBERSHIPS:
Christoph Kessler (firstname.lastname@liu.se)