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.

Justin Kopinsky

dblp:146/0480 · DBLP profile ↗
← Back
10ranked-venue papers
0as first author
0since 2021 · last 2020
0000-0003-2062-0998ORCID · corroborated

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

Systems, architecture and hardware · 6Theory of computation · 2Artificial intelligence and machine learning · 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.

Artificial intelligence
1 paper
Efficient and distributed learning · 75% 3D vision · 25%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Parallel and multicore computing · 30% High-performance computing · 25% Electronic design automation · 22%
Software engineering, system software, and programming languages
2 papers
Concurrent programming · 100%
Theoretical computer science
1 paper
Algorithms and data structures · 100%

Topics — the 11 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming
concurrent data structures
0.522017
The Power of Choice in Priority Scheduling · PODC 2017
The SprayList: a scalable relaxed priority queue · PPoPP 2015
Machine learning › Efficient and distributed learning › model compression › sparsity
activation sparsity
0.412020
Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks · ICML 2020
Machine learning › Efficient and distributed learning
inference acceleration
0.412020
Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks · ICML 2020
Machine learning › Efficient and distributed learning
model compression
0.412020
Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks · ICML 2020
Computer vision › 3D vision › point cloud processing
sparse convolution
0.412020
Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks · ICML 2020
High-performance computing
iterative methods
0.312018
Relaxed Schedulers Can Efficiently Parallelize Iterative Algorithms · PODC 2018
Parallel and multicore computing
parallel scheduling
0.312018
Relaxed Schedulers Can Efficiently Parallelize Iterative Algorithms · PODC 2018
Embedded and real-time systems › real-time scheduling
priority scheduling
0.312017
The Power of Choice in Priority Scheduling · PODC 2017
Electronic design automation › high-level synthesis
scheduling
0.312017
The Power of Choice in Priority Scheduling · PODC 2017
Algorithms and data structures › randomized algorithms
balls and bins
0.112017
The Power of Choice in Priority Scheduling · PODC 2017
Algorithms and data structures
load balancing
0.112017
The Power of Choice in Priority Scheduling · PODC 2017

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

