Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where James E. Hicks is active.

Publication


Featured researches published by James E. Hicks.


international symposium on microarchitecture | 1997

ProfileMe : hardware support for instruction-level profiling on out-of-order processors

Jeffrey Dean; James E. Hicks; Carl A. Waldspurger; William E. Weihl; George Z. Chrysos

Profile data is valuable for identifying performance bottlenecks and guiding optimizations. Periodic sampling of a processors performance monitoring hardware is an effective, unobtrusive way to obtain detailed profiles. Unfortunately, existing hardware simply counts events, such as cache misses and branch mispredictions, and cannot accurately attribute these events to instructions, especially on out-of-order machines. We propose an alternative approach, called ProfileMe, that samples instructions. As a sampled instruction moves through the processor pipeline, a detailed record of all interesting events and pipeline stage latencies is collected. ProfileMe also supports paired sampling, which captures information about the interactions between concurrent instructions, revealing information about useful concurrency and the utilization of various pipeline stages while an instruction is in flight. We describe an inexpensive hardware implementation of ProfileMe, outline a variety of software techniques to extract useful profile information from the hardware, and explain several ways in which this information can provide valuable feedback for programmers and optimizers.


Archive | 1997

Method for scheduling threads in a multithreaded processor

George Z. Chrysos; James E. Hicks; Carl A. Waldspurger; William E. Weihl


Archive | 1997

Method for estimating execution rates of program execution paths

Jeffrey Dean; Robert A. Eustace; James E. Hicks; Carl A. Waldspurger; William E. Weihl


Archive | 1997

Method for estimating statistics of properties of instructions processed by a processor pipeline

George Z. Chrysos; James E. Hicks; Carl A. Waldspurger; William E. Weihl


Archive | 1997

Apparatus for randomly sampling instructions in a processor pipeline

George Z. Chrysos; James E. Hicks; Daniel L. Leibholz; Edward J. Mclellan; Carl A. Waldspurger; William E. Weihl


Archive | 1997

Method for inserting memory prefetch operations based on measured latencies in a program optimizer

Jennifer-Ann M. Anderson; Jeffrey Dean; James E. Hicks; Carl A. Waldspurger; William E. Weihl


Archive | 1997

Apparatus and method for monitoring a computer system to guide optimization

James E. Hicks; George Z. Chrysos; Carl A. Waldspurger; William E. Weihl


Archive | 1997

Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed

Jennifer-Ann M. Anderson; Jeffrey Dean; James E. Hicks; Carl A. Waldspurger; William E. Weihl


Archive | 1997

Apparatus for sampling instruction execution information in a processor pipeline

George Z. Chrysos; Jeffrey Dean; James E. Hicks; Carl A. Waldspurger; William E. Weihl; Daniel L. Leibholz; Edward J. Mclellan


Archive | 1997

Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline

George Z. Chrysos; Jeffrey Dean; James E. Hicks; Daniel L. Leibholz; Edward J. Mclellan; Carl A. Waldspurger; William E. Weihl

Collaboration


Dive into the James E. Hicks's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Carl A. Waldspurger

Massachusetts Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge