Demo Data from VLDB 2026 / reviewers in the wild / expert
Suleyman Sair
dblp:20/7001
· DBLP profile ↗
12ranked-venue papers
2as first author
0since 2021 · last 2009
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 12 · 2 first-authorSoftware engineering, systems software and programming languages · 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.
| Computer architecture, parallel and distributed computing, and storage systems
7 papers |
Memory systems · 53% Processor architecture and microarchitecture · 34% Performance modeling and evaluation · 14% | |
| Software engineering, system software, and programming languages
2 papers |
Compilers and program optimization · 86% Program analysis · 14% |
Topics — the 22 heaviest of 22, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems › cache
prefetching |
0.1 | 2 | 2002 | Pointer cache assisted prefetching · MICRO 2002 Quantifying Load Stream Behavior · HPCA 2002 |
Memory systems › cache › prefetching
data prefetching |
0.1 | 2 | 2003 | A Decoupled Predictor-Directed Stream Prefetching Architecture · IEEE Trans. Computers 2003 Predictor-directed stream buffers · MICRO 2000 |
Memory systems
cache |
0.1 | 2 | 2002 | Quantifying Load Stream Behavior · HPCA 2002 Predictor-directed stream buffers · MICRO 2000 |
Performance modeling and evaluation
workload characterization |
0.1 | 2 | 2003 | Catching Accurate Profiles in Hardwar · HPCA 2003 Quantifying Load Stream Behavior · HPCA 2002 |
Compilers and program optimization › instruction scheduling
software pipelining |
0.0 | 1 | 2004 | Creating Converged Trace Schedules Using String Matching · HPCA 2004 |
Processor architecture and microarchitecture › microprocessor design › processor core design
in-order core |
0.0 | 1 | 2004 | Creating Converged Trace Schedules Using String Matching · HPCA 2004 |
Processor architecture and microarchitecture
instruction scheduling |
0.0 | 1 | 2004 | Creating Converged Trace Schedules Using String Matching · HPCA 2004 |
Processor architecture and microarchitecture › speculation
address prediction |
0.0 | 1 | 2003 | A Decoupled Predictor-Directed Stream Prefetching Architecture · IEEE Trans. Computers 2003 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 1 | 2003 | Phase Tracking and Prediction · ISCA 2003 |
Performance modeling and evaluation › profiling
hardware profiling |
0.0 | 1 | 2003 | Catching Accurate Profiles in Hardwar · HPCA 2003 |
Memory systems
memory hierarchy |
0.0 | 1 | 2003 | A Decoupled Predictor-Directed Stream Prefetching Architecture · IEEE Trans. Computers 2003 |
Memory systems › cache › cache miss
cache miss classification |
0.0 | 1 | 2002 | Quantifying Load Stream Behavior · HPCA 2002 |
Memory systems › cache › prefetching
hardware prefetching |
0.0 | 1 | 2002 | Quantifying Load Stream Behavior · HPCA 2002 |
Processor architecture and microarchitecture
value prediction |
0.0 | 1 | 2002 | Pointer cache assisted prefetching · MICRO 2002 |
Memory systems › on-chip memory
stream buffer |
0.0 | 1 | 2000 | Predictor-directed stream buffers · MICRO 2000 |
Compilers and program optimization
dynamic optimization |
0.0 | 1 | 2004 | Creating Converged Trace Schedules Using String Matching · HPCA 2004 |
Compilers and program optimization › dynamic optimization
profile-guided optimization |
0.0 | 1 | 2003 | Catching Accurate Profiles in Hardwar · HPCA 2003 |
Program analysis › dynamic analysis › profiling
value profiling |
0.0 | 1 | 2003 | Catching Accurate Profiles in Hardwar · HPCA 2003 |
Memory systems › memory access latency
cache access latency |
0.0 | 1 | 2003 | A Decoupled Predictor-Directed Stream Prefetching Architecture · IEEE Trans. Computers 2003 |
Memory systems
memory access patterns |
0.0 | 1 | 2002 | Quantifying Load Stream Behavior · HPCA 2002 |
Processor architecture and microarchitecture › multithreading
speculative multithreading |
0.0 | 1 | 2002 | Pointer cache assisted prefetching · MICRO 2002 |
Processor architecture and microarchitecture
latency hiding |
0.0 | 1 | 2000 | Predictor-directed stream buffers · MICRO 2000 |
Methods — techniques the papers use, named apart from their topics
string matching · 0.1multi-hash architecture · 0.1interval-based profiling · 0.1simulation · 0.0confidence-based allocation · 0.0thread-based prefetching · 0.0speculative precomputation · 0.0hardware profiling · 0.0confidence estimation · 0.0address prediction · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2009 | Extending data prefetching to cope with context switch missesabstractAmong the various costs of a context switch, its impact on the performance of L2 caches is the most significant because of the resulting high miss penalty. To reduce the impact of frequent context switches, we propose restoring a program's locality by prefetching into the L2 cache the data a program was using before it was swapped out. A Global History List is used to record a process' L2 read accesses in LRU order. These accesses are saved along with the process' context when the process is swapped out and loaded to guide prefetching when it is swapped in. We also propose a feedback mechanism that greatly reduces memory traffic incurred by our prefetching scheme. Experiments show significant speedup over baseline architectures with and without traditional prefetching in the presence of frequent context switches. Hanyu Cui, Suleyman Sair |
ICCD | 2 |
| 2007 | Two-level ata prefetchingabstractData prefetching has been shown to be an effective tool in hiding part of the latency associated with cache misses in modern processors. Traditionally, data prefetchers fetch data into a small prefetch buffer near the LI for low latency, or the L2 cache for greater coverage and less cache pollution. However, with the L1-L2 cache speed gap growing, significant performance gains can be obtained if the data pref etcher can operate as aggressively as an L2-level pref etcher but with the fast hit times of an LI-level pref etcher. In this paper, we propose a prefetching framework where an LI-level prefetcher and an L2- level prefetcher work cooperatively to reduce the average access time more than either one alone can. We evaluate several design alternatives suited to perform synergistically under different workloads. From the insight we gather from this analysis, we propose a confidence-based adaptive prefetcher that can improve prefetch efficiency significantly with judicious use of available bus bandwidth. Our results show that for certain prefetcher combinations, two- level prefetching can achieve the cumulative speedup attained from either prefetcher alone. Furthermore, when compared to other two-level prefetching models, the adaptive design provides similar speedups with appreciably less bus traffic. Hanyu Cui, Suleyman Sair |
ICCD | 3 |
| 2006 | Improving the performance and power efficiency of shared helpers in CMPsabstractTechnology scaling trends have forced designers to consider alternatives to deeply pipelining aggressive cores with large amounts of performance accelerating hardware. One alternative is a small, simple core that can be augmented with latency tolerant helpers. As the demands placed on the processor core varies between applications, and even between phases of an application, the benefit seen from any set of helpers will vary tremendously. If there is a single core, these auxiliary structures can be turned on and off dynamically to tune the energy/performance of the machine to the needs of the running application.As more of the processor is broken down into helpers, and additional cores are added to a single chip that can potentially share helpers, the decisions that are made about these structures become increasingly important. In this paper we describe the need for methods that effectively manage these helpers. Our counter-based approach can dynamically turn off three helpers on average while staying within 2% of the performance when running with all helpers. In a multicore environment, our intelligent and exible sharing of helper provides an average 24% speedup compared to static sharing in conjoined cores. Furthermore we show a benefit from constructively sharing helpers among multiple cores running the same application. Anahita Shayesteh, Glenn Reinman, Norman P. Jouppi, Timothy Sherwood, Suleyman Sair |
CASES | 5 |
| 2006 | Long-term Performance Bottleneck Analysis and PredictionabstractIdentifying performance bottlenecks is important for microarchitects and application developers to produce high performance microprocessor designs and application software. Many techniques are used for this purpose, including simulation, software profiling and hardware event counters. Recently long-term program behavior has been getting more attention from researchers because of its potential applications in system-level, as well as program-level optimizations. In this paper, we study performance bottlenecks from a long-term program behavior viewpoint by classifying dynamic program execution into bottleneck phases -the portions of execution that have similar performance bottlenecks. We propose an event counter based performance model that can accurately estimate the performance cost for critical system events. Based on this model, we propose the bottleneck vector as the basis of long-term performance bottleneck analysis and a runtime bottleneck phase tracking scheme. In addition, three bottleneck phase prediction schemes are studied. Finally, we present an application of our performance bottleneck analysis model -an adaptive value predictor, which improves average performance by 7% when compared to the original value predictor design. Suleyman Sair |
ICCD | 2 |
| 2005 | Reducing the Latency and Area Cost of Core Swapping through Shared Helper EnginesabstractTechnologies scaling trends and the limitations of packaging and cooling have intensified the need for thermally efficient architectures and architecture-level temperature management techniques. To combat these trends, we explore the use of core swapping on microcore architecture, a deeply decoupled processor core with larger structures factored out as helper engines. The microcore architecture presents an ideal platform for core swapping thanks to helper engines that maintain the state of each process in a shared fabric surrounding the cores, reducing the impact of core swapping 43% on average while showing promising thermal reduction. It also has favorable performance when compared to other thermal management techniques. Furthermore, we evaluate alternative approaches to spending the area overhead of the additional microcore, including larger microcores, CMP cores, and SMT cores with different thermal management techniques. Anahita Shayesteh, Eren Kursun, Timothy Sherwood, Suleyman Sair, Glenn Reinman |
ICCD | 4 |
| 2004 | Creating Converged Trace Schedules Using String MatchingabstractWe focus on generating efficient software pipelined schedules for in-order machines, which we call converged trace schedules. For a candidate loop, we form a string of trace block identifiers by hashing together addresses of aggressively scheduled instructions from multiple iterations of a loop. In this process, the loop is unrolled and scheduled until we identify a repeating pattern in the string. Instructions corresponding to this repeating pattern form the kernel for our software pipelined schedule. We evaluate this approach to create aggressive schedules by using it in dynamic hardware and software optimization systems for an in-order architecture. Satish Narayanasamy, Yuanfang Hu, Suleyman Sair, Brad Calder |
HPCA | 3 |
| 2003 | Catching Accurate Profiles in HardwarabstractRun-time optimization is one of the most important ways of getting performance out of modern processors. Techniques such as prefetching, trace caching, memory disambiguation etc., are all based upon the principle of observation followed by adaptation, and all make use of some sort of profile information gathered at run-time. Programs are very complex, and the real trick in generating useful run-time profiles is sifting through all the unimportant and infrequently occurring events to find those that are important enough to warrant optimization. In this paper, we present the multi-hash architecture to catch important events even in the presence of extensive noise. Multi-hash uses a small amount of area, between 7 to 16 Kilo-bytes, to accurately capture these important events in hardware, without requiring any software support. This is achieved using multiple hash tables for the filtering, and interval-based profiling to help identify how important an event is in relationship to all the other events. We evaluate our design for value and edge profiling, and show that over a set of benchmarks, we get an average error less than 1%. Satish Narayanasamy, Timothy Sherwood, Suleyman Sair, Brad Calder, George Varghese |
HPCA | 3 |
| 2003 | Phase Tracking and Prediction
Timothy Sherwood, Suleyman Sair, Brad Calder |
ISCA | 2 |
| 2003 | A Decoupled Predictor-Directed Stream Prefetching ArchitectureabstractAn effective method for reducing the effect of load latency in modern processors is data prefetching. One form of hardware-based data prefetching, stream buffers, has been shown to be particularly effective due to its ability to detect data streams and run ahead of them, prefetching as it goes. Unfortunately, in the past, the applicability of streaming was limited to stride intensive code. In this paper, we propose predictor-directed stream buffers (PSB), which allows the stream buffer to follow a general address prediction stream instead of a fixed stride. A general address prediction stream complicates the allocation of both stream buffer and memory resources because the predictions generated will not be as reliable as prior sequential next-line and stride-based stream buffer implementations. To address this, we examine using confidence-based techniques to guide the allocation and prioritization of stream buffers and their prefetch requests. Our results show, when using PSB on a benchmark suite heavy in pointer-based applications, that PSB provides a 23 percent speedup on average over the best previous stream buffer implementation, and an improvement of 75 percent over using no prefetching at all. Suleyman Sair, Timothy Sherwood, Brad Calder |
IEEE Trans. Computers | 1 |
| 2002 | Quantifying Load Stream BehaviorabstractThe increasing performance gap between processors and memory will force future architectures to devote significant resources towards removing and hiding memory latency. The two major architectural features used to address this growing gap are caches and prefetching. In this paper we perform a detailed quantification of the cache miss patterns for the Olden benchmarks, SPEC 2000 benchmarks, and a collection of pointer based applications. We classify misses into one of four categories corresponding to the type of access pattern. These are next-line, stride, same-object (additional misses that occur to a recently accessed object), or pointer-based transitions. We then propose and evaluate a hardware profiling architecture to correctly identify which type of access pattern is being seen. This access pattern identification could be used to help guide and allocate prefetching resources, and provide information to feedback-directed optimizations. A second goal of this paper is to identify a suite of challenging pointer-based benchmarks that can be used to focus the development of new software and hardware prefetching algorithms, and identify the challenges in performing prefetching for these applications using new metrics. Suleyman Sair, Timothy Sherwood, Brad Calder |
HPCA | 1 |
| 2002 | Pointer cache assisted prefetchingabstractData prefetching effectively reduces the negative effects of long load latencies on the performance of modern processors. Hardware prefetchers employ hardware structures to predict future memory addresses based on previous patterns. Thread-based prefetchers use portions of the actual program code to determine future load addresses for prefetching. This paper proposes the use of a pointer cache, which tracks pointer transitions, to aid prefetching. The pointer cache provides, for a given pointer's effective address, the base address of the object pointed to by the pointer. We examine using the pointer cache in a wide issue superscalar processor as a value predictor and to aid prefetching when a chain of pointers is being traversed. When a load misses in the L1 cache, but hits in the pointer cache, the first two cache blocks of the pointed to object are prefetched. In addition, the load's dependencies are broken by using the pointer cache hit as a value prediction. We also examine using the pointer cache to allow speculative precomputation to run farther ahead of the main thread of execution than in prior studies. Previously proposed thread-based prefetchers are limited in how far they can run ahead of the main thread when traversing a chain of recurrent dependent loads. When combined with the pointer cache, a speculative thread can make better progress ahead of the main thread, rapidly traversing data structures in the face of cache misses caused by pointer transitions. Jamison D. Collins, Suleyman Sair, Brad Calder, Dean M. Tullsen |
MICRO | 2 |
| 2000 | Predictor-directed stream buffersabstractAn effective method for reducing the effect of load latency in modern processors is data prefetching. One form of data prefetching, stream buffers, has been shown to be particularly effective due to its ability to detect data streams and run ahead of them, prefetching as it goes. Unfortunately, in the past, the applicability of streaming was limited to stride intensive code. We propose Predictor-Directed Stream Buffers (PSB), a scheme in which the stream buffer follows an address prediction stream instead of a fired stride. In addition, we examine using confidence techniques to guide the allocation and prioritization of stream buffers and their prefetch requests. Our results show for pointer-based applications that PSB provides a 30% speedup on average over no prefetching, and provides an average 10% speedup over using previously proposed stride-based stream buffers for pointer-intensive applications. Timothy Sherwood, Suleyman Sair, Brad Calder |
MICRO | 2 |