Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Olli Saarikivi

dblp:117/9611 · DBLP profile ↗
← Back
21ranked-venue papers
5as first author
10since 2021 · last 2026
0000-0001-7596-4734ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 15 · 4 first-author · 5 since 2021Systems, architecture and hardware · 9 · 1 first-author · 8 since 2021Computer networks · 1 · 1 since 2021Theory of computation · 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
8 papers
Distributed systems · 34% High-performance computing · 27% GPUs and heterogeneous computing · 18%
Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 64% Programming languages and type systems · 21% Software testing · 9%
Theoretical computer science
3 papers
Algorithms and data structures · 60% Automata and formal languages · 40%
Network and information security
2 papers
Cryptographic primitives and cryptanalysis · 100%
Artificial intelligence
2 papers
Efficient and distributed learning · 85% Deep learning architectures and training · 15%

Topics — the 30 heaviest of 36, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
High-performance computing
collective communication
2.842026
MSCCL++: Rethinking GPU Communication Abstractions for AI Inference · ASPLOS (2) 2026
TACCL: Guiding Collective Algorithm Synthesis using Communication Sketches · NSDI 2023
MSCCLang: Microsoft Collective Communication Language · ASPLOS (2) 2023
Parallel and multicore computing › parallel computing › parallel machine learning
distributed training and inference
1.522024
Efficient Schedule Construction for Distributed Execution of Large DNN Models · IEEE Trans. Parallel Distributed Syst. 2024
Tessel: Boosting Distributed Execution of Large DNN Models via Flexible Schedule Search · HPCA 2024
GPUs and heterogeneous computing
GPU communication
1.012026
MSCCL++: Rethinking GPU Communication Abstractions for AI Inference · ASPLOS (2) 2026
Cryptographic primitives and cryptanalysis › homomorphic encryption
fully homomorphic encryption
0.822020
EVA: an encrypted vector arithmetic language and compiler for efficient homomorphic computation · PLDI 2020
CHET: an optimizing compiler for fully-homomorphic neural-network inferencing · PLDI 2019
Cryptographic primitives and cryptanalysis
homomorphic encryption
0.822020
EVA: an encrypted vector arithmetic language and compiler for efficient homomorphic computation · PLDI 2020
CHET: an optimizing compiler for fully-homomorphic neural-network inferencing · PLDI 2019
Distributed systems › distributed machine learning
distributed deep learning
0.812024
Efficient Schedule Construction for Distributed Execution of Large DNN Models · IEEE Trans. Parallel Distributed Syst. 2024
Distributed systems › distributed scheduling
operator placement
0.812024
Tessel: Boosting Distributed Execution of Large DNN Models via Flexible Schedule Search · HPCA 2024
Machine learning › Efficient and distributed learning
distributed training
0.712023
MSCCLang: Microsoft Collective Communication Language · ASPLOS (2) 2023
Machine learning › Efficient and distributed learning › distributed training › parallelization › parallel training
multi-GPU training
0.712023
MSCCLang: Microsoft Collective Communication Language · ASPLOS (2) 2023
Compilers and program optimization
parsing
0.712023
Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics · Proc. ACM Program. Lang. 2023
Algorithms and data structures › sequence algorithms
string algorithms
0.712023
Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics · Proc. ACM Program. Lang. 2023
Distributed systems › communication optimization
communication-computation overlap
0.612022
Breaking the computation and communication abstraction barrier in distributed machine learning workloads · ASPLOS 2022
Distributed systems
distributed machine learning
0.612022
Breaking the computation and communication abstraction barrier in distributed machine learning workloads · ASPLOS 2022
Compilers and program optimization
domain-specific compilation
0.412020
EVA: an encrypted vector arithmetic language and compiler for efficient homomorphic computation · PLDI 2020
Compilers and program optimization › domain-specific compilation
FHE compiler
0.412020
EVA: an encrypted vector arithmetic language and compiler for efficient homomorphic computation · PLDI 2020
Automata and formal languages › automata algorithms
determinization
0.412020
Regex matching with counting-set automata · Proc. ACM Program. Lang. 2020
Algorithms and data structures › sequence algorithms › string algorithms
string matching
0.412020
Regex matching with counting-set automata · Proc. ACM Program. Lang. 2020
Hardware accelerators and domain-specific architectures › machine learning accelerator
neural network accelerator
0.412019
CHET: an optimizing compiler for fully-homomorphic neural-network inferencing · PLDI 2019
Hardware accelerators and domain-specific architectures › machine learning accelerator
inference accelerator
0.312026
MSCCL++: Rethinking GPU Communication Abstractions for AI Inference · ASPLOS (2) 2026
Programming languages and type systems › language design
language constructs
0.312017
Fusing effectful comprehensions · PLDI 2017
Compilers and program optimization › loop transformation
loop fusion
0.312017
Fusing effectful comprehensions · PLDI 2017
Compilers and program optimization › loop transformation
traversal fusion
0.312017
Fusing effectful comprehensions · PLDI 2017
Programming languages and type systems
domain-specific languages
0.212023
MSCCLang: Microsoft Collective Communication Language · ASPLOS (2) 2023
Programming languages and type systems
language semantics
0.212023
Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics · Proc. ACM Program. Lang. 2023
Distributed systems
communication optimization
0.212023
TACCL: Guiding Collective Algorithm Synthesis using Communication Sketches · NSDI 2023
Distributed systems › distributed machine learning
distributed training
0.212022
Breaking the computation and communication abstraction barrier in distributed machine learning workloads · ASPLOS 2022
High-performance computing
performance optimization
0.212022
Breaking the computation and communication abstraction barrier in distributed machine learning workloads · ASPLOS 2022
Software testing
concurrency testing
0.112012
Using unfoldings in automated testing of multithreaded programs · ASE 2012
Program analysis › symbolic execution
dynamic symbolic execution
0.112012
Using unfoldings in automated testing of multithreaded programs · ASE 2012
Software testing › concurrency testing
multithreaded program testing
0.112012
Using unfoldings in automated testing of multithreaded programs · ASE 2012

