EDBT 2026 Demo / reviewers in the wild / expert
William N. Scherer III
dblp:22/1112
· DBLP profile ↗
14ranked-venue papers
3as first author
0since 2021 · last 2011
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 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.
| Software engineering, system software, and programming languages
4 papers |
Concurrent programming · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 100% |
Topics — the 8 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming › transactional memory
software transactional memory |
0.1 | 2 | 2005 | Advanced contention management for dynamic software transactional memory · PODC 2005 Software transactional memory for dynamic-sized data structures · PODC 2003 |
Concurrent programming
concurrent data structures |
0.1 | 1 | 2006 | Scalable synchronous queues · PPoPP 2006 |
Concurrent programming › synchronization
non-blocking synchronization |
0.1 | 1 | 2006 | Scalable synchronous queues · PPoPP 2006 |
Concurrent programming › transactional memory
contention management |
0.1 | 1 | 2005 | Advanced contention management for dynamic software transactional memory · PODC 2005 |
Concurrent programming › non-blocking algorithms
non-blocking data structures |
0.0 | 1 | 2003 | Software transactional memory for dynamic-sized data structures · PODC 2003 |
Concurrent programming › synchronization
queue-based lock |
0.0 | 1 | 2001 | Scalable queue-based spin locks with timeout · PPoPP 2001 |
Concurrent programming › synchronization
spinlock |
0.0 | 1 | 2001 | Scalable queue-based spin locks with timeout · PPoPP 2001 |
Concurrent programming
synchronization |
0.0 | 1 | 2001 | Scalable queue-based spin locks with timeout · PPoPP 2001 |
Methods — techniques the papers use, named apart from their topics
dual stack · 0.1dual queue · 0.1timeout · 0.1test-and-set · 0.1contention manager · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Implementation and Performance Evaluation of the HPC Challenge Benchmarks in Coarray Fortran 2.0abstractToday's largest supercomputers have over two hundred thousand CPU cores and even larger systems are under development. Typically, these systems are programmed using message passing. Over the past decade, there has been considerable interest in developing simpler and more expressive programming models for them. Partitioned global address space (PGAS) languages are viewed as perhaps the most promising alternative. In this paper, we report on our experience developing a set of PGAS extensions to Fortran that we call Co array Fortran 2.0 (CAF 2.0). Our design for CAF 2.0 goes well beyond the original 1998 design of Co array Fortran (CAF) by Numrich and Reid. CAF 2.0 includes language support for many features including teams, collective communication, asynchronous communication, function shipping, and synchronization. We describe the implementation of these features and our experiences using them to implement the High Performance Computing Challenge (HPCC) benchmarks, including High Performance Linpack (HPL), Random Access, Fast Fourier Transform (FFT), and STREAM triad. On 4096 CPU cores of a Cray XT with 2.3 GHz single socket quad-core Opteron processors, we achieved 18.3 TFLOP/s with HPL, 2.01 GUP/s with Random Access, 125 GFLOP/s with FFT, and a bandwidth of 8.73 TByte/s with STREAM triad. we call Co array Fortran 2.0 (CAF 2.0). Our design for CAF 2.0 goes well beyond the original 1998 design of Coarray Fortran (CAF) by Numrich and Reid. CAF 2.0 includes language support for many features including teams, collective communication, asynchronous communication, function shipping, and synchronization. We describe the implementation of these features and our experiences using them to implement the High Performance Computing Challenge (HPCC) benchmarks, including High Performance Linpack (HPL), Random Access, Fast Fourier Transform (FFT), and STREAM triad. On 4096 CPU cores of a Cray XT with 2.3 GHz single socket quad-core Opteron processors, we achieved 18.3 TFLOP/s with HPL, 2.01 GUP/s with Random Access, 125 GFLOP/s with FFT, and a bandwidth of 8.73 TByte/s with STREAM triad. Guohua Jin, John M. Mellor-Crummey, Laksono Adhianto, William N. Scherer III |
IPDPS | 4 |
| 2009 | Phaser accumulators: A new reduction construct for dynamic parallelismabstractA reduction is a computation in which a common operation, such as a sum, is to be performed across multiple pieces of data, each supplied by a separate task. We introduce phaser accumulators, a new reduction construct that meshes seamlessly with phasers to support dynamic parallelism in a phased (iterative) setting. By separating reduction computations into the parts of sending data, performing the computation itself, and retrieving the result, we enable overlap of communication and computation in a manner analogous to that of split-phase barriers. Additionally, this separation enables exploration of implementation strategies that differ as to when the reduction itself is performed: eagerly when the data is supplied, or lazily when a synchronization point is reached. We implement accumulators as extensions to phasers in the Habanero dialect of the X10 programming language. Performance evaluations of the EPCC Syncbench, Spectral-norm, and CG benchmarks on AMD Opteron, Intel Xeon, and Sun UltraSPARC T2 multicore SMPs show superior performance and scalability over OpenMP reductions (on two platforms) and X10 code (on three platforms) written with atomic blocks, with improvements of up to 2.5times on the Opteron and 14.9times on the UltraSPARC T2 relative to OpenMP and 16.5times on the Opteron, 26.3times on the Xeon and 94.8times on the UltraSPARC T2 relative to X10 atomic blocks. To the best of our knowledge, no prior reduction construct supports the dynamic parallelism and asynchronous capabilities of phaser accumulators. Jun Shirako, David M. Peixotto, Vivek Sarkar, William N. Scherer III |
IPDPS | 4 |
| 2008 | Phasers: a unified deadlock-free construct for collective and point-to-point synchronizationabstractCoordination and synchronization of parallel tasks is a major source of complexity in parallel programming. These constructs take many forms in practice including mutual exclusion in accesses to shared resources, termination detection of child tasks, collective barrier synchronization, and point-to-point synchronization. In this paper, we introduce phasers, a new coordination construct that unifies collective and point-to-point synchronizations. We establish two safety properties for phasers: deadlock-freedom and phase-ordering. Performance results obtained from a portable implementation of phasers on three different SMP platforms demonstrate that phasers can deliver superior performance to existing barrier implementations, in addition to the productivity benefits that result from their generality and safety properties. Jun Shirako, David M. Peixotto, Vivek Sarkar, William N. Scherer III |
ICS | 4 |
| 2008 | Commit phase in timestamp-based stmabstractTimestamp-based Software Transactional Memory (STM)validation techniques use a global shared counter and timestamping of objects being written to reason about sequencing of transactions and their linearization points, while reducing the number of unnecessary validations that have to be performed, thus improving overall system performance. Zoran Budimlic, William N. Scherer III |
SPAA | 3 |
| 2007 | A Key-based Adaptive Transactional Memory ExecutorabstractSoftware transactional memory systems enable a programmer to easily write concurrent data structures such as lists, trees, hashtables, and graphs, where non-conflicting operations proceed in parallel. Many of these structures take the abstract form of a dictionary, in which each transaction is associated with a search key. By regrouping transactions based on their keys, one may improve locality and reduce conflicts among parallel transactions. In this paper, we present an executor that partitions transactions among available processors. Our key-based adaptive partitioning monitors incoming transactions, estimates the probability distribution of their keys, and adaptively determines the (usually nonuniform) partitions. By comparing the adaptive partitioning with uniform partitioning and round-robin keyless partitioning on a 16-processor SunFire 6800 machine, we demonstrate that key-based adaptive partitioning significantly improves the throughput of finegrained parallel operations on concurrent data structures. Tongxin Bai, Xipeng Shen, Chengliang Zhang, William N. Scherer III, Chen Ding 0001, Michael L. Scott |
IPDPS | 4 |
| 2006 | Scalable synchronous queuesabstractWe present two new nonblocking and contention-free implementations of synchronous queues ,concurrent transfer channels in which producers wait for consumers just as consumers wait for producers. Our implementations extend our previous work in dual queues and dual stacks to effect very high-performance handoff. We present performance results on 16-processor SPARC and 4-processor Opteron machines. We compare our algorithms to commonly used alternatives from the literature and from the Java SE 5.0 class java. util. concurrent. SynchronousQueue both directly in synthetic microbenchmarks and indirectly as the core of Java's Thread-PoolExecutor mechanism (which in turn is the core of many Java server programs).Our new algorithms consistently outperform the Java SE 5.0 SynchronousQueue by factors of three in unfair mode and 14 in fair mode; this translates to factors of two and ten for the ThreadPoolExecutor. Our synchronous queues have been adopted for inclusion in Java 6. William N. Scherer III, Doug Lea, Michael L. Scott |
PPoPP | 1 |
| 2006 | Conflict Detection and Validation Strategies for Software Transactional Memory
Michael F. Spear, Virendra J. Marathe, William N. Scherer III, Michael L. Scott |
DISC | 3 |
| 2005 | Preemption Adaptivity in Time-Published Queue-Based Spin Locks
Bijun He, William N. Scherer III, Michael L. Scott |
HiPC | 2 |
| 2005 | A Lazy Concurrent List-Based Set Algorithm
Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III, Nir Shavit |
OPODIS | 5 |
| 2005 | Advanced contention management for dynamic software transactional memoryabstractThe obstruction-free Dynamic Software Transactional Memory (DSTM) system of Herlihy et al. allows only one transaction at a time to acquire an object for writing. Should a second require an object currently in use, a contention manager must determine which may proceed and which must wait or abort. We analyze both new and existing policies for this contention management problem, using experimental results from a 16-pro-cessor SunFire machine. We consider both visible and invisible versions of read access, and benchmarks that vary in complexity, level of contention, tendency toward circular dependence, and mix of reads and writes. We present fair proportional-share prioritized versions of several policies, and identify a candidate default pol-icy: one that provides, for the first time, good performance in every case we test. The tradeoff between visible and invisible reads re-mains application-specific: visible reads reduce the overhead for incremental validation when opening new objects, but the requisite bookkeeping exacerbates contention for the memory interconnect. William N. Scherer III, Michael L. Scott |
PODC | 1 |
| 2005 | Adaptive Software Transactional Memory
Virendra J. Marathe, William N. Scherer III, Michael L. Scott |
DISC | 2 |
| 2004 | Nonblocking Concurrent Data Structures with Condition Synchronization
William N. Scherer III, Michael L. Scott |
DISC | 1 |
| 2003 | Software transactional memory for dynamic-sized data structuresabstractWe propose a new form of software transactional memory (STM) designed to support dynamic-sized data structures, and we describe a novel non-blocking implementation. The non-blocking property we consider is obstruction-freedom. Obstruction-freedom is weaker than lock-freedom; as a result, it admits substantially simpler and more efficient implementations. A novel feature of our obstruction-free STM implementation is its use of modular contention managers to ensure progress in practice. We illustrate the utility of our dynamic STM with a straightforward implementation of an obstruction-free red-black tree, thereby demonstrating a sophisticated non-blocking dynamic data structure that would be difficult to implement by other means. We also present the results of simple preliminary performance experiments that demonstrate that an "early release" feature of our STM is useful for reducing contention, and that our STM lends itself to the effective use of modular contention managers. Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III |
PODC | 4 |
| 2001 | Scalable queue-based spin locks with timeoutabstractQueue-based spin locks allow programs with busy-wait synchronization to scale to very large multiprocessors, without fear of starvation or performance-destroying contention. So-called try locks, traditionally based on non-scalable test-and-set locks, allow a process to abandon its attempt to acquire a lock after a given amount of time. The process can then pursue an alternative code path, or yield the processor to some other process. Michael L. Scott, William N. Scherer III |
PPoPP | 2 |