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

Philip M. Wells

dblp:96/5934 · DBLP profile ↗
← Back
8ranked-venue papers
5as first author
0since 2021 · last 2012
—ORCID · none

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

Systems, architecture and hardware · 8 · 5 first-authorSoftware engineering, systems software and programming languages · 4 · 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
6 papers
Processor architecture and microarchitecture · 33% Cloud and datacenter computing · 31% Hardware reliability and fault tolerance · 17%
Software engineering, system software, and programming languages
1 paper
Operating systems · 100%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
multicore design
0.222009
Mixed-mode multicore reliability · ASPLOS 2009
Adapting to intermittent faults in multicore systems · ASPLOS 2008
Operating systems › resource management › process management › CPU scheduling
multiprocessor scheduling
0.112012
Supporting Overcommitted Virtual Machines through Hardware Spin Detection · IEEE Trans. Parallel Distributed Syst. 2012
Cloud and datacenter computing
virtualization
0.112012
Supporting Overcommitted Virtual Machines through Hardware Spin Detection · IEEE Trans. Parallel Distributed Syst. 2012
Cloud and datacenter computing › virtualization › virtual machine management
virtual machine scheduling
0.112012
Supporting Overcommitted Virtual Machines through Hardware Spin Detection · IEEE Trans. Parallel Distributed Syst. 2012
Cloud and datacenter computing
datacenter network
0.112010
Energy proportional datacenter networks · ISCA 2010
Processor architecture and microarchitecture
chip multiprocessor
0.122012
Computation spreading: employing hardware migration to specialize CMP cores on-the-fly · ASPLOS 2006
Supporting Overcommitted Virtual Machines through Hardware Spin Detection · IEEE Trans. Parallel Distributed Syst. 2012
Hardware reliability and fault tolerance › redundancy
dual modular redundancy
0.112009
Mixed-mode multicore reliability · ASPLOS 2009
Hardware reliability and fault tolerance › redundancy
redundant execution
0.112009
Mixed-mode multicore reliability · ASPLOS 2009
Parallel and multicore computing › parallel scheduling
thread scheduling
0.122009
Computation spreading: employing hardware migration to specialize CMP cores on-the-fly · ASPLOS 2006
Mixed-mode multicore reliability · ASPLOS 2009
Electronic design automation › hardware verification and test › fault diagnosis
intermittent faults
0.112008
Adapting to intermittent faults in multicore systems · ASPLOS 2008
Processor architecture and microarchitecture
out-of-order execution
0.112008
Serializing instructions in system-intensive workloads: Amdahl's Law strikes again · HPCA 2008
Processor architecture and microarchitecture › multicore design
core specialization
0.112006
Computation spreading: employing hardware migration to specialize CMP cores on-the-fly · ASPLOS 2006
Energy-efficient computing
power management
0.012010
Energy proportional datacenter networks · ISCA 2010
Hardware reliability and fault tolerance
soft errors
0.012008
Adapting to intermittent faults in multicore systems · ASPLOS 2008
Performance modeling and evaluation
workload characterization
0.012008
Serializing instructions in system-intensive workloads: Amdahl's Law strikes again · HPCA 2008
Memory systems
cache
0.012006
Computation spreading: employing hardware migration to specialize CMP cores on-the-fly · ASPLOS 2006

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