Methods — techniques the papers use, named apart from their topics

schedule completion · 1.5repetend construction · 1.5regex rewrite system · 1.3derivative-based algorithm · 1.3low-level primitive interface · 1.0DSL for communication algorithms · 1.0vector arithmetic language · 0.9schedule search · 0.8repetend-based search · 0.8optimizing compilation · 0.8loop-carried state · 0.6kernel optimization · 0.6effectful comprehensions · 0.6computation-communication fusion · 0.6algorithm synthesis · 0.5determinization · 0.4antimirov-style translation · 0.4unfolding · 0.1
YearPublicationVenuePosition
2026 MSCCL++: Rethinking GPU Communication Abstractions for AI Inference
abstract
AI applications increasingly run on fast-evolving, heterogeneous hardware to maximize performance, but general-purpose libraries lag in supporting these features. Performance-minded programmers often build custom communication stacks that are fast but error-prone and non-portable. This paper introduces MSCCL++, a design methodology for developing high-performance, portable communication kernels. It provides (1) a low-level, performance-preserving primitive interface that exposes minimal hardware abstractions while hiding the complexities of synchronization and consistency, (2) a higher-level DSL for application developers to implement workload-specific communication algorithms, and (3) a library of efficient algorithms implementing the standard collective API, enabling adoption by users with minimal expertise. Compared to state-of-the-art baselines, MSCCL++ achieves geomean speedups of 1.7× (up to 5.4×) for collective communication and 1.2× (up to 1.38×) for AI inference workloads. MSCCL++ is in production of multiple AI services provided by Microsoft Azure, and has also been adopted by RCCL, the GPU collective communication library maintained by AMD. MSCCL++ is open source and available at https://github.com/microsoft/mscclpp. Our two years of experience with MSCCL++ suggests that its abstractions are robust, enabling support for new hardware features, such as multimem, within weeks of development.
Changho Hwang, Peng Cheng 0005, Roshan Dathathri, Abhinav Jangda, Saeed Maleki, Madan Musuvathi, Olli Saarikivi, Aashaka Shah, Ziyue Yang 0002, Binyang Li, Caio Rocha, Mahdieh Ghazimirsaeed, Sreevatsa Anantharamu
ASPLOS (2)7
2024 A Framework for Fine-Grained Synchronization of Dependent GPU Kernels
abstract
Machine Learning (ML) models execute several parallel computations including Generalized Matrix Multiplication, Convolution, Dropout, etc. These computations are commonly executed on Graphics Processing Units (GPUs), by dividing the computation into independent processing blocks, known as tiles. Since the number of tiles are usually higher than the execution units of a GPU, tiles are executed on all execution units in one or more waves. However, the number of tiles is not always a multiple of the number of execution units. Thus, tiles executed in the final wave can under-utilize the GPU. To address this issue, we present cuSync, a framework for synchronizing dependent kernels using a user-defined fine-grained synchronization policy to improve the GPU utilization. cuSync synchronizes tiles instead of kernels, which allows executing independent tiles of dependent kernels concurrently. We also present a compiler to generate diverse fine-grained synchronization policies based on dependencies between kernels. Our experiments found that synchronizing CUDA kernels using cuSync reduces the inference times of four popular ML models: MegatronLM GPT-3 by up to 15%, LLaMA by up to 14%, ResNet-38 by up to 22%, and VGG-19 by up to 16% over several batch sizes.
Abhinav Jangda, Saeed Maleki, Maryam Mehri Dehnavi, Madan Musuvathi, Olli Saarikivi
CGO5
2024 Tessel: Boosting Distributed Execution of Large DNN Models via Flexible Schedule Search
abstract
Increasingly complex and diverse deep neural network (DNN) models necessitate distributing the execution across multiple devices for training and inference tasks, and also require carefully planned schedules for performance. However, existing practices often rely on predefined schedules that may not fully exploit the benefits of emerging diverse model-aware operator placement strategies. Handcrafting high-efficiency schedules can be challenging due to the large and varying schedule space. This paper presents Tessel, an automated system that searches for efficient schedules for distributed DNN training and inference for diverse operator placement strategies. To reduce search costs, Tessel leverages the insight that the most efficient schedules often exhibit repetitive pattern (repetend) across different data inputs. This leads to a two-phase approach: repetend construction and schedule completion. By exploring schedules for various operator placement strategies, Tessel significantly improves both training and inference performance. Experiments with representative DNN models demonstrate that Tessel achieves up to 5.5 x training performance speedup and up to 38 % inference latency reduction.
Youshan Miao, Guanbin Xu, Cheng Li 0001, Olli Saarikivi, Saeed Maleki, Fan Yang 0024
HPCA5
2024 Efficient Schedule Construction for Distributed Execution of Large DNN Models
abstract
Increasingly complex and diverse deep neural network (DNN) models necessitate distributing the execution across multiple devices for training and inference tasks, and also require carefully planned schedules for performance. However, existing practices often rely on predefined schedules that may not fully exploit the benefits of emerging diverse model-aware operator placement strategies. Handcrafting high-efficiency schedules can be challenging due to the large and varying schedule space. This paper presents Tessel, an automated system that searches for efficient schedules for distributed DNN training and inference for diverse operator placement strategies. To reduce search costs, Tessel leverages the insight that the most efficient schedules often exhibit repetitive pattern (repetend) across different data inputs. This leads to a two-phase approach: repetend construction and schedule completion. By exploring schedules for various operator placement strategies, Tessel significantly improves both training and inference performance. Experiments with representative DNN models demonstrate that Tessel achieves up to 5.5× training performance speedup and up to 38% inference latency reduction.
Youshan Miao, Guanbin Xu, Cheng Li 0001, Olli Saarikivi, Saeed Maleki, Fan Yang 0024
IEEE Trans. Parallel Distributed Syst.5
2023 MSCCLang: Microsoft Collective Communication Language
abstract
Machine learning models with millions or billions of parameters are increasingly trained and served on large multi-GPU systems. As models grow in size and execute on more GPUs, collective communication becomes a bottleneck. Custom collective algorithms optimized for both particular network topologies and application-specific communication patterns can alleviate this bottleneck and help these applications scale. However, implementing correct and efficient custom algorithms is challenging.
Meghan Cowan, Saeed Maleki, Madan Musuvathi, Olli Saarikivi, Yifan Xiong 0001
ASPLOS (2)4
2023 TACCL: Guiding Collective Algorithm Synthesis using Communication Sketches
Aashaka Shah, Vijay Chidambaram, Meghan Cowan, Saeed Maleki, Madan Musuvathi, Todd Mytkowicz, Jacob Nelson 0001, Olli Saarikivi
NSDI8
2023 Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics
abstract
We develop a new derivative based theory and algorithm for nonbacktracking regex matching that supports anchors and counting, preserves backtracking semantics, and can be extended with lookarounds. The algorithm has been implemented as a new regex backend in .NET and was extensively tested as part of the formal release process of .NET7. We present a formal proof of the correctness of the algorithm, which we believe to be the first of its kind concerning industrial implementations of regex matchers. The paper describes the complete foundation, the matching algorithm, and key aspects of the implementation involving a regex rewrite system, as well as a comprehensive evaluation over industrial case studies and other regex engines.
Dan Moseley, Mario Nishio, Jose Perez Rodriguez, Olli Saarikivi, Stephen Toub, Margus Veanes, Tiki Wan, Eric Xu
Proc. ACM Program. Lang.4
2022 Breaking the computation and communication abstraction barrier in distributed machine learning workloads
abstract
Recent trends towards large machine learning models require both training and inference tasks to be distributed. Considering the huge cost of training these models, it is imperative to unlock optimizations in computation and communication to obtain best performance. However, the current logical separation between computation and communication kernels in machine learning frameworks misses optimization opportunities across this barrier. Breaking this abstraction can provide many optimizations to improve the performance of distributed workloads. However, manually applying these optimizations requires modifying the underlying computation and communication libraries for each scenario, which is both time consuming and error-prone.
Abhinav Jangda, Amir Hossein Nodehi Sabet, Saeed Maleki, Youshan Miao, Madan Musuvathi, Todd Mytkowicz, Olli Saarikivi
ASPLOS9
2021 Distributed Training of Embeddings using Graph Analytics
abstract
Many applications today, such as natural language processing, network and code analysis, rely on semantically embedding objects into low-dimensional fixed-length vectors. Such embeddings naturally provide a way to perform useful downstream tasks, such as identifying relations among objects and predicting objects for a given context. Unfortunately, training accurate embeddings is usually computationally intensive and requires processing large amounts of data. This paper presents a distributed training framework for a class of applications that use Skip-gram-like models to generate embeddings. We call this class Any2Vec and it includes Word2Vec (Gensim), and Vertex2Vec (DeepWalk and Node2Vec) among others. We first formulate Any2Vec training algorithm as a graph application. We then adapt the state-of-the-art distributed graph analytics framework, D-Galois, to support dynamic graph generation and re-partitioning, and incorporate novel communication optimizations. We show that on a cluster of 3248-core hosts our framework GraphAny2Vec matches the accuracy of the state-of-the-art shared-memory implementations of Word2Vec and Vertex2Vec, and gives geo-mean speedups of 12 x and 5 x respectively. Furthermore, GraphAny2Vec is on average 2 x faster than DMTK, the state-of-the-art distributed Word2Vec implementation, on 32 hosts while yielding much better accuracy.
Gurbinder Gill, Roshan Dathathri, Saeed Maleki, Madan Musuvathi, Todd Mytkowicz, Olli Saarikivi
IPDPS6
2021 Synthesizing optimal collective algorithms
abstract
Collective communication algorithms are an important component of distributed computation. Indeed, in the case of deep-learning, collective communication is the Amdahl's bottleneck of data-parallel training.
Zixian Cai, Zhengyang Liu 0003, Saeed Maleki, Madan Musuvathi, Todd Mytkowicz, Jacob Nelson 0001, Olli Saarikivi
PPoPP7
2020 EVA: an encrypted vector arithmetic language and compiler for efficient homomorphic computation
abstract
Fully-Homomorphic Encryption (FHE) offers powerful capabilities by enabling secure offloading of both storage and computation, and recent innovations in schemes and implementations have made it all the more attractive. At the same time, FHE is notoriously hard to use with a very constrained programming model, a very unusual performance profile, and many cryptographic constraints. Existing compilers for FHE either target simpler but less efficient FHE schemes or only support specific domains where they can rely on expert-provided high-level runtimes to hide complications.
Roshan Dathathri, Blagovesta Pirelli, Olli Saarikivi, Wei Dai 0007, Kim Laine, Madan Musuvathi
PLDI3
2020 Regex matching with counting-set automata
abstract
We propose a solution to the problem of efficient matching regular expressions (regexes) with bounded repetition, such as (ab){1,100}, using deterministic automata. For this, we introduce novel counting-set automata (CsAs) , automata with registers that can hold sets of bounded integers and can be manipulated by a limited portfolio of constant-time operations. We present an algorithm that compiles a large sub-class of regexes to deterministic CsAs. This includes (1) a novel Antimirov-style translation of regexes with counting to counting automata (CAs) , nondeterministic automata with bounded counters, and (2) our main technical contribution, a determinization of CAs that outputs CsAs. The main advantage of this workflow is that the size of the produced CsAs does not depend on the repetition bounds used in the regex (while the size of the DFA is exponential to them). Our experimental results confirm that deterministic CsAs produced from practical regexes with repetition are indeed vastly smaller than the corresponding DFAs. More importantly, our prototype matcher based on CsA simulation handles practical regexes with repetition regardless of sizes of counter bounds. It easily copes with regexes with repetition where state-of-the-art matchers struggle.
Lenka Turonová, Lukás Holík, Ondrej Lengál, Olli Saarikivi, Margus Veanes, Tomás Vojnar
Proc. ACM Program. Lang.4
2019 Succinct Determinisation of Counting Automata via Sphere Construction
Lukás Holík, Ondrej Lengál, Olli Saarikivi, Lenka Turonová, Margus Veanes, Tomás Vojnar
APLAS3
2019 CHET: an optimizing compiler for fully-homomorphic neural-network inferencing
abstract
Fully Homomorphic Encryption (FHE) refers to a set of encryption schemes that allow computations on encrypted data without requiring a secret key. Recent cryptographic advances have pushed FHE into the realm of practical applications. However, programming these applications remains a huge challenge, as it requires cryptographic domain expertise to ensure correctness, security, and performance.
Roshan Dathathri, Olli Saarikivi, Hao Chen 0030, Kim Laine, Kristin E. Lauter, Saeed Maleki, Madan Musuvathi, Todd Mytkowicz
PLDI2
2019 Symbolic Regex Matcher
abstract
Symbolic regex matcher is a new open source .NET regular expression matching tool and match generator in the Microsoft Automata framework. It is based on the .NET regex parser in combination with a set based representation of character classes. The main feature of the tool is that the core matching algorithms are based on symbolic derivatives that support extended regular expression operations such as intersection and complement and also support a large set of commonly used features such as bounded loop quantifiers. The particularly useful features of the tool are that it supports full UTF16 encoded strings, the match generation is backtracking free, thread safe, and parallelizes with low overhead in multithreaded applications. We discuss the main design decisions behind the tool, explain the core algorithmic ideas and how the tool works, discuss some practical usage scenarios, and compare it to existing state of the art.
Olli Saarikivi, Margus Veanes, Tiki Wan, Eric Xu
TACAS (1)1
2017 Minimization of Symbolic Transducers
Olli Saarikivi, Margus Veanes
CAV (2)1
2017 Fusing effectful comprehensions
abstract
List comprehensions provide a powerful abstraction mechanism for expressing computations over ordered collections of data declaratively without having to use explicit iteration constructs. This paper puts forth effectful comprehensions as an elegant way to describe list comprehensions that incorporate loop-carried state. This is motivated by operations such as compression/decompression and serialization/deserialization that are common in log/data processing pipelines and require loop-carried state when processing an input stream of data.
Olli Saarikivi, Margus Veanes, Todd Mytkowicz, Madan Musuvathi
PLDI1
2017 Minimizing Test Suites with Unfoldings of Multithreaded Programs
abstract
This article focuses on computing minimal test suites for multithreaded programs. Based on previous work on test case generation for multithreaded programs using unfoldings, this article shows how this unfolding can be used to generate minimal test suites covering all local states of the program. Generating such minimal test suites is shown to be NP-complete in the size of the unfolding. We propose an SMT encoding for this problem and two methods based on heuristics which only approximate the solution, but scale better in practice. Finally, we apply our methods to compute the minimal test suites for several benchmarks.
Olli Saarikivi, Hernán Ponce de León, Kari Kähkönen, Keijo Heljanko, Javier Esparza
ACM Trans. Embed. Comput. Syst.1
2016 LCTD: Tests-Guided Proofs for C Programs on LLVM - (Competition Contribution)
Olli Saarikivi, Keijo Heljanko
TACAS1
2015 Unfolding based automated testing of multithreaded programs
Kari Kähkönen, Olli Saarikivi, Keijo Heljanko
Autom. Softw. Eng.2
2012 Using unfoldings in automated testing of multithreaded programs
abstract
In multithreaded programs both environment input data and the nondeterministic interleavings of concurrent events can affect the behavior of the program. One approach to systematically explore the nondeterminism caused by input data is dynamic symbolic execution. For testing multithreaded programs we present a new approach that combines dynamic symbolic execution with unfoldings, a method originally developed for Petri nets but also applied to many other models of concurrency. We provide an experimental comparison of our new approach with existing algorithms combining dynamic symbolic execution and partial-order reductions and show that the new algorithm can explore the reachable control states of each thread with a significantly smaller number of test runs. In some cases the reduction to the number of test runs can be even exponential allowing programs with long test executions or hard-to-solve constrains generated by symbolic execution to be tested more efficiently.
Kari Kähkönen, Olli Saarikivi, Keijo Heljanko
ASE2