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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Stephen Olivier

dblp:20/2619 · also Stephen L. Olivier · DBLP profile ↗
← Back
12ranked-venue papers
3as first author
3since 2021 · last 2024
0000-0001-6247-8980ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 10 · 3 first-author · 2 since 2021Applied, interdisciplinary, general and emerging computing · 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
3 papers
Parallel and multicore computing · 68% Electronic design automation · 16% Performance modeling and evaluation · 16%
Databases, data mining, and information retrieval
1 paper
Data mining · 100%
Software engineering, system software, and programming languages
1 paper
Program analysis · 100%

Topics — the 12 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.522018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018
Characterizing and mitigating work time inflation in task parallel programs · SC 2012
Electronic design automation
benchmark generation
0.412019
Scalable generation of graphs for benchmarking HPC community-detection algorithms · SC 2019
Performance modeling and evaluation
synthetic graph generation
0.412019
Scalable generation of graphs for benchmarking HPC community-detection algorithms · SC 2019
Parallel and multicore computing › parallel programming models › directive-based programming
OpenMP
0.312018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018
Parallel and multicore computing › parallel programming models
shared-memory parallelization
0.312018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018
Parallel and multicore computing › parallel scheduling
locality-aware scheduling
0.112012
Characterizing and mitigating work time inflation in task parallel programs · SC 2012
Parallel and multicore computing › parallel programming runtimes
runtime systems and scheduling
0.112012
Characterizing and mitigating work time inflation in task parallel programs · SC 2012
Parallel and multicore computing › parallel programming models
task parallelism
0.112012
Characterizing and mitigating work time inflation in task parallel programs · SC 2012
Data mining › structured data mining › graph mining
community detection
0.112019
Scalable generation of graphs for benchmarking HPC community-detection algorithms · SC 2019
Data mining › structured data mining
graph mining
0.112019
Scalable generation of graphs for benchmarking HPC community-detection algorithms · SC 2019
Program analysis
performance analysis tools
0.112018
The Ongoing Evolution of OpenMP · Proc. IEEE 2018
Parallel and multicore computing › multiprocessor system › distributed-memory multiprocessor
NUMA systems
0.012012
Characterizing and mitigating work time inflation in task parallel programs · SC 2012

Methods — techniques the papers use, named apart from their topics

