
The Concurrent and Resilient Systems Lab (CORES) is a research lab, led by Prof. Michal Friedman, in the Systems Group of the Department of Computer Science (D-INFK) at ETH Zurich. Our research is shaped by the new hardware era, driving the next generation of computing through the development of fundamental building blocks for modern systems. By leveraging software and hardware co-design, we build efficient, correct, and resilient concurrent algorithms, data structures, and systems that unlock the full potential of emerging technologies.
Projects
Disaggregated Memory
Our group investigates coherent and non-coherent disaggregated memory, focusing on how technologies like Compute Express Link (CXL) enable memory sharing across multiple nodes. We explore the challenges of maintaining data consistency and performance when accessing remote memory pools. Our research aims to understand CXL's characteristics, develop new programming models, and design efficient data structures and synchronization primitives. This work will guide the effective utilization of disaggregated memory in future data centers and high-performance computing environments.
Memory Management Across Complex Memory Hierarchies
Modern systems feature increasingly complex memory tiers, posing challenges in data allocation and management. Our research explores how to allocate data across these tiers based on program-specific access patterns, identifying the optimal placement and ordering to maximize performance. We investigate the right abstractions to simplify this process for developers, and techniques for effective memory compaction to ensure efficient use of available resources
Fault Tolerance for large-scale Applications
Our group investigates fault tolerance for large-scale applications, focusing on how new memory technologies and cheaper data persistence affect data management. Our work focuses on modeling emerging memory and storage technologies to better understand their behavior under different workloads and usage scenarios and introducing new instructions, hardware, and software techniques to support durable, consistent, and performant systems. This allows us to design and implement solutions with various levels of persistence guarantees that ensure data remains reliably stored across crashes, and unexpected failures.
Accelerating Garbage Collection
We explore novel techniques to accelerate garbage collection (GC), aiming to reduce pause times, minimize overhead, and improve overall application performance. By rethinking traditional GC strategies and leveraging modern hardware and workload characteristics we aim to accelerate the memory management major overhead for today’s demanding systems.
Energy Friendly Systems
Our group investigates energy-friendly systems, aiming to build more environmentally sustainable computing solutions. We focus on measuring and understanding energy consumption within database systems and cloud services to identify key impactful components. By analyzing the trade-offs between energy and performance, and how data structures, layouts, and technology choices affect overall power usage, we seek to develop guidelines and innovations for constructing greener, more resource-efficient systems.