VLDB 2026 Research / reviewers in the wild / expert
Matteo Frigo
dblp:41/6052
· DBLP profile ↗
17ranked-venue papers
12as first author
0since 2021 · last 2020
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 5 first-authorTheory of computation · 3 · 3 first-authorSoftware engineering, systems software and programming languages · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-author
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
7 papers |
Storage systems · 55% Distributed systems · 22% Cloud and datacenter computing · 9% | |
| Theoretical computer science
2 papers |
Algorithms and data structures · 54% Computational complexity · 46% |
Topics — the 24 heaviest of 25, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
consensus |
0.4 | 1 | 2020 | Everyone Loves File: Oracle File Storage Service · ACM Trans. Storage 2020 |
Storage systems › file systems
distributed file system |
0.4 | 1 | 2020 | Everyone Loves File: Oracle File Storage Service · ACM Trans. Storage 2020 |
Storage systems
file systems |
0.4 | 1 | 2020 | Everyone Loves File: Oracle File Storage Service · ACM Trans. Storage 2020 |
Distributed systems › consensus
paxos |
0.4 | 1 | 2020 | Everyone Loves File: Oracle File Storage Service · ACM Trans. Storage 2020 |
Storage systems › file systems
snapshot |
0.4 | 1 | 2020 | Everyone Loves File: Oracle File Storage Service · ACM Trans. Storage 2020 |
Storage systems › file systems › distributed file system
cloud file system |
0.4 | 1 | 2019 | Everyone Loves File: File Storage Service (FSS) in Oracle Cloud Infrastructure · USENIX ATC 2019 |
Cloud and datacenter computing
cloud storage |
0.4 | 1 | 2019 | Everyone Loves File: File Storage Service (FSS) in Oracle Cloud Infrastructure · USENIX ATC 2019 |
Storage systems › distributed storage
distributed file storage |
0.4 | 1 | 2019 | Everyone Loves File: File Storage Service (FSS) in Oracle Cloud Infrastructure · USENIX ATC 2019 |
Memory systems › memory hierarchy
cache hierarchy |
0.2 | 2 | 2012 | Cache-Oblivious Algorithms · ACM Trans. Algorithms 2012 Cache-Oblivious Algorithms · FOCS 1999 |
Memory systems › cache
cache-oblivious algorithms |
0.2 | 2 | 2012 | Cache-Oblivious Algorithms · ACM Trans. Algorithms 2012 Cache-Oblivious Algorithms · FOCS 1999 |
Computational complexity › algebraic complexity
matrix multiplication |
0.1 | 1 | 2012 | Cache-Oblivious Algorithms · ACM Trans. Algorithms 2012 |
Algorithms and data structures › sequence algorithms
sorting |
0.1 | 1 | 2012 | Cache-Oblivious Algorithms · ACM Trans. Algorithms 2012 |
Compilers and program optimization
code generation |
0.1 | 2 | 2005 | The Design and Implementation of FFTW3 · Proc. IEEE 2005 A Fast Fourier Transform Compiler · PLDI 1999 |
High-performance computing
fast fourier transform |
0.1 | 2 | 2005 | The Design and Implementation of FFTW3 · Proc. IEEE 2005 A Fast Fourier Transform Compiler · PLDI 1999 |
Parallel and multicore computing › data parallelism
SIMD vectorization |
0.1 | 1 | 2005 | The Design and Implementation of FFTW3 · Proc. IEEE 2005 |
Performance modeling and evaluation
cache model |
0.0 | 1 | 2012 | Cache-Oblivious Algorithms · ACM Trans. Algorithms 2012 |
Compilers and program optimization
domain-specific compilation |
0.0 | 1 | 1999 | A Fast Fourier Transform Compiler · PLDI 1999 |
Memory systems
memory hierarchy |
0.0 | 1 | 1999 | Cache-Oblivious Algorithms · FOCS 1999 |
Algorithms and data structures › memory hierarchy
external memory algorithms |
0.0 | 1 | 1999 | Cache-Oblivious Algorithms · FOCS 1999 |
Compilers and program optimization › compiler construction
compilation strategies |
0.0 | 1 | 1998 | The Implementation of the Cilk-5 Multithreaded Language · PLDI 1998 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 1998 | The Implementation of the Cilk-5 Multithreaded Language · PLDI 1998 |
Parallel and multicore computing
parallel programming runtimes |
0.0 | 1 | 1998 | The Implementation of the Cilk-5 Multithreaded Language · PLDI 1998 |
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing |
0.0 | 1 | 1998 | The Implementation of the Cilk-5 Multithreaded Language · PLDI 1998 |
Concurrent programming › synchronization
mutual exclusion |
0.0 | 1 | 1998 | The Implementation of the Cilk-5 Multithreaded Language · PLDI 1998 |
Methods — techniques the papers use, named apart from their topics
versioned key-value pairs · 0.4paxos · 0.4nonblocking lock-free programming · 0.4ideal-cache model · 0.3LRU replacement · 0.3empirical evaluation · 0.0asymptotic analysis · 0.0work-stealing scheduling · 0.0dijkstra-like mutual-exclusion protocol · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | A unified framework for multimodal structure-function mapping based on eigenmodes
Samuel Deslauriers-Gauthier, Mauro Zucchelli, Matteo Frigo, Rachid Deriche |
Medical Image Anal. | 3 |
| 2020 | Everyone Loves File: Oracle File Storage ServiceabstractOracle File Storage Service (FSS) is an elastic filesystem provided as a managed NFS service. A pipelined Paxos implementation underpins a scalable block store that provides linearizable multipage limited-size transactions. Above the block store, a scalable B-tree holds filesystem metadata and provides linearizable multikey limited-size transactions. Self-validating B-tree nodes and housekeeping operations performed as separate transactions allow each key in a B-tree transaction to require only one page in the underlying block transaction. The filesystem provides snapshots by using versioned key-value pairs. The system is programmed using a nonblocking lock-free programming style. Presentation servers maintain no persistent local state making them scalable and easy to failover. A non-scalable Paxos-replicated hash table holds configuration information required to bootstrap the system. An additional B-tree provides conversational multi-key minitransactions for control-plane information. The system throughput can be predicted by comparing an estimate of the network bandwidth needed for replication to the network bandwidth provided by the hardware. Latency on an unloaded system is about 4 times higher than a Linux NFS server backed by NVMe, reflecting the cost of replication. FSS has been in production since January 2018 and holds tens of thousands of customer file systems comprising many petabytes of data. Bradley C. Kuszmaul, Matteo Frigo, Justin Mazzola Paluska, Alexander (Sasha) Sandler |
ACM Trans. Storage | 2 |
| 2019 | Everyone Loves File: File Storage Service (FSS) in Oracle Cloud Infrastructure
Bradley C. Kuszmaul, Matteo Frigo, Justin Mazzola Paluska, Alexander (Sasha) Sandler |
USENIX ATC | 2 |
| 2012 | Cache-Oblivious AlgorithmsabstractThis article presents asymptotically optimal algorithms for rectangular matrix transpose, fast Fourier transform (FFT), and sorting on computers with multiple levels of caching. Unlike previous optimal algorithms, these algorithms are cache oblivious : no variables dependent on hardware parameters, such as cache size and cache-line length, need to be tuned to achieve optimality. Nevertheless, these algorithms use an optimal amount of work and move data optimally among multiple levels of cache. For a cache with size M and cache-line length B where M = Ω ( B 2 ), the number of cache misses for an m × n matrix transpose is Θ (1 + mn / B ). The number of cache misses for either an n -point FFT or the sorting of n numbers is Θ (1 + ( n / B )(1 + log M n )). We also give a Θ ( mnp )-work algorithm to multiply an m × n matrix by an n × p matrix that incurs Θ (1 + ( mn + np + mp )/ B + mnp / B √ M ) cache faults. We introduce an “ideal-cache” model to analyze our algorithms. We prove that an optimal cache-oblivious algorithm designed for two levels of memory is also optimal for multiple levels and that the assumption of optimal replacement in the ideal-cache model can be simulated efficiently by LRU replacement. We offer empirical evidence that cache-oblivious algorithms perform well in practice. Matteo Frigo, Charles E. Leiserson, Harald Prokop, Sridhar Ramachandran |
ACM Trans. Algorithms | 1 |
| 2009 | Parallel sparse matrix-vector and matrix-transpose-vector multiplication using compressed sparse blocksabstractThis paper introduces a storage format for sparse matrices, called compressed sparse blocks (CSB), which allows both Ax and A,x to be computed efficiently in parallel, where A is an n×n sparse matrix with nnzen nonzeros and x is a dense n-vector. Our algorithms use Θ(nnz) work (serial running time) and Θ(√nlgn) span (critical-path length), yielding a parallelism of Θ(nnz/√nlgn), which is amply high for virtually any large matrix. The storage requirement for CSB is the same as that for the more-standard compressed-sparse-rows (CSR) format, for which computing Ax in parallel is easy but A,x is difficult. Benchmark results indicate that on one processor, the CSB algorithms for Ax and A,x run just as fast as the CSR algorithm for Ax, but the CSB algorithms also scale up linearly with processors until limited by off-chip memory bandwidth. Aydin Buluç, Jeremy T. Fineman, Matteo Frigo, John R. Gilbert, Charles E. Leiserson |
SPAA | 3 |
| 2009 | Reducers and other Cilk++ hyperobjectsabstractThis paper introduces hyperobjects, a linguistic mechanism that allows different branches of a multithreaded program to maintain coordinated local views of the same nonlocal variable. We have identified three kinds of hyperobjects that seem to be useful -- reducers, holders, and splitters -- and we have implemented reducers and holders in Cilk++, a set of extensions to the C++ programming language that enables "dynamic" multithreaded programming in the style of MIT Cilk. We analyze a randomized locking methodology for reducers and show that a work-stealing scheduler can support reducers without incurring significant overhead. Matteo Frigo, Pablo Halpern, Charles E. Leiserson, Stephen Lewin-Berlin |
SPAA | 1 |
| 2009 | The Cache Complexity of Multithreaded Cache Oblivious Algorithms
Matteo Frigo, Volker Strumpen |
Theory Comput. Syst. | 1 |
| 2007 | The memory behavior of cache oblivious stencil computations
Matteo Frigo, Volker Strumpen |
J. Supercomput. | 1 |
| 2006 | The cache complexity of multithreaded cache oblivious algorithmsabstractWe present a technique for analyzing the number of cache misses incurred by multithreaded cache oblivious algorithms on an idealized parallel machine in which each processor has a private cache. We specialize this technique to computations executed by the Cilk work-stealing scheduler on a machine with dag-consistent shared memory. We show that a multithreaded cache oblivious matrix multiplication incurs O(n3/√Z + (Pn)1/3n2) cache misses when executed by the Cilk scheduler on a machine with P processors, each with a cache of size Z, with high probability. This bound is tighter than previously published bounds. We also present a new multithreaded cache oblivious algorithm for 1D stencil computations, which incurs O(n2/Z+n+√Pn3+ε) cache misses with high probability. Matteo Frigo, Volker Strumpen |
SPAA | 1 |
| 2005 | Cache oblivious stencil computationsabstractWe present a cache oblivious algorithm for stencil computations, which arise for example in finite-difference methods. Our algorithm applies to arbitrary stencils in n-dimensional spaces. On an "ideal cache" of size Z, our algorithm saves a factor of Θ(Z1/n) cache misses compared to a naive algorithm, and it exploits temporal locality optimally throughout the entire memory hierarchy. Matteo Frigo, Volker Strumpen |
ICS | 1 |
| 2005 | The Design and Implementation of FFTW3abstractFFTW is an implementation of the discrete Fourier transform (DFT) that adapts to the hardware in order to maximize performance. This paper shows that such an approach can yield an implementation that is competitive with hand-optimized libraries, and describes the software structure that makes our current FFTW3 version flexible and adaptive. We further discuss a new algorithm for real-data DFTs of prime size, a new way of implementing DFTs by means of machine-specific single-instruction, multiple-data (SIMD) instructions, and how a special-purpose compiler can derive optimized implementations of the discrete cosine and sine transforms automatically from a DFT algorithm. Matteo Frigo, Steven G. Johnson |
Proc. IEEE | 1 |
| 1999 | Cache-Oblivious AlgorithmsabstractThis paper presents asymptotically optimal algorithms for rectangular matrix transpose, FFT, and sorting on computers with multiple levels of caching. Unlike previous optimal algorithms, these algorithms are cache oblivious: no variables dependent on hardware parameters, such as cache size and cache-line length, need to be tuned to achieve optimality. Nevertheless, these algorithms use an optimal amount of work and move data optimally among multiple levels of cache. For a cache with size Z and cache-line length L where Z=/spl Omega/(L/sup 2/) the number of cache misses for an m/spl times/n matrix transpose is /spl Theta/(1+mn/L). The number of cache misses for either an n-point FFT or the sorting of n numbers is /spl Theta/(1+(n/L)(1+log/sub Z/n)). We also give an /spl Theta/(mnp)-work algorithm to multiply an m/spl times/n matrix by an n/spl times/p matrix that incurs /spl Theta/(1+(mn+np+mp)/L+mnp/L/spl radic/Z) cache faults. We introduce an "ideal-cache" model to analyze our algorithms. We prove that an optimal cache-oblivious algorithm designed for two levels of memory is also optimal for multiple levels and that the assumption of optimal replacement in the ideal-cache model. Can be simulated efficiently by LRU replacement. We also provide preliminary empirical results on the effectiveness of cache-oblivious algorithms in practice. Matteo Frigo, Charles E. Leiserson, Harald Prokop, Sridhar Ramachandran |
FOCS | 1 |
| 1999 | A Fast Fourier Transform CompilerabstractThe FFTW library for computing the discrete Fourier transform (DFT) has gained a wide acceptance in both academia and industry, because it provides excellent performance on a variety of machines (even competitive with or faster than equivalent libraries supplied by vendors). In FFTW, most of the performance-critical code was generated automatically by a special-purpose compiler, called genfft, that outputs C code. Written in Objective Caml, genfft can produce DFT programs for any input length, and it can specialize the DFT program for the common case where the input data are real instead of complex. Unexpectedly, genfft "discovered" algorithms that were previously unknown, and it was able to reduce the arithmetic complexity of some other existing algorithms. This paper describes the internals of this special-purpose compiler in some detail, and it argues that a specialized compiler is a valuable tool. Matteo Frigo |
PLDI | 1 |
| 1998 | FFTW: an adaptive software architecture for the FFTabstractFFT literature has been mostly concerned with minimizing the number of floating-point operations performed by an algorithm. Unfortunately, on present-day microprocessors this measure is far less important than it used to be, and interactions with the processor pipeline and the memory hierarchy have a larger impact on performance. Consequently, one must know the details of a computer architecture in order to design a fast algorithm. In this paper, we propose an adaptive FFT program that tunes the computation automatically for any particular hardware. We compared our program, called FFTW, with over 40 implementations of the FFT on 7 machines. Our tests show that FFTW's self-optimizing approach usually yields significantly better performance than all other publicly available software. FFTW also compares favorably with machine-specific, vendor-optimized libraries. Matteo Frigo, Steven G. Johnson |
ICASSP | 1 |
| 1998 | The Implementation of the Cilk-5 Multithreaded LanguageabstractThe fifth release of the multithreaded language Cilk uses a provably good "work-stealing" scheduling algorithm similar to the first system, but the language has been completely redesigned and the runtime system completely reengineered. The efficiency of the new implementation was aided by a clear strategy that arose from a theoretical analysis of the scheduling algorithm: concentrate on minimizing overheads that contribute to the work, even at the expense of overheads that contribute to the critical path. Although it may seem counterintuitive to move overheads onto the critical path, this "work-first" principle has led to a portable Cilk-5 implementation in which the typical cost of spawning a parallel thread is only between 2 and 6 times the cost of a C function call on a variety of contemporary machines. Many Cilk programs run on one processor with virtually no degradation compared to equivalent C programs. This paper describes how the work-first principle was exploited in the design of Cilk-5's compiler and its runtime system. In particular, we present Cilk-5's novel "two-clone" compilation strategy and its Dijkstra-like mutual-exclusion protocol for implementing the ready deque in the work-stealing scheduler. Matteo Frigo, Charles E. Leiserson, Keith H. Randall |
PLDI | 1 |
| 1998 | Computation-Centric Memory ModelsabstractWe present a computation-centric theory of memory models.Unlike traditional processor-centric models, computation-centric models focus on the logical dependencies among instructions rather than the processor that happens to execute them.This theory allows us to define what a memory model is, and to investigate abstract properties of memory models.In particular, we focus on constructibility, which is a necessary property of those models that can be implemented exactly by an online algorithm.For a nonconstructible model, we show that there is a natural way to define the constructible version of that model.We explore the implications of constructibility in the context of dag-consistent memory models, which do not require that memory locations be serialized.The strongest dag-consistent model, called NN-dag consistency, is not constructible.However, its constructible version is equivalent to a model that we call locution consistency, in which each location is serialized independently. Matteo Frigo, Victor Luchangco |
SPAA | 1 |
| 1996 | An Analysis of Dag-Consistent Distributed Shared-Memory AlgorithmsabstractIn this paper, we analyze the performance of parallel mttltithreaded algorithms that use dag-consistent distributed shared memory.Specifically, we analyze execution time, page faults, and space requirements for multithreaded algorithms executed by a workstealing thread scheduler and the BACKER coherence algorithm for maintaining dag consistency.We prove that if the accesses to the backing store are random and independent (the BACKER algorithm actually uses hashing), then the expected execution time of a "fully strict" multithreaded computation on P processors, each with an LRU cache of C pages, is O(T1 (C)/P+ ntC7"), where T1(C) is the total work of the computation including page faults, L is its criticalpath length excluding page faults, and m is the minimum page transfer time.As a corollary to this theorem, we show that the expected number of page faults incurred by a computation executed on P pro- Robert D. Blumofe, Matteo Frigo, Christopher F. Joerg, Charles E. Leiserson, Keith H. Randall |
SPAA | 2 |