Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

William N. Scherer III

dblp:22/1112 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Concurrent programming › transactional memory
software transactional memory
0.122005
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.112006
Scalable synchronous queues · PPoPP 2006
Concurrent programming › synchronization
non-blocking synchronization
0.112006
Scalable synchronous queues · PPoPP 2006
Concurrent programming › transactional memory
contention management
0.112005
Advanced contention management for dynamic software transactional memory · PODC 2005
Concurrent programming › non-blocking algorithms
non-blocking data structures
0.012003
Software transactional memory for dynamic-sized data structures · PODC 2003
Concurrent programming › synchronization
queue-based lock
0.012001
Scalable queue-based spin locks with timeout · PPoPP 2001
Concurrent programming › synchronization
spinlock
0.012001
Scalable queue-based spin locks with timeout · PPoPP 2001
Concurrent programming
synchronization
0.012001
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
YearPublicationVenuePosition
2011 Implementation and Performance Evaluation of the HPC Challenge Benchmarks in Coarray Fortran 2.0
abstract
Today'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
IPDPS4
2009 Phaser accumulators: A new reduction construct for dynamic parallelism
abstract
A 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
IPDPS4
2008 Phasers: a unified deadlock-free construct for collective and point-to-point synchronization
abstract
Coordination 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
ICS4
2008 Commit phase in timestamp-based stm
abstract
Timestamp-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
SPAA3
2007 A Key-based Adaptive Transactional Memory Executor
abstract
Software 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
IPDPS4
2006 Scalable synchronous queues
abstract
We 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
PPoPP1
2006 Conflict Detection and Validation Strategies for Software Transactional Memory
Michael F. Spear, Virendra J. Marathe, William N. Scherer III, Michael L. Scott
DISC3
2005 Preemption Adaptivity in Time-Published Queue-Based Spin Locks
Bijun He, William N. Scherer III, Michael L. Scott
HiPC2
2005 A Lazy Concurrent List-Based Set Algorithm
Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III, Nir Shavit
OPODIS5
2005 Advanced contention management for dynamic software transactional memory
abstract
The 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
PODC1
2005 Adaptive Software Transactional Memory
Virendra J. Marathe, William N. Scherer III, Michael L. Scott
DISC2
2004 Nonblocking Concurrent Data Structures with Condition Synchronization
William N. Scherer III, Michael L. Scott
DISC1
2003 Software transactional memory for dynamic-sized data structures
abstract
We 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
PODC4
2001 Scalable queue-based spin locks with timeout
abstract
Queue-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
PPoPP2