LFR graph generator · 0.8task scheduling · 0.1performance analysis · 0.1
YearPublicationVenuePosition
2024 Leveraging LLVM OpenMP GPU Offload Optimizations for Kokkos Applications
abstract
OpenMP provides a cross-vendor API for GPU offload that can serve as an implementation layer under performance portability frameworks like the Kokkos C++ library. However, recent work identified some impediments to performance with this approach arising from limitations in the API or in the available implementations. Advanced programming concepts such as hierarchical parallelism and use of dynamic shared memory were a particular area of concern. In this paper, we apply recent improvements and extensions in the LLVM/Clang OpenMP compiler and runtime library to the Kokkos backend that targets GPUs via OpenMP offload. We focus on efficient hierarchical parallelism and use of fast GPU scratch memory. We compare the performance of applications written using the Kokkos library with this improved OpenMP backend against the same programs using the CUDA and HIP backends. This evaluation shows progress toward closing the performance gaps between native and OpenMP backends and offers insights that may be useful to users and implementers of other runtime systems and programming frameworks for GPUs.
Rahulkumar Gayatri, Shilei Tian, Stephen Olivier, Eric Wright, Johannes Doerfert
HiPC3
2023 View-aware Message Passing Through the Integration of Kokkos and ExaMPI
abstract
Kokkos provides in-memory advanced data structures, concurrency, and algorithms to support performance portable C++ parallel programming across CPUs and GPUs. The Message Passing Interface (MPI) provides the most widely used message passing model for inter-node communication. Many programmers use both Kokkos and MPI together. In this paper, Kokkos is integrated within an MPI implementation for ease of use in applications that use both Kokkos and MPI, without sacrificing performance. For instance, this model allows passing first-class Kokkos objects directly to extended C++-based MPI APIs.
Evan Drake Suggs, Stephen Olivier, Jan Ciesko, Anthony Skjellum
EuroMPI2
2023 Enabling power measurement and control on Astra: The first petascale Arm supercomputer
abstract
Summary Astra, deployed in 2018, was the first petascale supercomputer to utilize processors based on the ARM instruction set. The system was also the first under Sandia's Vanguard program which seeks to provide an evaluation vehicle for novel technologies that with refinement could be utilized in demanding, large‐scale HPC environments. In addition to ARM, several other important first‐of‐a‐kind developments were used in the machine, including new approaches to cooling the datacenter and machine. This article documents our experiences building a power measurement and control infrastructure for Astra. While this is often beyond the control of users today, the accurate measurement, cataloging, and evaluation of power, as our experiences show, is critical to the successful deployment of a large‐scale platform. While such systems exist in part for other architectures, Astra required new development to support the novel Marvell ThunderX2 processor used in compute nodes. In addition to documenting the measurement of power during system bring up and for subsequent on‐going routine use, we present results associated with controlling the power usage of the processor, an area which is becoming of progressively greater interest as data centers and supercomputing sites look to improve compute/energy efficiency and find additional sources for full system optimization.
Ryan E. Grant, Simon D. Hammond, James H. Laros III, Michael J. Levenhagen, Stephen Olivier, Kevin T. Pedretti, Lee Ward, Andrew J. Younge
Concurr. Comput. Pract. Exp.5
2019 Scalable generation of graphs for benchmarking HPC community-detection algorithms
abstract
Community detection in graphs is a canonical social network analysis method. We consider the problem of generating suites of teras-cale synthetic social networks to compare the solution quality of parallel community-detection methods. The standard method, based on the graph generator of Lancichinetti, Fortunato, and Radicchi (LFR), has been used extensively for modest-scale graphs, but has inherent scalability limitations.
George M. Slota, Jonathan W. Berry, Simon D. Hammond, Stephen Olivier, Cynthia A. Phillips, Sivasankaran Rajamanickam
SC4
2018 Optimizing for KNL Usage Modes When Data Doesn't Fit in MCDRAM
abstract
Technologies such as Multi-Channel DRAM (MCDRAM) or High Bandwidth Memory (HBM) provide significantly more bandwidth than conventional memory. This trend has raised questions about how applications should manage data transfers between levels. This paper focuses on evaluating different usage modes of the MCDRAM in Intel Knights Landing (KNL) manycore processors. We evaluate these usage modes with a sorting kernel and a sorting-based streaming benchmark. We develop a performance model for the benchmark and use experimental evidence to demonstrate the correctness of the model. The model projects near-optimal numbers of copy threads for memory bandwidth bound computations. We demonstrate on KNL up to a 1.9X speedup for sort when the problem does not fit in MCDRAM over an OpenMP GNU sort that does not use MCDRAM.
Neil Butcher, Stephen Olivier, Jonathan W. Berry, Simon D. Hammond, Peter M. Kogge
ICPP2
2018 The Ongoing Evolution of OpenMP
abstract
This paper presents an overview of the past, present and future of the OpenMP application programming interface (API). While the API originally specified a small set of directives that guided shared memory fork-join parallelization of loops and program sections, OpenMP now provides a richer set of directives that capture a wide range of parallelization strategies that are not strictly limited to shared memory. As we look toward the future of OpenMP, we immediately see further evolution of the support for that range of parallelization strategies and the addition of direct support for debugging and performance analysis tools. Looking beyond the next major release of the specification of the OpenMP API, we expect the specification eventually to include support for more parallelization strategies and to embrace closer integration into its Fortran, C and, in particular, C++ base languages, which will likely require the API to adopt additional programming abstractions.
Bronis R. de Supinski, Thomas Scogland, Alejandro Duran, Michael Klemm, Sergi Mateo, Stephen Olivier, Christian Terboven, Timothy G. Mattson
Proc. IEEE6
2017 An Adaptive Core-Specific Runtime for Energy Efficiency
abstract
Energy efficiency in high performance computing (HPC) will be critical to limit operating costs and carbon footprints in future supercomputing centers. Energy efficiency of a computation can be improved by reducing time to completion without a substantial increase in power drawn or by reducing power with a little increase in time to completion. We present an Adaptive Core-specific Runtime (ACR) that dynamically adapts core frequencies to workload characteristics, and show examples of both reductions in power and improvement in the average performance. This improvement in energy efficiency is obtained without changes to the application. The adaptation policy embedded in the runtime uses existing core-specific power controls like software-controlled clock modulation and per-core Dynamic Voltage Frequency Scaling (DVFS) introduced in Intel Haswell. Experiments on six standard MPI benchmarks and a real world application show an overall 20% improvement in energy efficiency with less than 1% increase in execution time on 32 nodes (1024 cores) using per-core DVFS. An improvement in energy efficiency of up to 42% is obtained with the real world application ParaDis through a combination of speedup and power reduction. For one configuration, ParaDis achieves an average speedup of 11%, while the power is lowered by about 31%. The average improvement in the performance seen is a direct result of the reduction in run-to-run variation and running at turbo frequencies.
Sridutt Bhalachandra, Allan Porterfield, Stephen Olivier, Jan F. Prins
IPDPS3
2014 Exploiting Geometric Partitioning in Task Mapping for Parallel Computers
abstract
We present a new method for mapping applications' MPI tasks to cores of a parallel computer such that communication and execution time are reduced. We consider the case of sparse node allocation within a parallel machine, where the nodes assigned to a job are not necessarily located within a contiguous block nor within close proximity to each other in the network. The goal is to assign tasks to cores so that interdependent tasks are performed by "nearby" cores, thus lowering the distance messages must travel, the amount of congestion in the network, and the overall cost of communication. Our new method applies a geometric partitioning algorithm to both the tasks and the processors, and assigns task parts to the corresponding processor parts. We show that, for the structured finite difference mini-app Mini Ghost, our mapping method reduced execution time 34% on average on 65,536 cores of a Cray XE6. In a molecular dynamics mini-app, Mini MD, our mapping method reduced communication time by 26% on average on 6144 cores. We also compare our mapping with graph-based mappings from the LibTopoMap library and show that our mappings reduced the communication time on average by 15% in MiniGhost and 10% in MiniMD.
Mehmet Deveci, Sivasankaran Rajamanickam, Vitus J. Leung, Kevin T. Pedretti, Stephen Olivier, David P. Bunde, Ümit V. Çatalyürek, Karen D. Devine
IPDPS5
2012 Characterizing and mitigating work time inflation in task parallel programs
abstract
Task parallelism raises the level of abstraction in shared memory parallel programming to simplify the development of complex applications. However, task parallel applications can exhibit poor performance due to thread idleness, scheduling overheads, and work time inflation -- additional time spent by threads in a multithreaded computation beyond the time required to perform the same work in a sequential computation. We identify the contributions of each factor to lost efficiency in various task parallel OpenMP applications and diagnose the causes of work time inflation in those applications. Increased data access latency can cause significant work time inflation in NUMA systems. Our locality framework for task parallel OpenMP programs mitigates this cause of work time inflation. Our extensions to the Qthreads library demonstrate that locality-aware scheduling can improve performance up to 3X compared to the Intel OpenMP task scheduler.
Stephen Olivier, Bronis R. de Supinski, Martin Schulz 0001, Jan F. Prins
SC1
2008 Scalable Dynamic Load Balancing Using UPC
abstract
An asynchronous work-stealing implementation of dynamic load balance is implemented using Unified Parallel C (UPC) and evaluated using the Unbalanced Tree Search (UTS) benchmark [Olivier, S., et al., 2007]. The UTS benchmark presents a synthetic tree-structured search space that is highly imbalanced. Parallel implementation of the search requires continuous dynamic load balancing to keep all processors engaged in the search. Our implementation achieves better scaling and parallel efficiency in both shared memory and distributed memory settings than previous efforts using UPC [Olivier, S., et al., 2007] and MPI [Dinan, J., et al., 2007]. We observe parallel efficiency of 80% using 1024 processors performing over 85,000 total load balancing operations per second continuously. The UPC programming model provides substantial simplifications in the expression of the asynchronous work stealing protocol compared with MPI. However, to obtain performance portability with UPC in both shared memory and distributed memory settings requires the careful use of one sided reads and writes to minimize the impact of high latency communication. Additional protocol improvements are made to improve dissemination of available work and to decrease the cost of termination detection.
Stephen Olivier, Jan F. Prins
ICPP1
2007 Dynamic Load Balancing of Unbalanced Computations Using Message Passing
abstract
This paper examines MPI's ability to support continuous, dynamic load balancing for unbalanced parallel applications. We use an unbalanced tree search benchmark (UTS) to compare two approaches, 1) work sharing using a centralized work queue, and 2) work stealing using explicit polling to handle steal requests. Experiments indicate that in addition to a parameter defining the granularity of load balancing, message-passing paradigms require additional parameters such as polling intervals to manage runtime overhead. Using these additional parameters, we observed an improvement of up to 2times in parallel performance. Overall we found that while work sharing may achieve better peak performance on certain workloads, work stealing achieves comparable if not better performance across a wider range of chunk sizes and workloads.
James Dinan, Stephen Olivier, Gerald Sabin, Jan F. Prins, P. Sadayappan, Chau-Wen Tseng
IPDPS2
2007 Porting the GROMACS Molecular Dynamics Code to the Cell Processor
abstract
The Cell processor offers substantial computational power which can be effectively utilized only if application design and implementation are tuned to the Cell architecture. In this paper, we examine application characteristics which facilitate efficient use of the Cell processor, and those which present obstacles to it. Moreover, we consider possible solutions designed to mitigate inefficiencies. The target application in our study is the GROMACS molecular dynamics package. We have accelerated the most-often used compute-intensive kernel while maintaining the constraints imposed by the structure of the surrounding program. The significant contribution of this paper is the consideration of the kernel in the context of a complex end-to-end application, with irregular data and code patterns, rather than an isolated kernel code. For this challenging scenario, our results show a 2X speedup versus hand-tuned VMX/SSE code running on high-end PowerPC and x86 uniprocessor machines.
Stephen Olivier, Jan F. Prins, Jeff Derby, Ken V. Vu
IPDPS1