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
SHORT CV | NEWS | RESEARCH - Publications, Projects | TEACHING - Courses, Thesis projects | ADMINISTRATION |
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
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
- International Journal of Parallel Programming (IJPP) (since Nov. 2024)
- Software-Intensive Cyber-Physical Systems (SICS)
TEACHING
Undergraduate and master-level courses
- TDDE65 / TDDC78 Programming of parallel computers (spring 2001- )
- TDDD25 Distributed Systems (spring 2023-)
- TDDD56 Multicore and GPU Programming (autumn 2011-)
- TDDD89 Scientific Method (autumn 2019-)
- 732A54/TDDE31 Big Data Analytics (since 2016)
- TDDE25 Perspectives on Computer Science (since 2015)
- TDDE35 Large-Scale Distributed Systems and Networks (since 2015)
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)
- Component-Based Software and Software Composition (since 2012)
- Hardware for Machine Learning (ISY), 2020
Multicore Lab (since 2012)
ADMINISTRATION
- Head of the Systems and Software (SaS) division at IDA (since 2015)
- Vice head of PELAB
- Coordination of the SaS seminars series
MEMBERSHIPS:
- ACM
- IEEE Computer Society
- HiPEAC European Network of Excellence on High Performance and Embedded Architecture and Compilation
- EAPLS European Association for Programming Languages and Systems
- GI Gesellschaft für Informatik
- GI/ITG-Fachgruppe PARS Parallel-Algorithmen, -rechnerstrukturen und -systemsoftware
- GI-Fachgruppe 2.1.4 Programmiersprachen und Rechenkonzepte
- VDI Verein Deutscher Ingenieure
- The Swedish/Nordic Multicore Initiative
- ELLIIT Excellence Center at Linköping - Lund in Information Technology
- LAO Linköpings Akademiska Orkester
Christoph Kessler (firstname.lastname@liu.se)
Page responsible: Webmaster
Last updated: 2024-11-20