VLDB 2026 Research / reviewers in the wild / expert
Alex Solomatnikov
dblp:76/586
· DBLP profile ↗
9ranked-venue papers
2as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 2 first-authorSoftware engineering, systems software and programming languages · 4
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 |
Memory systems · 53% Processor architecture and microarchitecture · 28% Reconfigurable computing and FPGAs · 8% | |
| Software engineering, system software, and programming languages
1 paper |
Compilers and program optimization · 100% |
Topics — the 11 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture
chip multiprocessor |
0.2 | 3 | 2008 | Verification of chip multiprocessor memory systems using a relaxed scoreboard · MICRO 2008 Comparing memory systems for chip multiprocessors · ISCA 2007 Comparative evaluation of memory models for chip multiprocessors · ACM Trans. Archit. Code Optim. 2008 |
Memory systems
on-chip memory |
0.2 | 2 | 2008 | Comparative evaluation of memory models for chip multiprocessors · ACM Trans. Archit. Code Optim. 2008 Comparing memory systems for chip multiprocessors · ISCA 2007 |
Memory systems
memory architecture |
0.1 | 1 | 2012 | HICAMP: architectural support for efficient concurrency-safe shared structured data access · ASPLOS 2012 |
Memory systems
cache coherence |
0.1 | 1 | 2008 | Comparative evaluation of memory models for chip multiprocessors · ACM Trans. Archit. Code Optim. 2008 |
Memory systems › memory consistency
memory consistency verification |
0.1 | 1 | 2008 | Verification of chip multiprocessor memory systems using a relaxed scoreboard · MICRO 2008 |
Memory systems › memory access optimization
memory streaming |
0.1 | 1 | 2008 | Comparative evaluation of memory models for chip multiprocessors · ACM Trans. Archit. Code Optim. 2008 |
Memory systems › memory management
software-managed memory |
0.1 | 1 | 2008 | Comparative evaluation of memory models for chip multiprocessors · ACM Trans. Archit. Code Optim. 2008 |
Processor architecture and microarchitecture
multicore design |
0.1 | 1 | 2007 | Chip Multi-Processor Generator · DAC 2007 |
Memory systems › on-chip memory
on-chip memory design |
0.1 | 1 | 2007 | Comparing memory systems for chip multiprocessors · ISCA 2007 |
Electronic design automation › high-level synthesis
RTL generation |
0.0 | 1 | 2009 | A memory system design framework: creating smart memories · ISCA 2009 |
Parallel and multicore computing › parallel programming models
stream programming |
0.0 | 1 | 2007 | Comparing memory systems for chip multiprocessors · ISCA 2007 |
Methods — techniques the papers use, named apart from their topics
processor generator · 0.2simulation · 0.2inter-process communication elimination · 0.1hardware-software co-design · 0.1workload characterization · 0.1functional unit specialization · 0.1SIMD customization · 0.1pipelined engines · 0.1microarchitecture framework · 0.1RTL verification · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | HICAMP: architectural support for efficient concurrency-safe shared structured data accessabstractProgramming language and operating system support for efficient concurrency-safe access to shared data is a key concern for the effective use of multi-core processors. Most research has focused on the software model of multiple threads accessing this data within a single shared address space. However, many real applications are actually structured as multiple separate processes for fault isolation and simplified synchronization. In this paper, we describe the HICAMP architecture and its innovative memory system, which supports efficient concurrency safe access to structured shared data without incurring the overhead of inter-process communication. The HICAMP architecture also provides support for programming language and OS structures such as threads, iterators, read-only access and atomic update. In addition to demonstrating that HICAMP is beneficial for multi-process structured applications, our evaluation shows that the same mechanisms provide substantial benefits for other areas, including sparse matrix computations and virtualization. David R. Cheriton, Amin Firoozshahian, Alex Solomatnikov, John P. Stevenson, Omid Azizi |
ASPLOS | 3 |
| 2012 | Sparse matrix-vector multiply on the HICAMP architectureabstractSparse matrix-vector multiply (SpMV) is a critical task in the inner loop of modern iterative linear system solvers and exhibits very little data reuse. This low reuse means that its performance is bounded by main-memory bandwidth. Moreover, the random patterns of indirection make it difficult to achieve this bound. We present sparse matrix storage formats based on deduplicated memory. These formats reduce memory traffic during SpMV and thus show significantly improved performance bounds: 90x better in the best case. Additionally, we introduce a matrix format that inherently exploits any amount of matrix symmetry and is at the same time fully compatible with non-symmetric matrix code. Because of this, our method can concurrently operate on a symmetric matrix without complicated work partitioning schemes and without any thread synchronization or locking. This approach takes advantage of growing processor caches, but incurs an instruction count overhead. It is feasible to overcome this issue by using specialized hardware as shown by the recently proposed Hierarchical Immutable Content-Addressable Memory Processor, or HICAMP architecture. John P. Stevenson, Amin Firoozshahian, Alex Solomatnikov, Mark Horowitz, David R. Cheriton |
ICS | 3 |
| 2010 | Understanding sources of inefficiency in general-purpose chipsabstractDue to their high volume, general-purpose processors, and now chip multiprocessors (CMPs), are much more cost effective than ASICs, but lag significantly in terms of performance and energy efficiency. This paper explores the sources of these performance and energy overheads in general-purpose processing systems by quantifying the overheads of a 720p HD H.264 encoder running on a general-purpose CMP system. It then explores methods to eliminate these overheads by transforming the CPU into a specialized system for H.264 encoding. We evaluate the gains from customizations useful to broad classes of algorithms, such as SIMD units, as well as those specific to particular computation, such as customized storage and functional units. Rehan Hameed, Wajahat Qadeer, Megan Wachs, Omid Azizi, Alex Solomatnikov, Benjamin C. Lee, Stephen Richardson, Christoforos E. Kozyrakis, Mark Horowitz |
ISCA | 5 |
| 2009 | A memory system design framework: creating smart memoriesabstractAs CPU cores become building blocks, we see a great expansion in the types of on-chip memory systems proposed for CMPs. Unfortunately, designing the cache and protocol controllers to support these memory systems is complex, and their concurrency and latency characteristics significantly affect the performance of any CMP. To address this problem, this paper presents a microarchitecture framework for cache and protocol controllers, which can aid in generating the RTL for new memory systems. The framework consists of three pipelined engines' request-tracking, state-manipulation, and data movement' which are programmed to implement a higher-level memory model. This approach simplifies the design and verification of CMP systems by decomposing the memory model into sequences of state and data manipulations. Moreover, implementing the framework itself produces a polymorphic memory system. Amin Firoozshahian, Alex Solomatnikov, Ofer Shacham, Zain Asgar, Stephen Richardson, Christoforos E. Kozyrakis, Mark Horowitz |
ISCA | 2 |
| 2009 | Using a configurable processor generator for computer architecture prototypingabstractBuilding hardware prototypes for computer architecture research is challenging. Unfortunately, development of the required software tools (compilers, debuggers, runtime) is even more challenging, which means these systems rarely run real applications. To overcome this issue, when developing our prototype platform, we used the Tensilica processor generator to produce a customized processor and corresponding software tools and libraries. While this base processor was very different from the streamlined custom processor we initially imagined, it allowed us to focus on our main objective---the design of a reconfigurable CMP memory system---and to successfully tape out an 8-core CMP chip with only a small group of designers. One person was able to handle processor configuration and hardware generation, support of a complete software tool chain, as well as developing the custom runtime software to support three different programming models. Having a sophisticated software tool chain not only allowed us to run more applications on our machine, it once again pointed out the need to use optimized code to get an accurate evaluation of architectural features. Alex Solomatnikov, Amin Firoozshahian, Ofer Shacham, Zain Asgar, Megan Wachs, Wajahat Qadeer, Stephen Richardson, Mark Horowitz |
MICRO | 1 |
| 2008 | Verification of chip multiprocessor memory systems using a relaxed scoreboardabstractVerification of chip multiprocessor memory systems remains challenging. While formal methods have been used to validate protocols, simulation is still the dominant method used to validate memory system implementation. Having a memory scoreboard, a high-level model of the memory, greatly aids simulation based validation, but accurate score-boards are complex to create since often they depend not only on the memory and consistency model but also on its specific implementation. This paper describes a methodology of using a relaxed scoreboard, which greatly reduces the complexity of creating these memory models. The relaxed scoreboard tracks the operations of the system to maintain a set of values that could possibly be valid for each memory location. By allowing multiple possible values, the model used in the scoreboard is only loosely coupled with the specific design, which decouples the construction of the checker from the implementation, allowing the checker to be used early in the design and to be built up incrementally, and greatly reduces the scoreboard design effort. We demonstrate the use of the relaxed scoreboard in verifying RTL implementations of two different memory models, Transactional Coherency and Consistency (TCC) and Relaxed Consistency, for up to 32 processors. The resulting checker has a performance slowdown of 19% for checking Relaxed Consistency, and less than 30% for TCC, allowing it to be used in all simulation runs. Ofer Shacham, Megan Wachs, Alex Solomatnikov, Amin Firoozshahian, Stephen Richardson, Mark Horowitz |
MICRO | 3 |
| 2008 | Comparative evaluation of memory models for chip multiprocessorsabstractThere are two competing models for the on-chip memory in Chip Multiprocessor (CMP) systems: hardware-managed coherent caches and software-managed streaming memory . This paper performs a direct comparison of the two models under the same set of assumptions about technology, area, and computational capabilities. The goal is to quantify how and when they differ in terms of performance, energy consumption, bandwidth requirements, and latency tolerance for general-purpose CMPs. We demonstrate that for data-parallel applications on systems with up to 16 cores, the cache-based and streaming models perform and scale equally well. For certain applications with little data reuse, streaming scales better due to better bandwidth use and macroscopic software prefetching. However, the introduction of techniques such as hardware prefetching and nonallocating stores to the cache-based model eliminates the streaming advantage. Overall, our results indicate that there is not sufficient advantage in building streaming memory systems where all on-chip memory structures are explicitly managed. On the other hand, we show that streaming at the programming model level is particularly beneficial, even with the cache-based model, as it enhances locality and creates opportunities for bandwidth optimizations. Moreover, we observe that stream programming is actually easier with the cache-based model because the hardware guarantees correct, best-effort execution even when the programmer cannot fully regularize an application's code. Jacob Leverich, Hideho Arakida, Alex Solomatnikov, Amin Firoozshahian, Mark Horowitz, Christoforos E. Kozyrakis |
ACM Trans. Archit. Code Optim. | 3 |
| 2007 | Chip Multi-Processor GeneratorabstractThe drive for low-power, high performance computation coupled with the extremely high design costs for ASIC designs, has driven a number of designers to try to create a flexible, universal computing platform that will supersede the microprocessor. We argue that these flexible, general computing chips are trying to accomplish more than is commercially needed. Since design NRE costs are an order of magnitude larger than fabrication NRE costs, a two-step design system seems attractive. First, the users configure/program a flexible computing framework to run their application with the desired performance. Then, the system "compiles" the program and configuration, tailoring the original framework to create a chip that is optimized toward the desired set of applications. Thus the user gets the reduced development costs of using a flexible solution with the efficiency of a custom chip. Alex Solomatnikov, Amin Firoozshahian, Wajahat Qadeer, Ofer Shacham, Kyle Kelley, Zain Asgar, Megan Wachs, Rehan Hameed, Mark Horowitz |
DAC | 1 |
| 2007 | Comparing memory systems for chip multiprocessorsabstractThere are two basic models for the on-chip memory in CMP systems:hardware-managed coherent caches and software-managed streaming memory. This paper performs a direct comparison of the two modelsunder the same set of assumptions about technology, area, and computational capabilities. The goal is to quantify how and when they differ in terms of performance, energy consumption, bandwidth requirements, and latency tolerance for general-purpose CMPs. We demonstrate that for data-parallel applications, the cache-based and streaming models perform and scale equally well. For certain applications with little data reuse, streaming scales better due to better bandwidth use and macroscopic software prefetching. However, the introduction of techniques such as hardware prefetching and non-allocating stores to the cache-based model eliminates the streaming advantage. Overall, our results indicate that there is not sufficient advantage in building streaming memory systems where all on-chip memory structures are explicitly managed. On the other hand, we show that streaming at the programming model level is particularly beneficial, even with the cache-based model, as it enhances locality and creates opportunities for bandwidth optimizations. Moreover, we observe that stream programming is actually easier with the cache-based model because the hardware guarantees correct, best-effort execution even when the programmer cannot fully regularize an application's code. Jacob Leverich, Hideho Arakida, Alex Solomatnikov, Amin Firoozshahian, Mark Horowitz, Christoforos E. Kozyrakis |
ISCA | 3 |