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

Richard Schooler

dblp:80/5833 · DBLP profile ↗
← Back
6ranked-venue papers
0as first author
1since 2021 · last 2023
—ORCID · none

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

Software engineering, systems software and programming languages · 4Systems, architecture and hardware · 1Computer networks · 1 · 1 since 2021

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 networks
1 paper
Content delivery and video streaming · 100%
Software engineering, system software, and programming languages
3 papers
Program analysis · 41% Compilers and program optimization · 29% Debugging and program repair · 21%
Artificial intelligence
1 paper
Reinforcement learning · 100%

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

TopicWeightPapersLastEvidence papers
Content delivery and video streaming › caching › cache management
cache replacement
0.712023
HALP: Heuristic Aided Learned Preference Eviction Policy for YouTube Content Delivery Network · NSDI 2023
Content delivery and video streaming › content delivery network
CDN caching
0.712023
HALP: Heuristic Aided Learned Preference Eviction Policy for YouTube Content Delivery Network · NSDI 2023
Program analysis
dynamic analysis
0.112005
TraceBack: first fault diagnosis by reconstruction of distributed control flow · PLDI 2005
Debugging and program repair
fault localization
0.112005
TraceBack: first fault diagnosis by reconstruction of distributed control flow · PLDI 2005
Program analysis › dynamic analysis
runtime instrumentation
0.112005
TraceBack: first fault diagnosis by reconstruction of distributed control flow · PLDI 2005
Compilers and program optimization
interprocedural optimization
0.011998
Scalable Cross-Module Optimization · PLDI 1998
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.011998
Scalable Cross-Module Optimization · PLDI 1998
Software maintenance and evolution
code clone
0.011997
Aggressive Inlining · PLDI 1997
Compilers and program optimization › interprocedural optimization
inlining
0.011997
Aggressive Inlining · PLDI 1997
Compilers and program optimization › interprocedural optimization
profile-guided inlining
0.011997
Aggressive Inlining · PLDI 1997
Software maintenance and evolution
build systems
0.011998
Scalable Cross-Module Optimization · PLDI 1998
Memory systems › cache › CPU cache
instruction cache
0.011997
Aggressive Inlining · PLDI 1997

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

reinforcement learning · 1.3heuristic · 1.3control-flow instrumentation · 0.1binary program analysis · 0.1profile-guided optimization · 0.0profile data management · 0.0
YearPublicationVenuePosition
2023 HALP: Heuristic Aided Learned Preference Eviction Policy for YouTube Content Delivery Network
Nuikhil Sarda, Deniz Altinbüken, Eugene Brevdo, Jimmy Coleman, Xiao Ju, Pawel Jurczyk, Richard Schooler, Ramki Gummadi
NSDI9
2013 Cyber physical systems: Systems engineering of industrial embedded systems - Barriers, enablers and opportunities
abstract
Cyber physical systems: systems engineering of industrial embedded systems-barriers, enablers and opportunities; high-performance, scalable, general-purpose processors to accelerate high-throughput networking and security applications; Low-power high-performance asynchronous processors.
Clas A. Jacobson, Richard Schooler, Michel Laurence
CASES2
2005 TraceBack: first fault diagnosis by reconstruction of distributed control flow
abstract
Faults that occur in production systems are the most important faults to fix, but most production systems lack the debugging facilities present in development environments. TraceBack provides debugging information for production systems by providing execution history data about program problems (such as crashes, hangs, and exceptions). TraceBack supports features commonly found in production environments such as multiple threads, dynamically loaded modules, multiple source languages (e.g., Java applications running with JNI modules written in C++), and distributed execution across multiple computers. TraceBack supports first fault diagnosis-discovering what went wrong the first time a fault is encountered. The user can see how the program reached the fault state without having to re-run the computation; in effect enabling a limited form of a debugger in production code.TraceBack uses static, binary program analysis to inject low-overhead runtime instrumentation at control-flow block granularity. Post-facto reconstruction of the records written by the instrumentation code produces a source-statement trace for user diagnosis. The trace shows the dynamic instruction sequence leading up to the fault state, even when the program took exceptions or terminated abruptly (e.g., kill -9).We have implemented TraceBack on a variety of architectures and operating systems, and present examples from a variety of platforms. Performance overhead is variable, from 5% for Apache running SPECweb99, to 16%-25% for the Java SPECJbb benchmark, to 60% average for SPECint2000. We show examples of TraceBack's cross-language and cross-machine abilities, and report its use in diagnosing problems in production software.
Andrew Ayers, Richard Schooler, Chris Metcalf, Anant Agarwal, Junghwan Rhee, Emmett Witchel
PLDI2
1998 Scalable Cross-Module Optimization
abstract
Large applications are typically partitioned into separately compiled modules. Large performance gains in these applications are available by optimizing across module boundaries. One barrier to applying crossmodule optimization (CMO) to large applications is the potentially enormous amount of time and space consumed by the optimization process.We describe a framework for scalable CMO that provides large gains in performance on applications that contain millions of lines of code. Two major techniques are described. First, careful management of in-memory data structures results in sub-linear memory occupancy when compared to the number of lines of code being optimized. Second, profile data is used to focus optimization effort on the performance-critical portions of applications. We also present practical issues that arise in deploying this framework in a production environment. These issues include debuggability and compatibility with existing development tools, such as make. Our framework is deployed in Hewlett-Packard's (HP) UNIX compiler products and speeds up shipped independent software vendors' applications by as much as 71%.
Andrew Ayers, Stuart de Jong, John Peyton, Richard Schooler
PLDI4
1997 Aggressive Inlining
abstract
Existing research understates the benefits that can be obtained from inlining and cloning, especially when guided by profile information. Our implementation of inlining and cloning yields excellent results on average and very rarely lowers performance. We believe our good results can be explained by a number of factors: inlining at the intermediate-code level removes most technical restrictions on what can be inlined; the ability to inline across files and incorporate profile information enables us to choose better inline candidates; a high-quality back end can exploit the scheduling and register allocation opportunities presented by larger subroutines; an aggressive processor architecture benefits from more predictable branch behavior; and a large instruction cache mitigates the impact of code expansion. We describe the often dramatic impact of our inlining and cloning on performance: for example, the implementations of our inlining and cloning algorithms in the HP-UX 10.20 compilers boost SPECint95 performance on a PA8000-based workstation by a factor of 1.32.
Andrew Ayers, Robert Gottlieb, Richard Schooler
PLDI3
1989 Independent Testing of Compiler Phases Using a Test Case Generator
abstract
Abstract Since a compiler phase depends on previous phases for input, it can be difficult to do timely independent unit testing of some phases. This can make integration more difficult and reduce overall quality. A test case generator has been used to circumvent this problem by providing an independent source of phase test inputs. Using a context‐free grammar augmented with contextsensitive constructs, a test case generator can generate intermediate language graphs in textual form.
William Homer, Richard Schooler
Softw. Pract. Exp.2