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

Keith I. Farkas

dblp:85/4620 · DBLP profile ↗
← Back
15ranked-venue papers
9as first author
0since 2021 · last 2007
—ORCID · none

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

Systems, architecture and hardware · 11 · 8 first-authorSoftware engineering, systems software and programming languages · 7 · 3 first-authorComputer networks · 1 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1Human-computer interaction and ubiquitous 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
11 papers
Processor architecture and microarchitecture · 58% Memory systems · 15% Energy-efficient computing · 13%
Computer graphics and multimedia
1 paper
Rendering · 100%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture › multicore design
heterogeneous multicore
0.122004
Single-ISA Heterogeneous Multi-Core Architectures for Multithreaded Workload Performance · ISCA 2004
Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction · MICRO 2003
Processor architecture and microarchitecture › multicore design › heterogeneous multicore
single-ISA heterogeneous cores
0.122004
Single-ISA Heterogeneous Multi-Core Architectures for Multithreaded Workload Performance · ISCA 2004
Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction · MICRO 2003
Processor architecture and microarchitecture
multicore design
0.022003
Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction · MICRO 2003
Policies for Dynamic Clock Scheduling · OSDI 2000
Processor architecture and microarchitecture
chip multiprocessor
0.012004
Single-ISA Heterogeneous Multi-Core Architectures for Multithreaded Workload Performance · ISCA 2004
Energy-efficient computing
power management
0.012003
Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction · MICRO 2003
Energy-efficient computing › power management
processor power reduction
0.012003
Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction · MICRO 2003
Processor architecture and microarchitecture › out-of-order execution
instruction window
0.012002
The Optimal Logic Depth Per Pipeline Stage is 6 to 8 FO4 Inverter Delays · ISCA 2002
Processor architecture and microarchitecture › pipelining
pipeline depth optimization
0.012002
The Optimal Logic Depth Per Pipeline Stage is 6 to 8 FO4 Inverter Delays · ISCA 2002
Processor architecture and microarchitecture
pipelining
0.012002
The Optimal Logic Depth Per Pipeline Stage is 6 to 8 FO4 Inverter Delays · ISCA 2002
Memory systems
cache design
0.021997
Memory-System Design Considerations for Dynamically-Scheduled Processors · ISCA 1997
Complexity/Performance Tradeoffs with Non-Blocking Loads · ISCA 1994
Energy-efficient computing
energy measurement
0.012000
Quantifying the energy consumption of a pocket computer and a Java virtual machine · SIGMETRICS 2000
Rendering › texture mapping › texture filtering
elliptical filtering
0.011999
Feline: Fast Elliptical Lines for Anisotropic Texture Mapping · SIGGRAPH 1999
Rendering
texture mapping
0.011999
Feline: Fast Elliptical Lines for Anisotropic Texture Mapping · SIGGRAPH 1999
Processor architecture and microarchitecture
instruction scheduling
0.011997
The Multicluster Architecture: Reducing Cycle Time Through Partitioning · MICRO 1997
Memory systems › cache design
lockup-free cache
0.011997
Memory-System Design Considerations for Dynamically-Scheduled Processors · ISCA 1997
Memory systems › memory hierarchy
memory hierarchy design
0.011997
Memory-System Design Considerations for Dynamically-Scheduled Processors · ISCA 1997
Cloud and datacenter computing › resource allocation › resource allocation policy
resource partitioning
0.011997
The Multicluster Architecture: Reducing Cycle Time Through Partitioning · MICRO 1997
Parallel and multicore computing › parallel scheduling
static scheduling
0.011997
The Multicluster Architecture: Reducing Cycle Time Through Partitioning · MICRO 1997
Parallel and multicore computing › task scheduling
dynamic scheduling
0.011996
Register File Design Considerations in Dynamically Scheduled Processors · HPCA 1996
Processor architecture and microarchitecture › register file
register file design
0.011996
Register File Design Considerations in Dynamically Scheduled Processors · HPCA 1996
Processor architecture and microarchitecture › out-of-order execution
register renaming
0.011996
Register File Design Considerations in Dynamically Scheduled Processors · HPCA 1996
Processor architecture and microarchitecture
instruction-level parallelism
0.011995
How Useful Are Non-Blocking Loads, Stream Buffers and Speculative Execution in Multiple Issue Processors? · HPCA 1995
Memory systems
memory hierarchy
0.011995
How Useful Are Non-Blocking Loads, Stream Buffers and Speculative Execution in Multiple Issue Processors? · HPCA 1995
Processor architecture and microarchitecture
speculative execution
0.011995
How Useful Are Non-Blocking Loads, Stream Buffers and Speculative Execution in Multiple Issue Processors? · HPCA 1995
Memory systems › on-chip memory
stream buffer
0.011995
How Useful Are Non-Blocking Loads, Stream Buffers and Speculative Execution in Multiple Issue Processors? · HPCA 1995
Memory systems › cache
cache miss tolerance
0.011994
Complexity/Performance Tradeoffs with Non-Blocking Loads · ISCA 1994
Processor architecture and microarchitecture
out-of-order execution
0.011994
Complexity/Performance Tradeoffs with Non-Blocking Loads · ISCA 1994
Memory systems
cache coherence
0.011992
Cache Consistency in Hierarchical-Ring-Based Multiprocessors · SC 1992
Memory systems › cache coherence
cache coherence protocol
0.011992
Cache Consistency in Hierarchical-Ring-Based Multiprocessors · SC 1992
Interconnection networks and networks-on-chip › ring network
hierarchical ring
0.011992
Cache Consistency in Hierarchical-Ring-Based Multiprocessors · SC 1992

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

