Demo Data from VLDB 2026 / reviewers in the wild / expert
Christian Fensch
dblp:66/6455
· DBLP profile ↗
11ranked-venue papers
2as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Parallel and multicore computing · 28% Processor architecture and microarchitecture · 25% Memory systems · 21% | |
| Software engineering, system software, and programming languages
1 paper |
Operating systems · 100% |
Topics — the 11 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › parallel scheduling
runtime scheduling |
0.5 | 1 | 2021 | Device Hopping: Transparent Mid-Kernel Runtime Switching for Heterogeneous Systems · ACM Trans. Archit. Code Optim. 2021 |
Memory systems
cache coherence |
0.2 | 2 | 2013 | Designing a Physical Locality Aware Coherence Protocol for Chip-Multiprocessors · IEEE Trans. Computers 2013 An OS-based alternative to full hardware coherence on tiled CMPs · HPCA 2008 |
Processor architecture and microarchitecture
chip multiprocessor |
0.2 | 2 | 2013 | Designing a Physical Locality Aware Coherence Protocol for Chip-Multiprocessors · IEEE Trans. Computers 2013 An OS-based alternative to full hardware coherence on tiled CMPs · HPCA 2008 |
High-performance computing › performance optimization
auto-tuning |
0.2 | 1 | 2013 | PARTANS: An autotuning framework for stencil computation on multi-GPU systems · ACM Trans. Archit. Code Optim. 2013 |
Memory systems › cache coherence
cache coherence protocol |
0.2 | 1 | 2013 | Designing a Physical Locality Aware Coherence Protocol for Chip-Multiprocessors · IEEE Trans. Computers 2013 |
Processor architecture and microarchitecture
many-core architecture |
0.2 | 1 | 2013 | Designing a Physical Locality Aware Coherence Protocol for Chip-Multiprocessors · IEEE Trans. Computers 2013 |
GPUs and heterogeneous computing
multi-GPU computing |
0.2 | 1 | 2013 | PARTANS: An autotuning framework for stencil computation on multi-GPU systems · ACM Trans. Archit. Code Optim. 2013 |
High-performance computing
stencil computation |
0.2 | 1 | 2013 | PARTANS: An autotuning framework for stencil computation on multi-GPU systems · ACM Trans. Archit. Code Optim. 2013 |
Processor architecture and microarchitecture › chip multiprocessor
tiled CMP |
0.1 | 1 | 2008 | An OS-based alternative to full hardware coherence on tiled CMPs · HPCA 2008 |
Parallel and multicore computing
data distribution |
0.0 | 1 | 2013 | PARTANS: An autotuning framework for stencil computation on multi-GPU systems · ACM Trans. Archit. Code Optim. 2013 |
Operating systems › resource management › memory management
virtual memory |
0.0 | 1 | 2008 | An OS-based alternative to full hardware coherence on tiled CMPs · HPCA 2008 |
Methods — techniques the papers use, named apart from their topics
slice-based migration · 0.5machine learning · 0.5simulation · 0.3auto-tuning · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Device Hopping: Transparent Mid-Kernel Runtime Switching for Heterogeneous SystemsabstractExisting OS techniques for homogeneous many-core systems make it simple for single and multithreaded applications to migrate between cores. Heterogeneous systems do not benefit so fully from this flexibility, and applications that cannot migrate in mid-execution may lose potential performance. The situation is particularly challenging when a switch of language runtime would be desirable in conjunction with a migration. We present a case study in making heterogeneous CPU + GPU systems more flexible in this respect. Our technique for fine-grained application migration, allows switches between OpenMP, OpenCL, and CUDA execution, in conjunction with migrations from GPU to CPU, and CPU to GPU. To achieve this, we subdivide iteration spaces into slices, and consider migration on a slice-by-slice basis. We show that slice sizes can be learned offline by machine learning models. To further improve performance, memory transfers are made migration-aware. The complexity of the migration capability is hidden from programmers behind a high-level programming model. We present a detailed evaluation of our mid-kernel migration mechanism with the First Come, First Served scheduling policy. We compare our technique in a focused evaluation scenario against idealized kernel-by-kernel scheduling, which is typical for current systems, and makes perfect kernel to device scheduling decisions, but cannot migrate kernels mid-execution. Models show that up to 1.33× speedup can be achieved over these systems by adding fine-grained migration. Our experimental results with all nine applicable SHOC and Rodinia benchmarks achieve speedups of up to 1.30× (1.08× on average) over an implementation of a perfect but kernel-migration incapable scheduler when migrated to a faster device. Our mechanism and slice size choices introduce an average slowdown of only 2.44% if kernels never migrate. Lastly, our programming model reduces the code size by at least 88% if compared to manual implementations of migratable kernels. Paul Metzger, Volker Seeker, Christian Fensch, Murray Cole |
ACM Trans. Archit. Code Optim. | 3 |
| 2020 | Enforcing Deadlines for Skeleton-based Parallel ProgrammingabstractHigh throughput applications with real-time guarantees are increasingly relevant. For these applications, parallelism must be exposed to meet deadlines. Directed Acyclic Graphs (DAGs) are a popular and very general application model that can capture any possible interaction among threads. However, we argue that by constraining the application structure to a set of composable “skeletons”, at the price of losing some generality w.r.t. DAGs, the following advantages are gained: (i) a finer model of the application enables tighter analysis, (ii) specialised scheduling policies are applicable, (iii) programming is simplified, (iv) specialised implementation techniques can be exploited transparently, and (v) the program can be automatically tuned to minimise resource usage while still meeting its hard deadlines. As a first step towards a set of real-time skeletons we conduct a case study with the job farm skeleton and the hard real-time XMOS xCore-200 microcontroller. We present an analytical framework for job farms that reduces the number of required cores by scheduling jobs in batches, while ensuring that deadlines are still met. Our experimental results demonstrate that batching reduces the minimum sustainable period by up to 22%, leading to a reduced number of required cores. The framework chooses the best parameters in 83% of cases and never selects parameters that cause deadline misses. Finally, we show that the overheads introduced by the skeleton abstraction layer are negligible. Paul Metzger, Murray Cole, Christian Fensch, Marco Aldinucci, Enrico Bini |
RTAS | 3 |
| 2018 | NUMA Optimizations for Algorithmic Skeletons
Paul Metzger, Murray Cole, Christian Fensch |
Euro-Par | 3 |
| 2015 | Generating performance portable code using rewrite rules: from high-level functional expressions to high-performance OpenCL codeabstractComputers have become increasingly complex with the emergence of heterogeneous hardware combining multicore CPUs and GPUs. These parallel systems exhibit tremendous computational power at the cost of increased programming effort resulting in a tension between performance and code portability. Typically, code is either tuned in a low-level imperative language using hardware-specific optimizations to achieve maximum performance or is written in a high-level, possibly functional, language to achieve portability at the expense of performance. We propose a novel approach aiming to combine high-level programming, code portability, and high-performance. Starting from a high-level functional expression we apply a simple set of rewrite rules to transform it into a low-level functional representation, close to the OpenCL programming model, from which OpenCL code is generated. Our rewrite rules define a space of possible implementations which we automatically explore to generate hardware-specific OpenCL implementations. We formalize our system with a core dependently-typed lambda-calculus along with a denotational semantics which we use to prove the correctness of the rewrite rules. We test our design in practice by implementing a compiler which generates high performance imperative OpenCL code. Our experiments show that we can automatically derive hardware-specific implementations from simple functional high-level algorithmic expressions offering performance on a par with highly tuned code for multicore CPUs and GPUs written by experts. Michel Steuwer, Christian Fensch, Sam Lindley, Christophe Dubach |
ICFP | 2 |
| 2013 | General chairs' welcome messageabstractWe welcome you to the 22nd International Conference on Parallel Architectures and Compilation Techniques - PACT'13 at the Surgeons' Hall, Edinburgh, Scotland, UK. Michael F. P. O'Boyle, Christian Fensch |
PACT | 2 |
| 2013 | MaSiF: Machine learning guided auto-tuning of parallel skeletonsabstractParallel skeletons provide a predefined set of parallel templates that can be combined, nested and parameterized with sequential code to produce complex parallel programs. The implementation of each skeleton includes parameters that have a significant effect on performance; so carefully tuning them is vital. The optimization space formed by these parameters is complex, non-linear, exhibits multiple local optima and is program dependent. This makes manual tuning impractical. Effective automatic tuning is therefore essential for the performance of parallel skeleton programs. In this paper we present MaSiF, a novel tool to auto-tune the parallelization parameters of skeleton parallel programs. It reduces the size of the parameter space using a combination of machine learning, via nearest neighbor classification, and linear dimensionality reduction using Principal Components Analysis. To auto-tune a new program, a set of program features is determined statically and used to compute k nearest neighbors from a set of training programs. Previously collected performance data for the nearest neighbors is used to reduce the size of the search space using Principal Components Analysis. Good parallelization parameters are found quickly by searching this smaller search space. We evaluate MaSiF for two existing parallel frameworks: Threading Building Blocks and FastFlow. MaSiF achieves 89% of the performance of the oracle on average. This exploration requires just 45 parameters values on average, which is ~0.05% of the optimization space. In contrast, a state-of-the-art machine learning approach achieves 51%. MaSiF achieves an average speedup of 1.32× over parallelization parameters chosen by human experts. Alexander Collins, Christian Fensch, Hugh Leather, Murray Cole |
HiPC | 2 |
| 2013 | PARTANS: An autotuning framework for stencil computation on multi-GPU systemsabstractGPGPUs are a powerful and energy-efficient solution for many problems. For higher performance or larger problems, it is necessary to distribute the problem across multiple GPUs, increasing the already high programming complexity. In this article, we focus on abstracting the complexity of multi-GPU programming for stencil computation. We show that the best strategy depends not only on the stencil operator, problem size, and GPU, but also on the PCI express layout. This adds nonuniform characteristics to a seemingly homogeneous setup, causing up to 23% performance loss. We address this issue with an autotuner that optimizes the distribution across multiple GPUs. Thibaut Lutz, Christian Fensch, Murray Cole |
ACM Trans. Archit. Code Optim. | 2 |
| 2013 | Designing a Physical Locality Aware Coherence Protocol for Chip-MultiprocessorsabstractMany-core architectures provide an efficient way of harnessing the growing numbers of transistors available. However, energy and latency costs of communication increasingly limit the parallel programs running on these platforms. Existing designs provide a functional communication layer, but not necessarily the most efficient solution. Due to power limitations, efficiency is now a primary concern that motivates us to look again at cache coherence. First, we analyze the communication behavior of parallel applications. The observed sharing patterns reveal considerable locality of shared data accesses between threads with consecutive IDs. This pattern corresponds to strong physical locality between adjacent cores in a chip-multiprocessor (CMP). This paper explores the design of Proximity Coherence: a novel scheme in which L1 load misses are optimistically forwarded to nearby caches via new dedicated links. We exploit these patterns and improve the efficiency of communication. The results show that careful analysis leads to the design of a more efficient coherence protocol. The protocol reduces the latency of load misses by up to 33 percent (17 percent, on average), improving overall execution time by up to 13 percent. Furthermore, it also reduces network-on-chip traffic by 19 percent and energy consumption by up to 30 percent. Christian Fensch, Nick Barrow-Williams, Robert Mullins 0001, Simon W. Moore |
IEEE Trans. Computers | 1 |
| 2012 | MaSiF: machine learning guided auto-tuning of parallel skeletonsabstractWe present MaSiF, a novel tool to auto-tune parallelization parameters of skeleton parallel programs. It reduces the cost of searching the optimization space using a combination of machine learning and linear dimensionality reduction. To auto-tune a new program, a set of program features is determined statically and used to compute k nearest neighbors from a set of training programs. Previously collected performance data for the nearest neighbors is used to reduce the size of the search space using Principal Components Analysis. This results in a set of eigenvectors that are used to search the reduced space. Alexander Collins, Christian Fensch, Hugh Leather |
PACT | 2 |
| 2010 | Proximity coherence for chip multiprocessorsabstractMany-core architectures provide an efficient way of harnessing the increasing numbers of transistors available in modern fabrication processes. While they are similar to multi-node systems, they exhibit different communication latency and storage characteristics, providing new design opportunities that were previously not feasible. Traditional cache coherence protocols, although often used in many-core designs, have been developed in the context of multinode systems. As such, they seldom take advantage of the new possibilities that many-core architectures offer. Nick Barrow-Williams, Christian Fensch, Simon W. Moore |
PACT | 2 |
| 2008 | An OS-based alternative to full hardware coherence on tiled CMPsabstractThe interconnect mechanisms (shared bus or crossbar) used in current chip-multiprocessors (CMPs) are expected to become a bottleneck that prevents these architectures from scaling to a larger number of cores. Tiled CMPs offer better scalability by integrating relatively simple cores with a lightweight point-to-point interconnect. However, such interconnects make snooping impractical and, thus, require alternative solutions to cache coherence. This paper proposes a novel, cost-effective mechanism to support shared-memory parallel applications that forgoes hardware maintained cache coherence. The proposed mechanism is based on the key ideas that mapping of lines to physical caches is done at the page level with OS support and that hardware supports remote cache accesses. It allows only some controlled migration and replication of data and provides a sufficient degree of flexibility in the mapping through an extra level of indirection between virtual pages and physical tiles. We evaluate the proposed tiled CMP architecture on the Splash-2 scientific benchmarks and ALPBench multimedia benchmarks against one with private caches and a distributed directory cache coherence mechanism. Experimental results show that the performance degradation is as little as 0%, and 16% on average, compared to the cache coherent architecture across all benchmarks for 16 and 32 processors. Christian Fensch, Marcelo Cintra |
HPCA | 1 |