hardware spin detection · 0.3VCPU preemption · 0.3mixed-mode scheduling · 0.1dual modular redundancy · 0.1execution suspension · 0.1amdahl's law analysis · 0.1thread assignment policy · 0.1computation spreading · 0.1
YearPublicationVenuePosition
2012 Supporting Overcommitted Virtual Machines through Hardware Spin Detection
abstract
Multiprocessor operating systems (OSs) pose several unique and conflicting challenges to System Virtual Machines (System VMs). For example, most existing system VMs resort to gang scheduling a guest OS's virtual processors (VCPUs) to avoid OS synchronization overhead. However, gang scheduling is infeasible for some application domains, and is inflexible in other domains. In an overcommitted environment, an individual guest OS has more VCPUs than available physical processors (PCPUs), precluding the use of gang scheduling. In such an environment, we demonstrate a more than two-fold increase in application runtime when transparently virtualizing a chip-multiprocessor's cores. To combat this problem, we propose a hardware technique to detect when a VCPU is wasting CPU cycles, and preempt that VCPU to run a different, more productive VCPU. Our technique can dramatically reduce cycles wasted on OS synchronization, without requiring any semantic information from the software. We then present a server consolidation case study to demonstrate the potential of more flexible scheduling policies enabled by our technique. We propose one such policy that logically partitions the CMP cores between guest VMs. This policy increases throughput by 10-25 percent for consolidated server workloads due to improved cache locality and core utilization.
Koushik Chakraborty, Philip M. Wells, Gurindar S. Sohi
IEEE Trans. Parallel Distributed Syst.2
2010 Energy proportional datacenter networks
abstract
Numerous studies have shown that datacenter computers rarely operate at full utilization, leading to a number of proposals for creating servers that are energy proportional with respect to the computation that they are performing.
Dennis Abts, Michael R. Marty, Philip M. Wells, Peter Klausler
ISCA3
2009 Mixed-mode multicore reliability
abstract
Future processors are expected to observe increasing rates of hardware faults. Using Dual-Modular Redundancy (DMR), two cores of a multicore can be loosely coupled to redundantly execute a single software thread, providing very high coverage from many difference sources of faults. This reliability, however, comes at a high price in terms of per-thread IPC and overall system throughput. We make the observation that a user may want to run both applications requiring high reliability, such as financial software, and more fault tolerant applications requiring high performance, such as media or web software, on the same machine at the same time. Yet a traditional DMR system must fully operate in redundant mode whenever any application requires high reliability. This paper proposes a Mixed-Mode Multicore (MMM), which enables most applications, including the system software, to run with high reliability in DMR mode, while applications that need high performance can avoid the penalty of DMR. Though conceptually simple, two key challenges arise: 1) care must be taken to protect reliable applications from any faults occurring to applications running in high performance mode, and 2) the desire to execute additional independent software threads for a performance application complicates the scheduling of computation to cores. After solving these issues, an MMM is shown to improve overall system performance, compared to a traditional DMR system, by approximately 2X when one reliable and one performance application are concurrently executing.
Philip M. Wells, Koushik Chakraborty, Gurindar S. Sohi
ASPLOS1
2008 Adapting to intermittent faults in multicore systems
abstract
Future multicore processors will be more susceptible to a variety of hardware failures. In particular, intermittent faults, caused in part by manufacturing, thermal, and voltage variations, can cause bursts of frequent faults that last from several cycles to several seconds or more. Due to practical limitations of circuit techniques, cost-effective reliability will likely require the ability to temporarily suspend execution on a core during periods of intermittent faults.
Philip M. Wells, Koushik Chakraborty, Gurindar S. Sohi
ASPLOS1
2008 Serializing instructions in system-intensive workloads: Amdahl's Law strikes again
abstract
Serializing instructions (SIs), such as writes to control registers, have many complex dependencies, and are difficult to execute out-of-order (OoO). To avoid unnecessary complexity, processors often serialize the pipeline to maintain sequential semantics for these instructions.
Philip M. Wells, Gurindar S. Sohi
HPCA1
2007 Adapting to Intermittent Faults in Future Multicore Systems
Philip M. Wells, Koushik Chakraborty, Gurindar S. Sohi
PACT1
2006 Hardware support for spin management in overcommitted virtual machines
abstract
Multiprocessor operating systems (OSs) pose several unique and conflicting challenges to System Virtual Machines (System VMs). For example, most existing system VMs resort to gang scheduling a guest OS's virtual processors (VCPUs) to avoid OS synchronization overhead. However, gang scheduling is infeasible for some application domains, and is inflexible in other domains.In an overcommitted environment, an individual guest OS has more VCPUs than available physical processors (PCPUs), precluding the use of gang scheduling. In such an environment, we demonstrate a more than two-fold increase in runtime when transparently virtualizing a chip-multiprocessor's cores. To combat this problem, we propose a hardware technique to detect several cases when a VCPU is not performing useful work, and suggest preempting that VCPU to run a different, more productive VCPU. Our technique can dramatically reduce cycles wasted on OS synchronization, without requiring any semantic information from the software.We then present a case study, typical of server consolidation, to demonstrate the potential of more flexible scheduling policies enabled by our technique. We propose one such policy that logically partitions the CMP cores between guest VMs. This policy increases throughput by 10-25% for consolidated server workloads due to improved cache locality and core utilization, and substantially improves performance isolation in private caches.
Philip M. Wells, Koushik Chakraborty, Gurindar S. Sohi
PACT1
2006 Computation spreading: employing hardware migration to specialize CMP cores on-the-fly
abstract
In canonical parallel processing, the operating system (OS) assigns a processing core to a single thread from a multithreaded server application. Since different threads from the same application often carry out similar computation, albeit at different times, we observe extensive code reuse among different processors, causing redundancy (e.g., in our server workloads, 45-65% of all instruction blocks are accessed by all processors). Moreover, largely independent fragments of computation compete for the same private resources causing destructive interference. Together, this redundancy and interference lead to poor utilization of private microarchitecture resources such as caches and branch predictors.We present Computation Spreading (CSP), which employs hardware migration to distribute a thread's dissimilar fragments of computation across the multiple processing cores of a chip multiprocessor (CMP), while grouping similar computation fragments from different threads together. This paper focuses on a specific example of CSP for OS intensive server applications: separating application level (user) computation from the OS calls it makes.When performing CSP, each core becomes temporally specialized to execute certain computation fragments, and the same core is repeatedly used for such fragments. We examine two specific thread assignment policies for CSP, and show that these policies, across four server workloads, are able to reduce instruction misses in private L2 caches by 27-58%, private L2 load misses by 0-19%, and branch mispredictions by 9-25%.
Koushik Chakraborty, Philip M. Wells, Gurindar S. Sohi
ASPLOS2