Demo Data from EDBT 2026 / reviewers in the wild / expert
David A. Koufaty
dblp:44/1517
· DBLP profile ↗
14ranked-venue papers
5as first author
1since 2021 · last 2026
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 14 · 5 first-author · 1 since 2021
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
9 papers |
Memory systems · 69% Processor architecture and microarchitecture · 13% Electronic design automation · 8% | |
| Software engineering, system software, and programming languages
5 papers |
Concurrent programming · 65% Operating systems · 35% Compilers and program optimization · 0% |
Topics — the 24 heaviest of 26, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
memory consistency |
1.2 | 2 | 2026 | PhasedStore: Supporting High-Performance Write-Through Cache-Coherence Protocols Under TSO · HPCA 2026 SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016 |
Memory systems
cache coherence |
1.0 | 2 | 2026 | PhasedStore: Supporting High-Performance Write-Through Cache-Coherence Protocols Under TSO · HPCA 2026 Data Forwarding in Scalable Shared-Memory Multiprocessors · IEEE Trans. Parallel Distributed Syst. 1996 |
Memory systems › memory consistency › memory consistency model
total store order |
1.0 | 1 | 2026 | PhasedStore: Supporting High-Performance Write-Through Cache-Coherence Protocols Under TSO · HPCA 2026 |
Processor architecture and microarchitecture › multicore design › heterogeneous multicore
asymmetric multicore |
0.3 | 3 | 2012 | Leveraging Core Specialization via OS Scheduling to Improve Performance on Asymmetric Multicore Systems · ACM Trans. Comput. Syst. 2012 QuickIA: Exploring heterogeneous architectures on real prototypes · HPCA 2012 Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007 |
Memory systems › shared memory
distributed shared memory |
0.3 | 1 | 2026 | PhasedStore: Supporting High-Performance Write-Through Cache-Coherence Protocols Under TSO · HPCA 2026 |
Electronic design automation › high-level synthesis
scheduling |
0.3 | 2 | 2012 | Leveraging Core Specialization via OS Scheduling to Improve Performance on Asymmetric Multicore Systems · ACM Trans. Comput. Syst. 2012 Bias scheduling in heterogeneous multi-core architectures · EuroSys 2010 |
Concurrent programming
memory models |
0.2 | 1 | 2016 | SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016 |
Concurrent programming › memory models
weak memory models |
0.2 | 1 | 2016 | SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016 |
Operating systems › resource management › process management
CPU scheduling |
0.2 | 2 | 2010 | Operating system support for overlapping-ISA heterogeneous multi-core architectures · HPCA 2010 Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007 |
Processor architecture and microarchitecture › multicore design
core specialization |
0.1 | 1 | 2012 | Leveraging Core Specialization via OS Scheduling to Improve Performance on Asymmetric Multicore Systems · ACM Trans. Comput. Syst. 2012 |
Electronic design automation
design space exploration |
0.1 | 1 | 2012 | QuickIA: Exploring heterogeneous architectures on real prototypes · HPCA 2012 |
Parallel and multicore computing › task scheduling
heterogeneity-aware scheduling |
0.1 | 1 | 2012 | Leveraging Core Specialization via OS Scheduling to Improve Performance on Asymmetric Multicore Systems · ACM Trans. Comput. Syst. 2012 |
GPUs and heterogeneous computing
heterogeneous architecture |
0.1 | 1 | 2012 | QuickIA: Exploring heterogeneous architectures on real prototypes · HPCA 2012 |
Processor architecture and microarchitecture › multicore design
heterogeneous cores |
0.1 | 1 | 2012 | The Forgotten 'Uncore': On the Energy-Efficiency of Heterogeneous Cores · USENIX ATC 2012 |
Operating systems › resource management › process management › CPU scheduling
thread scheduling |
0.1 | 1 | 2010 | Bias scheduling in heterogeneous multi-core architectures · EuroSys 2010 |
GPUs and heterogeneous computing › heterogeneous architecture
heterogeneous processors |
0.1 | 1 | 2010 | Operating system support for overlapping-ISA heterogeneous multi-core architectures · HPCA 2010 |
Concurrent programming
concurrency bug detection |
0.1 | 1 | 2016 | SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016 |
Processor architecture and microarchitecture
multicore design |
0.1 | 2 | 2012 | The Forgotten 'Uncore': On the Energy-Efficiency of Heterogeneous Cores · USENIX ATC 2012 Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007 |
Energy-efficient computing
power-performance tradeoff |
0.0 | 1 | 2012 | Leveraging Core Specialization via OS Scheduling to Improve Performance on Asymmetric Multicore Systems · ACM Trans. Comput. Syst. 2012 |
Energy-efficient computing
energy-aware scheduling |
0.0 | 1 | 2010 | Bias scheduling in heterogeneous multi-core architectures · EuroSys 2010 |
Operating systems › resource management › process management › CPU scheduling
NUMA-aware scheduling |
0.0 | 1 | 2007 | Efficient operating system scheduling for performance-asymmetric multi-core architectures · SC 2007 |
Processor architecture and microarchitecture
data forwarding |
0.0 | 1 | 1996 | Data Forwarding in Scalable Shared-Memory Multiprocessors · IEEE Trans. Parallel Distributed Syst. 1996 |
Memory systems
memory access latency |
0.0 | 1 | 1996 | Data Forwarding in Scalable Shared-Memory Multiprocessors · IEEE Trans. Parallel Distributed Syst. 1996 |
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor |
0.0 | 1 | 1996 | Data Forwarding in Scalable Shared-Memory Multiprocessors · IEEE Trans. Parallel Distributed Syst. 1996 |
Methods — techniques the papers use, named apart from their topics
store queue extension · 1.0directory protocol · 1.0simulation · 0.5hardware recovery · 0.5linux kernel implementation · 0.2big.LITTLE-style core asymmetry · 0.2speedup factor prediction model · 0.1prototyping · 0.1case study · 0.1CPU clock modulation · 0.1load balancing · 0.1address trace simulation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | PhasedStore: Supporting High-Performance Write-Through Cache-Coherence Protocols Under TSOabstractCurrent multiprocessors that support the total store order (TSO) memory consistency model invariably use writeback (WB) cache-coherence protocols. When their hardware needs to issue write-through (WT) stores as in uncached operations, their performance may suffer: writes to main memory have to be fully serialized, potentially forcing the program to observe the full latency of round trips to memory. To solve this problem, this paper presents a novel architecture that supports high-performance cache-coherent WT stores under TSO. The architecture, called PhasedStore, extends the store queue in the cores and the directory. Individual WT stores fully overlap with other stores and still satisfy TSO. PhasedStore is useful in environments that require a WT cache-coherence protocol. This can be the case in resiliencecritical platforms where node failures should not cause the loss of shared program state, or platforms with CPUs and accelerators where programs follow a producer-consumer pattern. This paper evaluates PhasedStore in the first environment, namely a CXL-based distributed shared-memory platform where shared data in the program uses a WT protocol to enable recovery. Our evaluation shows that PhasedStore is very effective. Compared to using the conventional approach to implement WT under TSO, PhasedStore reduces the average execution time of a set of parallel applications by 1.88x. Burak Ocalan, Chloe Alverti, Shashwat Jaiswal, Antonis Psistakis, David A. Koufaty, Suyash Mahar, Steven Swanson, Josep Torrellas |
HPCA | 5 |
| 2016 | SCsafe: Logging sequential consistency violations continuously and preciselyabstractSequential Consistency Violations (SCV) in relaxed consistency machines cause programs to malfunction and are hard to debug. While there are proposals for detecting and recording SCVs, they are limited in that they end program execution after detecting the first SCV because the program is now non-SC. Therefore, they cannot be used in production runs. In addition, such proposals rely on complicated hardware. To address these problems, this paper proposes the first architecture that detects and logs SCVs in a continuous manner, while retaining SC. In addition, the scheme is precise and uses substantially simpler hardware. The scheme, called SCsafe, operates continously because, after SCV detection and logging, it recovers and resumes execution while retaining SC. As a result, it can be used in production runs. In addition, SCsafe is precise in that it identifies only true SCVs - rather than dependence cycles due to false sharing. Finally, SCsafe's hardware is mostly local to each processor, and uses known recovery techniques. We evaluate SCsafe using simulations of 16-processor multicores with Total Store Order or Release Consistency. In codes with SCVs, SCsafe detects and reports SCVs while enforcing SC during the execution. In codes with few SCVs, it adds a negligible performance overhead. Finally, SCsafe is scalable with the processor count. Yuelu Duan, David A. Koufaty, Josep Torrellas |
HPCA | 2 |
| 2012 | QuickIA: Exploring heterogeneous architectures on real prototypesabstractOver the last decade, homogeneous multi-core processors emerged and became the de-facto approach for offering high parallelism, high performance and scalability for a wide range of platforms. We are now at an interesting juncture where several critical factors (smaller form factor devices, power challenges, need for specialization, etc) are guiding architects to consider heterogeneous chips and platforms for the next decade and beyond. Exploring heterogeneous architectures is challenging since it involves re-evaluating architecture options, OS implications and application development. In this paper, we describe these research challenges and then introduce a heterogeneous prototype platform called QuickIA that enables rapid exploration of heterogeneous architectures employing multiple generations of Intel processors for evaluating the implications of asymmetry and FPGAs to experiment with specialized processors or accelerators. We also show example case studies using the QuickIA research prototype to highlight its value in conducting heterogeneous architecture, OS and applications research. Bhushan Chitlur, Ganapati Srinivasa, Scott Hahn, Dheeraj Reddy, David A. Koufaty, Paul Brett, Abirami Prabhakaran, Li Zhao 0002, Nelson Ijih, Suchit Subhaschandra, Sabina Grover, Xiaowei Jiang, Ravi R. Iyer 0001 |
HPCA | 6 |
| 2012 | The Forgotten 'Uncore': On the Energy-Efficiency of Heterogeneous Cores
Vishal Gupta 0001, Paul Brett, David A. Koufaty, Dheeraj Reddy, Scott Hahn, Karsten Schwan, Ganapati Srinivasa |
USENIX ATC | 3 |
| 2012 | Leveraging Core Specialization via OS Scheduling to Improve Performance on Asymmetric Multicore SystemsabstractAsymmetric multicore processors (AMPs) consist of cores with the same ISA (instruction-set architecture), but different microarchitectural features, speed, and power consumption. Because cores with more complex features and higher speed typically use more area and consume more energy relative to simpler and slower cores, we must use these cores for running applications that experience significant performance improvements from using those features. Having cores of different types in a single system allows optimizing the performance/energy trade-off. To deliver this potential to unmodified applications, the OS scheduler must map threads to cores in consideration of the properties of both. Our work describes a Comprehensive scheduler for Asymmetric Multicore Processors (CAMP) that addresses shortcomings of previous asymmetry-aware schedulers. First, previous schedulers catered to only one kind of workload properties that are crucial for scheduling on AMPs; either efficiency or thread-level parallelism (TLP), but not both. CAMP overcomes this limitation showing how using both efficiency and TLP in synergy in a single scheduling algorithm can improve performance. Second, most existing schedulers relying on models for estimating how much faster a thread executes on a “fast” vs. “slow” core (i.e., the speedup factor ) were specifically designed for AMP systems where cores differ only in clock frequency. However, more realistic AMP systems include cores that differ more significantly in their features. To demonstrate the effectiveness of CAMP on more realistic scenarios, we augmented the CAMP scheduler with a model that predicts the speedup factor on a real AMP prototype that closely matches future asymmetric systems. Juan Carlos Saez, Alexandra Fedorova, David A. Koufaty, Manuel Prieto 0001 |
ACM Trans. Comput. Syst. | 3 |
| 2011 | Hystor: making the best use of solid state drives in high performance storage systemsabstractWith the fast technical improvement, flash memory based Solid State Drives (SSDs) are becoming an important part of the computer storage hierarchy to significantly improve performance and energy efficiency. However, due to its relatively high price and low capacity, a major system research issue to address is on how to make SSDs play their most effective roles in a high-performance storage system in cost- and performance-effective ways. Feng Chen 0005, David A. Koufaty, Xiaodong Zhang 0001 |
ICS | 2 |
| 2010 | Bias scheduling in heterogeneous multi-core architecturesabstractHeterogeneous architectures that integrate a mix of big and small cores are very attractive because they can achieve high single-threaded performance while enabling high performance thread-level parallelism with lower energy costs. Despite their benefits, they pose significant challenges to the operating system software. Thread scheduling is one of the most critical challenges. David A. Koufaty, Dheeraj Reddy, Scott Hahn |
EuroSys | 1 |
| 2010 | Operating system support for overlapping-ISA heterogeneous multi-core architecturesabstractA heterogeneous processor consists of cores that are asymmetric in performance and functionality. Such a design provides a cost-effective solution for processor manufacturers to continuously improve both single-thread performance and multi-thread throughput. This design, however, faces significant challenges in the operating system, which traditionally assumes only homogeneous hardware. This paper presents a comprehensive study of OS support for heterogeneous architectures in which cores have asymmetric performance and overlapping, but non-identical instruction sets. Our algorithms allow applications to transparently execute and fairly share different types of cores. We have implemented these algorithms in the Linux 2.6.24 kernel and evaluated them on an actual heterogeneous platform. Evaluation results demonstrate that our designs efficiently manage heterogeneous hardware and enable significant performance improvements for a range of applications. Tong Li 0003, Paul Brett, Rob C. Knauerhase, David A. Koufaty, Dheeraj Reddy, Scott Hahn |
HPCA | 4 |
| 2007 | Efficient operating system scheduling for performance-asymmetric multi-core architecturesabstractRecent research advocates asymmetric multi-core architectures, where cores in the same processor can have different performance. These architectures support single-threaded performance and multithreaded throughput at lower costs (e.g., die size and power). However, they also pose unique challenges to operating systems, which traditionally assume homogeneous hardware. This paper presents AMPS, an operating system scheduler that efficiently supports both SMP-and NUMA-style performance-asymmetric architectures. AMPS contains three components: asymmetry-aware load balancing, faster-core-first scheduling, and NUMA-aware migration. We have implemented AMPS in Linux kernel 2.6.16 and used CPU clock modulation to emulate performance asymmetry on an SMP and NUMA system. For various workloads, we show that AMPS achieves a median speedup of 1.16 with a maximum of 1.44 over stock Linux on the SMP, and a median of 1.07 with a maximum of 2.61 on the NUMA system. Our results also show that AMPS improves fairness and repeatability of application performance measurements. Tong Li 0003, Dan P. Baumberger, David A. Koufaty, Scott Hahn |
SC | 3 |
| 1999 | Compiler Support for Data Forwarding in Scalable Shared-Memory MultiprocessorsabstractAs the difference in speed between processor and memory system continues to increase, it is becoming crucial to develop and refine techniques that enhance the effectiveness of cache hierarchies. One promising technique in the context of scalable shared-memory multiprocessors is data forwarding. Forwarding hides the latency of communication-induced misses by having producer processors send data to the caches of potential consumer processors in advance. Forwarding can hide the latency effectively, has low instruction overhead, and uses few machine resources. This paper presents a complete implementation of a data forwarding pass in an industrial-strength parallelizing compiler. Complete Fortran applications are analyzed for dependences and, based on the analysis, automatically annotated with forwarding directives. We propose a forwarding framework that includes 4 new instructions: write-forward, write-broadcast, write-update, and write-through. New microarchitectural support is proposed. In our analysis, we assume that the assignment of loop iterations to processors is known. We perform simulations of multiprocessors with different cache, memory, machine sharing, and process migration parameters. We conclude that data forwarding delivers large speedups (six 32-processor applications ran an average of 40% faster), gets close to the upper bound in performance, and needs compiler support of only medium complexity. David A. Koufaty, Josep Torrellas |
ICPP | 1 |
| 1998 | Comparing Data Forwarding and Prefetching for Communication-induced Misses in Shared-memory MPsabstractAbstract As the difference in speed between processor and memory system continues to increase, it is becoming crucial to develop and refine techniques that enhance the effectiveness of cache hierarchies. Two such techniques are data prefetching and data forwarding. With prefetching, a processor hides the latency of cache misses by requesting the data before it actually needs it. With forwarding, a producer processor hides the latency of communication-induced cache misses in the consumer processors by sending the data to the caches of the latter. These two techniques are complementary approaches to hiding the latency of communication-induced misses. This paper compares the effectiveness of data forwarding and data prefetching to hide communication-induced misses. Although both techniques require comparable hardware support, forwarding usually has a lower instruction overhead. We evaluate prefetching and forwarding algorithms in a parallelizing compiler using execution-driven simulations of a sharedmemory multiprocessor. Both data forwarding and prefetching reduce the execution time of applications significantly (30- 40 % on average). Forwarding performs better on average, while prefetching is more robust to changes in cache and memory parameters. Finally, we propose two ways of integrating the two techniques. The integration of the two techniques reduces the execution time even more (43-48 % on average) and is very robust. 1 Introduction As increases in processor speed continue to outstrip increases in memory system speed, it becomes crucial to develop and refine techniques that enhance the effectiveness of cache hierarchies. An important reason why cache hierarchies are sometimes ineffective in multiprocessors is the intrinsic interprocessor communication required by applications. To tolerate this communication, popularly known as data sharing, techniques that overlap processor computation with the communication have been proposed. Two of these techniques are data forwarding and data prefetching. In data forwarding [1, 8, 10], producer processors send the data to the caches of the processors that will use the data David A. Koufaty, Josep Torrellas |
International Conference on Supercomputing | 1 |
| 1996 | Data Forwarding in Scalable Shared-Memory MultiprocessorsabstractScalable shared-memory multiprocessors are often slowed down by long-latency memory accesses. One way to cope with this problem is to use data forwarding to overlap memory accesses with computation. With data forwarding, when a processor produces a datum, in addition to updating its cache, it sends a copy of the datum to the caches of the processors that the compiler identified as consumers of it. As a result, when the consumer processors access the datum, they find it in their caches. This paper addresses two main issues. First, it presents a framework for a compiler algorithm for forwarding. Second, using address traces, it evaluates the performance impact of different levels of support for forwarding. Our simulations of a 32-processor machine show that an optimistic support for forwarding speeds up five applications by an average of 50% for large caches and 30% for small caches. For large caches, most sharing read misses are eliminated, while for small caches, forwarding does not increase the number of conflict misses significantly. Overall, support for forwarding in shared-memory multiprocessors promises to deliver good application speedups. David A. Koufaty, Xiangfeng Chen, David K. Poulsen, Josep Torrellas |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 1995 | Data Forwarding in Scalable Shared-Memory MultiprocessorsabstractArticle Free Access Share on Data forwarding in scalable shared-memory multiprocessors Authors: D. A. Koufaty Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, IL Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, ILView Profile , X. Chen Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, IL Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, ILView Profile , D. K. Poulsen Kuck and Associates, Inc., Champaign, IL and Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, IL Kuck and Associates, Inc., Champaign, IL and Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, ILView Profile , J. Torrellas Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, IL Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, ILView Profile Authors Info & Claims ICS '95: Proceedings of the 9th international conference on SupercomputingJuly 1995 Pages 255–264https://doi.org/10.1145/224538.224569Published:03 July 1995Publication History 50citation272DownloadsMetricsTotal Citations50Total Downloads272Last 12 Months23Last 6 weeks5 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF David A. Koufaty, Xiangfeng Chen, David K. Poulsen, Josep Torrellas |
International Conference on Supercomputing | 1 |
| 1994 | Comparing the Performance of the DASH and CEDAR MultiprocessorsabstractScalable shared-memory multiprocessors are attractive because they achieve large-scale parallel processing without surrendering much programmability. Several such machines have been built or are currently being built, for instance RP3, Cedar, KSR1, DASH, DDM1, Alewife, Cray T3D, or the Tera computer system. While all these machines support the shared-memory paradigm, they differ significantly. For example, some of them use hardware to support cache coherence, while others rely on the compiler or the programmer to do so. Furthermore, a subset of the machines are hierarchical, and some have the processors grouped in clusters. In addition to these and other hardware issues, machines also differ in software issues. For instance, the most natural model of parallelism supported by compilers and the operating system can be task- or loop-based. Josep Torrellas, David A. Koufaty, David A. Padua |
ICPP (2) | 2 |