Demo Data from VLDB 2026 / reviewers in the wild / expert
Geoffrey Blake
dblp:72/7846 · also Geoffrey W. Blake
· DBLP profile ↗
7ranked-venue papers
4as first author
0since 2021 · last 2020
0000-0003-0787-1610ORCID · reported
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 2 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
4 papers |
Processor architecture and microarchitecture · 41% Electronic design automation · 23% Parallel and multicore computing · 23% | |
| Software engineering, system software, and programming languages
1 paper |
Concurrent programming · 100% |
Topics — the 14 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Electronic design automation › high-level synthesis
scheduling |
0.4 | 1 | 2020 | Q-Zilla: A Scheduling Framework and Core Microarchitecture for Tail-Tolerant Microservices · HPCA 2020 |
Performance modeling and evaluation
queuing |
0.1 | 1 | 2020 | Q-Zilla: A Scheduling Framework and Core Microarchitecture for Tail-Tolerant Microservices · HPCA 2020 |
Concurrent programming › transactional memory
contention management |
0.1 | 1 | 2011 | Bloom Filter Guided Transaction Scheduling · HPCA 2011 |
Concurrent programming
transactional memory |
0.1 | 1 | 2011 | Bloom Filter Guided Transaction Scheduling · HPCA 2011 |
Concurrent programming › transactional memory
transaction scheduling |
0.1 | 1 | 2011 | Bloom Filter Guided Transaction Scheduling · HPCA 2011 |
Processor architecture and microarchitecture › transactional execution
hardware transactional memory support |
0.1 | 1 | 2011 | Bloom Filter Guided Transaction Scheduling · HPCA 2011 |
Processor architecture and microarchitecture
chip multiprocessor |
0.1 | 1 | 2010 | Evolution of thread-level parallelism in desktop applications · ISCA 2010 |
Processor architecture and microarchitecture
many-core architecture |
0.1 | 1 | 2010 | Evolution of thread-level parallelism in desktop applications · ISCA 2010 |
Parallel and multicore computing
thread-level parallelism |
0.1 | 1 | 2010 | Evolution of thread-level parallelism in desktop applications · ISCA 2010 |
Parallel and multicore computing › transactional memory
contention management |
0.1 | 1 | 2009 | Proactive transaction scheduling for contention management · MICRO 2009 |
Parallel and multicore computing
synchronization |
0.1 | 1 | 2009 | Proactive transaction scheduling for contention management · MICRO 2009 |
Parallel and multicore computing
transactional memory |
0.1 | 1 | 2009 | Proactive transaction scheduling for contention management · MICRO 2009 |
Distributed systems › transaction processing
transaction scheduling |
0.1 | 1 | 2009 | Proactive transaction scheduling for contention management · MICRO 2009 |
GPUs and heterogeneous computing › GPU performance analysis
GPU utilization |
0.0 | 1 | 2010 | Evolution of thread-level parallelism in desktop applications · ISCA 2010 |
Methods — techniques the papers use, named apart from their topics
size-interval task assignment · 0.4incremental preemption · 0.4hardware-software co-design · 0.2bloom filter heuristic · 0.2workload characterization · 0.1measurement study · 0.1proactive transaction scheduling · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Q-Zilla: A Scheduling Framework and Core Microarchitecture for Tail-Tolerant MicroservicesabstractManaging tail latency is a primary challenge in designing large-scale Internet services. Queuing is a major contributor to end-to-end tail latency, wherein nominal tasks are enqueued behind rare, long ones, due to Head-of-Line (HoL) blocking. In this paper, we introduce Q-Zilla, a scheduling framework to tackle tail latency from a queuing perspective, and CoreZilla, a microarchitectural instantiation of our framework. On the algorthmic front, we first propose Server-Queue Decoupled Size-Interval Task Assignment (SQD-SITA), an efficient scheduling algorithm to minimize tail latency for high-disparity service distributions. SQD-SITA is inspired by an earlier algorithm, SITA, which explicitly seeks to address HoL blocking by providing an express-lane for short tasks, protecting them from queuing behind rare, long ones. But, SITA requires prior knowledge of task lengths to steer them into their corresponding lane, which is impractical. Furthermore, SITA may underperform an M/G/k system when some lanes become underutilized. In contrast, SQD-SITA uses incremental preemption to avoid the need for a priori task-size information, and dynamically reallocates servers to lanes to increase server utilization with no performance penalty. We then introduce Interruptible SQD-SITA, which further improves tail latency at the cost of additional preemptions. Finally, we describe and evaluate CoreZilla, wherein a multi-threaded core efficiently implements ISQD-SITA in a software-transparent manner at minimal cost. Our evaluation demonstrates that CoreZilla improves tail latency over a conventional SMT core with 2, 4, and 8 contexts by 2.25×, 3.23×, and 4.88×, on average, respectively. Amirhossein Mirhosseini, Brendan L. West, Geoffrey Blake, Thomas F. Wenisch |
HPCA | 3 |
| 2015 | Where does the time go? characterizing tail latency in memcachedabstractTo function correctly Online, Data-Intensive (OLDI) services require low and consistent service times. Maintaining predictable service times entails requiring 99thor higher percentile latency targets across hundreds to thousands of servers in the data-center. However, to maintain the 99thpercentile targets servers are routinely run well below full utilization. The main difficulty in optimizing a server to run closer to peak utilization and maintain predictable 99thpercentile response latencies is identifying and mitigating the causes of a request missing the target service time. In practice this analysis is challenging as requests and responses overlap their execution with respect to one another and traverse multiple layers of software, user/kernel protection boundaries, and the hardware/software divide. Traditional profiling methods that record the time being spent in each function usually yield few clues as to where a bottleneck may be present due to the many layers of software each consuming only a small fraction of time each. In this work we analyze the end-to-end sources of latency in a Memcached server from the wire through the kernel into the application and back again. To do so, we develop a tool that utilizes the Linux SystemTap infrastructure to measure latency throughout the many software layers that make up the complete request and response path for Memcached. While memory copies and the Linux networking stack are often suggested as major contributors to latency, we find that the main cause of missing response latency guarantees is the formation of standing queues and the application’s inability to detect and remedy this situation. Geoffrey Blake, Ali G. Saidi |
ISPASS | 1 |
| 2014 | A study of Thread Level Parallelism on mobile devicesabstractMobile devices continue to increase the number of cores in an attempt to meet the needs of performance-demanding applications. However, the increasing number of cores does not necessarily translate into performance gain and/or power reduction. In this paper we investigate how multi-core mobile devices are utilized by applications. Our results demonstrate that mobile applications are utilizing less than 2 cores on average, which shows that multi-cores are generally underutilized by today's mobile applications. Unless application developers can significantly improve core utilization, further increasing core counts will result in little gain. Cao Gao, Anthony Gutierrez, Ronald G. Dreslinski, Trevor N. Mudge, Krisztián Flautner, Geoffrey Blake |
ISPASS | 6 |
| 2012 | Swizzle Switch: A self-arbitrating high-radix crossbar for NoC systems
Ronald G. Dreslinski, Korey Sewell, Thomas Manville, Sudhir Satpathy, Nathaniel Ross Pinckney, Geoffrey Blake, Michael Cieslak, Reetuparna Das, Thomas F. Wenisch, Dennis Sylvester, David T. Blaauw, Trevor N. Mudge |
Hot Chips Symposium | 6 |
| 2011 | Bloom Filter Guided Transaction SchedulingabstractContention management is an important design component to a transactional memory system. Without effective contention management to ensure forward progress, a transactional memory system can experience live-lock, which is difficult to debug in parallel programs. Early work in contention management focused on heuristic managers that reacted to conflicts between transactions by picking the most appropriate transaction to abort. Reactive methods allow conflicts to happen repeatedly as they do not try to prevent future conflicts from happening. These shortcomings of reactive contention managers have led to proposals that approach contention management as a scheduling problem - proactive managers. Proactive techniques range from throttling execution in predicted periods of high contention to preventing groups of transactions running concurrently that are predicted likely to conflict. We propose a novel transaction scheduling scheme called “Bloom Filter Guided Transaction Scheduling” (BFGTS), that uses a combination of simple hardware and Bloom filter heuristics to guide scheduling decisions and provide enhanced performance in high contention situations. We compare to two state-of-the-art transaction schedulers, “Adaptive Transaction Scheduling” and “Proactive Transaction Scheduling” and show that BFGTS attains up to a 4.6× and 1.7× improvement on high contention benchmarks respectively. Across all benchmarks it shows a 35% and 25% average performance improvement respectively. Geoffrey Blake, Ronald G. Dreslinski, Trevor N. Mudge |
HPCA | 1 |
| 2010 | Evolution of thread-level parallelism in desktop applicationsabstractAs the effective limits of frequency and instruction level par-allelism have been reached, the strategy of microprocessor vendors has changed to increase the number of processing cores on a single chip each generation. The implicit expecta-tion is that software developers will write their applications with concurrency in mind to take advantage of this sudden change in direction. In this study we analyze whether soft-ware developers for laptop/desktop machines have followed the recent hardware trends by creating software for chip multi-processing. We conduct a study of a wide range of ap-plications on Microsoft Windows 7 and Apple’s OS X Snow Leopard, measuring Thread Level Parallelism on a high per-formance workstation and a low power desktop. In addition, we explore graphics processing units (GPUs) and their im-pact on chip multi-processing. We compare our findings to a study done 10 years ago which concluded that a second core was sufficient to improve system responsiveness. Our results on today’s machines show that, 10 years later, surprisingly 2-3 cores are more than adequate for most applications and that the GPU often remains under-utilized. However, in some application specific domains an 8 core SMT system with a 240 core GPU can be effectively utilized. Overall these studies suggest that many-core architectures are not a natural fit for current desktop/laptop applications. Geoffrey Blake, Ronald G. Dreslinski, Trevor N. Mudge, Krisztián Flautner |
ISCA | 1 |
| 2009 | Proactive transaction scheduling for contention managementabstractHardware Transactional Memory offers a promising high performance and easier to program alternative to lock-based synchronization for creating parallel programs. This is particularly important as hardware manufacturers continue to put more cores on die. But transactional memory still has one main drawback: contention. Contention is caused by multiple transactions trying to speculatively modify the same memory location concurrently causing one or more transactions to abort and retry its execution. Contention serializes the execution, meaning high contention leads to very poor parallel performance. As more cores are added, contention worsens. To date contention-manager designs have been primarily reactive in nature and limited to various forms of randomized backoff to effectively stall contending transactions when conflicts occur. Geoffrey Blake, Ronald G. Dreslinski, Trevor N. Mudge |
MICRO | 1 |