energy measurement · 0.1data acquisition · 0.1performance modeling · 0.0dynamic core assignment · 0.0energy-delay product evaluation · 0.0SPEC benchmarking · 0.0trace-driven simulation · 0.0simulation · 0.0scheduling policy · 0.0dynamic voltage and frequency scaling · 0.0elliptical line sampling · 0.0object code translation · 0.0instrumentation · 0.0
YearPublicationVenuePosition
2007 Automated Provisioning of Shared Services
abstract
Shared services, hosted in utility computing environments are becoming quite common in enterprises. These services could be clusters of application servers hosting various applications or even clusters of databases catering to multiple organizations within an enterprise. Automating the provisioning of these shared services is a difficult problem. We propose a model-based automation mechanism to provision such shared services. We demonstrate our model-based provisioning system in the case of a shared desktop service. The shared desktop service termed the "virtual desktop system" (VDS) hosts desktops on top of virtual machines. These desktop virtual machines are provisioned on consolidated data centers while users use thin clients to connect to their "virtual" desktops. We demonstrate how we use our model-based automation technique to simplify the provisioning of such desktops.
Keith I. Farkas, Subu Iyer, Vijay Machiraju, Jim Pruyne, Akhil Sahai
Integrated Network Management1
2005 Dealing with Scale and Adaptation of Global Web Services Management
abstract
Service oriented architectures (SOA) are becoming the prevalent approach for realizing modern services and systems. SOA offers superior support for autonomy (decoupling) and heterogeneity compared to previous generation middleware systems, resulting in more scalable and adaptive solutions. However, SOA have not adequately addressed management, while traditional management solutions do not sufficiently scale to address the needs of (global) Web services. We propose scalable management based on models and industry standards. We discuss a use case for global service management, we present its design, implementation and preliminary evaluation. We retain all the benefits of SOA while also enabling global scale manageability. Our approach provides manageability that is comprehensible for administrators yet automated enough for integration into autonomous systems.
William Vambenepe, Carol Thompson, Vanish Talwar, Sandro Rafaeli, Bryan S. Murray, Dejan S. Milojicic, Subu Iyer, Keith I. Farkas, Martin F. Arlitt
ICWS8
2004 Single-ISA Heterogeneous Multi-Core Architectures for Multithreaded Workload Performance
abstract
A single-ISA heterogeneous multi-core architecture is a chip multiprocessor composed of cores of varying size, performance, and complexity. This paper demonstrates that this architecture can provide significantly higher performance in the same area than a conventional chip multiprocessor. It does so by matching the various jobs of a diverse workload to the various cores. This type of architecture covers a spectrum of workloads particularly well, providing high single-thread performance when thread parallelism is low, and high throughput when thread parallelism is high. This paper examines two such architectures in detail, demonstrating dynamic core assignment policies that provide significant performance gains over naive assignment, and even outperform the best static assignment. It examines policies for heterogeneous architectures both with and without multithreading cores. One heterogeneous architecture we examine outperforms the comparable-area homogeneous architecture by up to 63%, and our best core assignment strategy achieves up to 31% speedup over a naive policy.
Rakesh Kumar 0002, Dean M. Tullsen, Parthasarathy Ranganathan, Norman P. Jouppi, Keith I. Farkas
ISCA5
2003 Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction
abstract
This paper proposes and evaluates single-ISA heterogeneous multi-core architectures as a mechanism to reduce processor power dissipation. Our design incorporates heterogeneous cores representing different points in the power/performance design space; during an application's execution, system software dynamically chooses the most appropriate core to meet specific performance and power requirements. Our evaluation of this architecture shows significant energy benefits. For an objective function that optimizes for energy efficiency with a tight performance threshold, for 14 SPEC benchmarks, our results indicate a 39% average energy reduction while only sacrificing 3% in performance. An objective function that optimizes for energy-delay with looser performance bounds achieves, on average, nearly a factor of three improvements in energy-delay product while sacrificing only 22% in performance. Energy savings are substantially more than chip-wide voltage/frequency scaling.
Rakesh Kumar 0002, Keith I. Farkas, Norman P. Jouppi, Parthasarathy Ranganathan, Dean M. Tullsen
MICRO2
2002 The Optimal Logic Depth Per Pipeline Stage is 6 to 8 FO4 Inverter Delays
abstract
Microprocessor clock frequency has improved by nearly 40% annually over the past decade. This improvement has been provided, in equal measure, by smaller technologies and deeper pipelines. From our study of the SPEC 2000 benchmarks, we find that for a high-performance architecture implemented in 100 nm technology, the optimal clock period is approximately 8 fan-out-of-four (FO4) inverter delays for integer benchmarks, comprised of 6 FO4 of useful work and an overhead of about 2 FO4. The optimal clock period for floating-point benchmarks is 6 FO4. We find these optimal points to be insensitive to latch and clock skew overheads. Our study indicates that further pipelining can at best improve performance of integer programs by a factor of 2 over current designs. At these high clock frequencies it will be difficult to design the instruction issue window to operate in a single cycle. Consequently, we propose and evaluate a high-frequency design called a segmented instruction window.
M. S. Hrishikesh, Doug Burger, Stephen W. Keckler, Premkishore Shivakumar, Norman P. Jouppi, Keith I. Farkas
ISCA6
2000 Policies for Dynamic Clock Scheduling
Dirk Grunwald, Philip Alexander Levis, Keith I. Farkas, Charles B. Morrey III, Michael Neufeld
OSDI3
2000 Quantifying the energy consumption of a pocket computer and a Java virtual machine
abstract
In this paper, we examine the energy consumption of a state-of-the-art pocket computer. Using a data acquisition system, we measure the energy consumption of the Itsy Pocket Computer, developed by Compaq Computer Corporation's Palo Alto Research Labs. We begin by showing that the energy usage characteristics of the Itsy differ markedly from that of a notebook computer. Then, since we expect that flexible software environments will become increasingly prevalent on pocket computers, we consider applications running in a Java environment. In particular, we explain some of the Java design tradeoffs applicable to pocket computers, and quantify their energy costs. For the design options we considered and the three workloads we studied, we find a maximum change in energy use of 25%.
Keith I. Farkas, Jason Flinn, Godmar Back, Dirk Grunwald, Jennifer-Ann M. Anderson
SIGMETRICS1
1999 Feline: Fast Elliptical Lines for Anisotropic Texture Mapping
abstract
Article Feline: fast elliptical lines for anisotropic texture mapping Share on Authors: Joel McCormack Compaq Computer Corporation, Western Research Laboratory, 250 University Avenue, Palo Alto, CA Compaq Computer Corporation, Western Research Laboratory, 250 University Avenue, Palo Alto, CAView Profile , Ronald Perry Mitsubishi Electric Research Laboratories, Inc., Cambridge Research Center, 201 Broadway, Cambridge, MA Mitsubishi Electric Research Laboratories, Inc., Cambridge Research Center, 201 Broadway, Cambridge, MAView Profile , Keith I. Farkas Compaq Computer Corporation, Western Research Laboratory, 250 University Avenue, Palo Alto, CA Compaq Computer Corporation, Western Research Laboratory, 250 University Avenue, Palo Alto, CAView Profile , Norman P. Jouppi Compaq Computer Corporation, Western Research Laboratory, 250 University Avenue, Palo Alto, CA Compaq Computer Corporation, Western Research Laboratory, 250 University Avenue, Palo Alto, CAView Profile Authors Info & Claims SIGGRAPH '99: Proceedings of the 26th annual conference on Computer graphics and interactive techniquesJuly 1999 Pages 243–250https://doi.org/10.1145/311535.311562Online:01 July 1999Publication History 34citation1,015DownloadsMetricsTotal Citations34Total Downloads1,015Last 12 Months10Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Joel McCormack, Ronald N. Perry, Keith I. Farkas, Norman P. Jouppi
SIGGRAPH3
1997 Memory-System Design Considerations for Dynamically-Scheduled Processors
abstract
In this paper, we identify performance trends and design relationships between the following components of the data memory hierarchy in a dynamically-scheduled processor: the register file, the lockup-free data cache, the stream buffers, and the interface between these components and the lower levels of the memory hierarchy. Similar performance was obtained from all systems having support for fewer than four in-flight misses, irrespective of the register-file size, the issue width of the processor, and the memory bandwidth. While providing support for more than four in-flight misses did increase system performance, the improvement was less than that obtained by increasing the number of registers. The addition of stream buffers to the investigated systems led to a significant performance increase, with the larger increases for systems having less in-flight-miss support, greater memory bandwidth, or more instruction issue capability. The performance of these systems was not significantly affected by the inclusion of traffic filters, dynamic-stride calculators, or the inclusion of the per-load non-unity stride-predictor and the incremental-prefetching techniques, which we introduce. However, the incremental prefetching technique reduces the bandwidth consumed by stream buffers by 50% without a significant impact on performance.
Keith I. Farkas, Paul Chow, Norman P. Jouppi, Zvonko G. Vranesic
ISCA1
1997 The Multicluster Architecture: Reducing Cycle Time Through Partitioning
abstract
The multicluster architecture that we introduce offers a decentralized, dynamically scheduled architecture, in which the register files, dispatch queue, and functional units of the architecture are distributed across multiple clusters, and each cluster is assigned a subset of the architectural registers. The motivation for the multicluster architecture is to reduce the clock cycle time, relative to a single-cluster architecture with the same number of hardware resources, by reducing the size and complexity of components on critical timing paths. Resource partitioning, however, introduces instruction-execution overhead and may reduce the number of concurrently executing instructions. To counter these two negative by-products of partitioning, we developed a static instruction scheduling algorithm. We describe this algorithm, and using trace-driven simulations of SPEC92 benchmarks, evaluate its effectiveness. This evaluation indicates that for the configurations considered the multicluster architecture may have significant performance advantages at feature sizes below 0.35 /spl mu/m, and warrants further investigation.
Keith I. Farkas, Paul Chow, Norman P. Jouppi, Zvonko G. Vranesic
MICRO1
1996 Register File Design Considerations in Dynamically Scheduled Processors
abstract
We have investigated the register file requirements of dynamically scheduled processors using register renaming and dispatch queues running the SPEC92 benchmarks. We looked at processors capable of issuing either four or eight instructions per cycle and found that in most cases implementing precise exceptions requires a relatively small number of additional registers compared to imprecise exceptions. Systems with aggressive non-blacking load support were able to achieve performance similar to processors with perfect memory systems at the cost of some additional registers. Given our machine assumptions, we found that the performance of a four-issue machine with a 32-entry dispatch queue tends to saturate around 80 registers. For an eight-issue machine with a 64-entry dispatch queue performance does not saturate until about 128 registers. Assuming the machine cycle time is proportional to the register file cycle time, the 8-issue machine yields only 20% higher performance than the 4-issue machine due in part to the cycle time impact of additional hardware.
Keith I. Farkas, Norman P. Jouppi, Paul Chow
HPCA1
1995 How Useful Are Non-Blocking Loads, Stream Buffers and Speculative Execution in Multiple Issue Processors?
abstract
We investigate the relative performance impact of non-blocking loads, stream buffers, and speculative execution both used individually and in conjunction with each other. We have simulated the SPEC92 benchmarks on a statically scheduled quad-issue processor model, running code from the Multiflow compiler. Non-blocking loads and stream buffers both provide a significant performance advantage, and their combination performs significantly better than either alone. For example, with a 64-byte, 2-way set associative cache with 32 cycle fetch latency, non-blocking loads reduce the run-time by 21% while stream-buffers reduce it by 26%, and the combined use of the two yields a 47% reduction. The addition of speculative execution further improves the performance of the systems that we have simulated, with or without non-blocking loads and stream buffers, by an additional 20% to 4O%. We expect that the use of all three of these techniques will be important in future generations of microprocessors.>
Keith I. Farkas, Norman P. Jouppi, Paul Chow
HPCA1
1995 Scalable cache consistency for hierarchically structured multiprocessors
Keith I. Farkas, Zvonko G. Vranesic, Michael Stumm
J. Supercomput.1
1994 Complexity/Performance Tradeoffs with Non-Blocking Loads
abstract
Non-blocking loads are a very effective technique for tolerating the cache-miss latency on data cache references. The authors describe several methods for implementing non-blocking loads. A range of resulting hardware complexity/performance tradeoffs are investigated using an object-code translation and instrumentation system. The authors investigate the SPEC92 benchmarks and have found that for the integer benchmarks, a simple hit-under-miss implementation achieves almost all of the available performance improvement for relatively little cost. However, for most of the numeric benchmarks, more expensive implementations are worthwhile. The results also point out the importance of using a compiler capable of scheduling load instructions for cache misses rather than cache hits in non-blocking systems.>
Keith I. Farkas, Norman P. Jouppi
ISCA1
1992 Cache Consistency in Hierarchical-Ring-Based Multiprocessors
abstract
A cache consistency scheme is presented for a class of multiprocessors based on a hierarchy of rings. By taking advantage of the natural broadcast and ordering properties of rings, cache consistency is achieved via a simple, selective-broadcast based protocol requiring no complex hardware. Using address-trace driven simulations of the Hector shared-memory multiprocessor, it is shown that the scheme performs well.
Keith I. Farkas, Zvonko G. Vranesic, Michael Stumm
SC1