probabilistic analysis · 0.9weight pruning · 0.4regularization · 0.4FATReLU · 0.4
YearPublicationVenuePosition
2020 Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks
abstract
Optimizing convolutional neural networks for fast inference has recently become an extremely active area of research. One of the go-to solutions in this context is weight pruning, which aims to reduce computational and memory footprint by removing large subsets of the connections in a neural network. Surprisingly, much less attention has been given to exploiting sparsity in the activation maps, which tend to be naturally sparse in many settings thanks to the structure of rectified linear (ReLU) activation functions. In this paper, we present an in-depth analysis of methods for maximizing the sparsity of the activations in a trained neural network, and show that, when coupled with an efficient sparse-input convolution algorithm, we can leverage this sparsity for significant performance gains. To induce highly sparse activation maps without accuracy loss, we introduce a new regularization technique, coupled with a new threshold-based sparsification method based on a parameterized activation function called Forced-Activation-Threshold Rectified Linear Unit (FATReLU). We examine the impact of our methods on popular image classification models, showing that most architectures can adapt to significantly sparser activation maps without any accuracy loss. Our second contribution is showing that these these compression gains can be translated into inference speedups: we provide a new algorithm to enable fast convolution operations over networks with sparse activations, and show that it can enable significant speedups for end-to-end inference on a range of popular models on the large-scale ImageNet image classification task on modern Intel CPUs, with little or no retraining cost.
Mark Kurtz, Justin Kopinsky, Rati Gelashvili, Alexander Matveev, John Carr, Michael Goin, William M. Leiserson, Sage Moore, Nir Shavit, Dan Alistarh
ICML2
2020 Recursed Is Not Recursive: A Jarring Result
abstract
Recursed is a 2D puzzle platform video game featuring treasure chests that, when jumped into, instantiate a room that can later be exited (similar to function calls), optionally generating a jar that returns back to that room (similar to continuations). We prove that Recursed is RE-complete and thus undecidable (not recursive) by a reduction from the Post Correspondence Problem. Our reduction is "practical": the reduction from PCP results in fully playable levels that abide by all constraints governing levels (including the 15x20 room size) designed for the main game. Our reduction is also "efficient": a Turing machine can be simulated by a Recursed level whose size is linear in the encoding size of the Turing machine and whose solution length is polynomial in the running time of the Turing machine.
Erik D. Demaine, Justin Kopinsky, Jayson Lynch
ISAAC2
2020 Who witnesses The Witness? Finding witnesses in The Witness is hard and sometimes impossible
abstract
We analyze the computational complexity of the many types of pencil-and-paper-style puzzles featured in the 2016 puzzle video game The Witness. In all puzzles, the goal is to draw a simple path in a rectangular grid graph from a start vertex to a destination vertex. The different puzzle types place different constraints on the path: preventing some edges from being visited (broken edges); forcing some edges or vertices to be visited (hexagons); forcing some cells to have certain numbers of incident path edges (triangles); or forcing the regions formed by the path to be partially monochromatic (squares), have exactly two special cells (stars), or be singly covered by given shapes (polyominoes) and/or negatively counting shapes (antipolyominoes). We show that any one of these clue types (except the first) is enough to make path finding NP-complete ("witnesses exist but are hard to find"), even for rectangular boards. Furthermore, we show that a final clue type (antibody), which necessarily "cancels" the effect of another clue in the same region, makes path finding Σ2-complete ("witnesses do not exist"), even with a single antibody (combined with many anti/polyominoes), and the problem gets no harder with many antibodies. On the positive side, we give a polynomial-time algorithm for monomino clues, by reducing to hexagon clues on the boundary of the puzzle, even in the presence of broken edges, and solving "subset Hamiltonian path" for terminals on the boundary of an embedded planar graph in polynomial time.
Zachary Abel, Jeffrey Bosboom, Michael J. Coulombe, Erik D. Demaine, Linus Hamilton, Adam Hesterberg, Justin Kopinsky, Jayson Lynch, Mikhail Rudoy, Clemens Thielen
Theor. Comput. Sci.7
2018 Relaxed Schedulers Can Efficiently Parallelize Iterative Algorithms
Dan Alistarh, Trevor Brown 0001, Justin Kopinsky, Giorgi Nadiradze
PODC3
2018 Distributionally Linearizable Data Structures
abstract
Relaxed concurrent data structures have become increasingly popular, due to their scalability in graph processing and machine learning applications (\citeNguyen13, gonzalez2012powergraph ). Despite considerable interest, there exist families of natural, high performing randomized relaxed concurrent data structures, such as the popular MultiQueue~\citeMQ pattern for implementing relaxed priority queue data structures, for which no guarantees are known in the concurrent setting~\citeAKLN17. Our main contribution is in showing for the first time that, under a set of analytic assumptions, a family of relaxed concurrent data structures, including variants of MultiQueues, but also a new approximate counting algorithm we call the MultiCounter, provides strong probabilistic guarantees on the degree of relaxation with respect to the sequential specification, in arbitrary concurrent executions. We formalize these guarantees via a new correctness condition called distributional linearizability, tailored to concurrent implementations with randomized relaxations. Our result is based on a new analysis of an asynchronous variant of the classic power-of-two-choices load balancing algorithm, in which placement choices can be based on inconsistent, outdated information (this result may be of independent interest). We validate our results empirically, showing that the MultiCounter algorithm can implement scalable relaxed timestamps.
Dan Alistarh, Trevor Brown 0001, Justin Kopinsky, Jerry Li 0001, Giorgi Nadiradze
SPAA3
2018 Inherent limitations of hybrid transactional memory
Dan Alistarh, Justin Kopinsky, Petr Kuznetsov, Srivatsan Ravi, Nir Shavit
Distributed Comput.2
2017 The Power of Choice in Priority Scheduling
abstract
Consider the following random process: we are given n queues, into which elements of increasing labels are inserted uniformly at random. To remove an element, we pick two queues at random, and remove the element of lower label (higher priority) among the two. The cost of a removal is the rank of the label removed, among labels still present in any of the queues, that is, the distance from the optimal choice at each step. Variants of this strategy are prevalent in state-of-the-art concurrent priority queue implementations. Nonetheless, it is not known whether such implementations provide any rank guarantees, even in a sequential model. We answer this question, showing that this strategy provides surprisingly strong guarantees: Although the single-choice process, where we always insert and remove from a single randomly chosen queue, has degrading cost, going to infinity as we increase the number of steps, in the two choice process, the expected rank of a removed element is O(n) while the expected worst-case cost is O(n log n). These bounds are tight, and hold irrespective of the number of steps for which we run the process. The argument is based on a new technical connection between "heavily loaded" balls-into-bins processes and priority scheduling. Our analytic results inspire a new concurrent priority queue implementation, which improves upon the state of the art in terms of practical performance.
Dan Alistarh, Justin Kopinsky, Jerry Li 0001, Giorgi Nadiradze
PODC2
2015 The SprayList: a scalable relaxed priority queue
abstract
High-performance concurrent priority queues are essential for applications such as task scheduling and discrete event simulation. Unfortunately, even the best performing implementations do not scale past a number of threads in the single digits. This is because of the sequential bottleneck in accessing the elements at the head of the queue in order to perform a DeleteMin operation. In this paper, we present the SprayList, a scalable priority queue with relaxed ordering semantics. Starting from a non-blocking SkipList, the main innovation behind our design is that the DeleteMin operations avoid a sequential bottleneck by ``spraying'' themselves onto the head of the SkipList list in a coordinated fashion. The spraying is implemented using a carefully designed random walk, so that DeleteMin returns an element among the first O(p log^3 p) in the list, with high probability, where p is the number of threads. We prove that the running time of a DeleteMin operation is O(log^3 p), with high probability, independent of the size of the list. Our experiments show that the relaxed semantics allow the data structure to scale for high thread counts, comparable to a classic unordered SkipList. Furthermore, we observe that, for reasonably parallel workloads, the scalability benefits of relaxation considerably outweigh the additional work due to out-of-order execution.
Dan Alistarh, Justin Kopinsky, Jerry Li 0001, Nir Shavit
PPoPP2
2015 Inherent Limitations of Hybrid Transactional Memory
Dan Alistarh, Justin Kopinsky, Petr Kuznetsov, Srivatsan Ravi, Nir Shavit
DISC2
2014 The LevelArray: A Fast, Practical Long-Lived Renaming Algorithm
abstract
The long-lived renaming problem appears in shared-memory systems where a set of threads need to register and deregister frequently from the computation, while concurrent operations scan the set of currently registered threads. Instances of this problem show up in concurrent implementations of transactional memory, flat combining, thread barriers, and memory reclamation schemes for lock-free data structures. In this paper, we analyze a randomized solution for long-lived renaming. The algorithmic technique we consider, called the Level Array, has previously been used for hashing and one-shot (single-use) renaming. Our main contribution is to prove that, in long-lived executions, where processes may register and deregister polynomially many times, the technique guarantees constant steps on average and O (log log n) steps with high probability for registering, unit cost for deregistering, and O (n) steps for collect queries, where n is an upper bound on the number of processes that may be active at any point in time. We also show that the algorithm has the surprising property that it is self-healing: under reasonable assumptions on the schedule, operations running while the data structure is in a degraded state implicitly help the data structure re-balance itself. This subtle mechanism obviates the need for expensive periodic rebuilding procedures. Our benchmarks validate this approach, showing that, for typical use parameters, the average number of steps a process takes to register is less than two and the worst-case number of steps is bounded by six, even in executions with billions of operations. We contrast this with other randomized implementations, whose worst-case behavior we show to be unreliable, and with deterministic implementations, whose cost is linear in n.
Dan Alistarh, Justin Kopinsky, Alexander Matveev, Nir Shavit
ICDCS2