Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
Modern scale-up analytical systems, from single servers to rack-scale deployments, face increasing complexity in data movement across their storage hierarchies, NUMA nodes, and high-speed interconnects like CXL and PCIe. The performance gap between optimal and suboptimal data-movement strategies can be substantial, as the best approach depends on complex interactions between hardware capabilities (storage bandwidth, interconnect speeds, near-storage compute) and workload characteristics such as query selectivity, access patterns, and data volume. While existing systems employ datamovement strategies fixed at query planning time, the growing diversity of storage technologies, memory topologies, and analytical workloads makes such static approaches brittle, demanding adaptive runtime selection. We propose Throughput-Guided Data Movement that uses end-to-end operator-pipeline throughput as the adaptation signal to select how and where bytes are realized at query runtime. Throughput implicitly captures the interplay between hardware and query properties without an explicit performance model for data movement. We integrate throughput-guided data movement into a leaf operator, Adaptive Scan (A-Scan), that encapsulates data-movement within the operator and selects among them at runtime to maximize observed end-to-end throughput. A-Scan keeps the query plan fixed and presents the same rowset interface to its parent operator while internally controlling how and where data are realized across nodes and memories. We validate A-Scan by implementing it in a push-based, code-generating analytical engine, showing that it approaches the per-query best static choice across tested configurations and interference conditions, without hardware-specific tuning.