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

Joseph J. Sharkey

dblp:47/3416 · DBLP profile ↗
← Back
19ranked-venue papers
13as first author
0since 2021 · last 2008
—ORCID · none

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

Systems, architecture and hardware · 18 · 13 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 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
5 papers
Processor architecture and microarchitecture · 77% Electronic design automation · 14% Energy-efficient computing · 7%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture › multithreading
simultaneous multithreading
0.232008
Reducing register pressure in SMT processors through L2-miss-driven early register release · ACM Trans. Archit. Code Optim. 2008
Exploiting Operand Availability for Efficient Simultaneous Multithreading · IEEE Trans. Computers 2007
Efficient instruction schedulers for SMT processors · HPCA 2006
Processor architecture and microarchitecture
instruction scheduling
0.232007
Exploiting Operand Availability for Efficient Simultaneous Multithreading · IEEE Trans. Computers 2007
Instruction packing: Toward fast and energy-efficient instruction scheduling · ACM Trans. Archit. Code Optim. 2006
Efficient instruction schedulers for SMT processors · HPCA 2006
Processor architecture and microarchitecture › out-of-order execution
issue queue design
0.232007
Exploiting Operand Availability for Efficient Simultaneous Multithreading · IEEE Trans. Computers 2007
Instruction packing: Toward fast and energy-efficient instruction scheduling · ACM Trans. Archit. Code Optim. 2006
Efficient instruction schedulers for SMT processors · HPCA 2006
Electronic design automation › high-level synthesis › resource binding
register allocation
0.222008
Predicting and Exploiting Transient Values for Reducing Register File Pressure and Energy Consumption · IEEE Trans. Computers 2008
Reducing register pressure in SMT processors through L2-miss-driven early register release · ACM Trans. Archit. Code Optim. 2008
Processor architecture and microarchitecture
register file
0.222008
Predicting and Exploiting Transient Values for Reducing Register File Pressure and Energy Consumption · IEEE Trans. Computers 2008
Reducing register pressure in SMT processors through L2-miss-driven early register release · ACM Trans. Archit. Code Optim. 2008
Energy-efficient computing
power management
0.122008
Instruction packing: Toward fast and energy-efficient instruction scheduling · ACM Trans. Archit. Code Optim. 2006
Predicting and Exploiting Transient Values for Reducing Register File Pressure and Energy Consumption · IEEE Trans. Computers 2008
Processor architecture and microarchitecture › register file
register file management
0.112008
Reducing register pressure in SMT processors through L2-miss-driven early register release · ACM Trans. Archit. Code Optim. 2008
Processor architecture and microarchitecture › instruction scheduling
speculative scheduling
0.112007
Exploiting Operand Availability for Efficient Simultaneous Multithreading · IEEE Trans. Computers 2007
Memory systems › memory hierarchy
cache hierarchy
0.012008
Reducing register pressure in SMT processors through L2-miss-driven early register release · ACM Trans. Archit. Code Optim. 2008

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

instruction packing · 0.1speculative avoidance · 0.1simulation · 0.1microarchitectural extension · 0.1microarchitectural simulation · 0.1
YearPublicationVenuePosition
2008 Hiding Communication Delays in Clustered Microarchitectures
abstract
Clustered micro architectures represent a viable solution for addressing wire delays in communication-bound architectures by partitioning monolithic data path structures into smaller components. While supporting high frequencies, clustered processors usually degrade the instruction throughput due to the inter-cluster communication delays and non-balanced workload distribution. In this paper, we propose and evaluate novel instruction steering policies to reduce or eliminate cross-cluster communication delays while respecting workload balance. Our first technique hides the inter-cluster communication latencies by examining operand readiness information. The proposed policy steers instructions with two register sources to the cluster predicted to generate the last-produced operand. While the later-produced operand is being generated, the transport of the early-produced operand can occur in parallel, hiding the communication delay. Our second technique steers an entire group of instructions co-renamed in a cycle to the same cluster if the number of intra-group register dependencies exceed a threshold. This is done in a round-robin fashion in order to reduce impact on workload balancing.
Robert J. LaDuca, Joseph J. Sharkey, Dmitry V. Ponomarev
SBAC-PAD2
2008 Reducing register pressure in SMT processors through L2-miss-driven early register release
abstract
The register file is one of the most critical datapath components limiting the number of threads that can be supported on a simultaneous multithreading (SMT) processor. To allow the use of smaller register files without degrading performance, techniques that maximize the efficiency of using registers through aggressive register allocation/deallocation can be considered. In this article, we propose a novel technique to early deallocate physical registers allocated to threads which experience L2 cache misses. This is accomplished by speculatively committing the load-independent instructions and deallocating the registers corresponding to the previous mappings of their destinations, without waiting for the cache miss request to be serviced. The early deallocated registers are then made immediately available for allocation to instructions within the same thread as well as within other threads, thus improving the overall processor throughput. On the average across the simulated mixes of multiprogrammed SPEC 2000 workloads, our technique results in 33% improvement in throughput and 25% improvement in terms of harmonic mean of weighted IPCs over the baseline SMT with the state-of-the-art DCRA policy. This is achieved without creating checkpoints, maintaining per-register counters of pending consumers, performing tag rebroadcasts, register remappings, and/or additional associative searches.
Joseph J. Sharkey, Jason Loew, Dmitry V. Ponomarev
ACM Trans. Archit. Code Optim.1
2008 Predicting and Exploiting Transient Values for Reducing Register File Pressure and Energy Consumption
abstract
High-performance microprocessors use large, heavily ported physical register files (RFs) to increase the instruction throughput. The high complexity and power dissipation of such RFs mainly stem from the need to maintain each and every result for a large number of cycles after the result generation. We observed that a significant fraction (about 45 percent) of the result values are never read from the register file and are not required to reconstruct the precise state following branch mispredictions. In this paper, we propose Speculative Avoidance of Register allocations to Transient values (SPARTAN) - a set of microarchitectural extensions that predicts such transient values and, in many cases, completely avoids physical register allocations to them. We show that the transient values can be predicted as such with more than 97 percent accuracy, on average, across simulated SPEC 2000 benchmarks. We evaluate the performance of SPARTAN on a variety of configurations and show that significant improvements in performance and energy efficiency can be realized. Furthermore, we directly compare SPARTAN against a number of previously proposed schemes for register optimizations and show that our technique significantly outperforms all those schemes.
Deniz Balkan, Joseph J. Sharkey, Dmitry V. Ponomarev, Kanad Ghose
IEEE Trans. Computers2
2008 Selective Writeback: Reducing Register File Pressure and Energy Consumption
abstract
Much of the complexity in today's superscalar microprocessors stems from the need to maintain the speculatively produced results within the on-chip storage components until these results can be safely discarded without endangering the reconstruction of the precise state or impeding the recovery from possible branch misspeculations. For this, modern designs use large, heavily-ported physical register files (RFs) to increase the instruction throughput. The high complexity and power dissipation of such RFs mainly stem from the need to maintain each and every result for a large number of cycles after the result generation. We observed that a significant fraction (about 45%) of the result values are delivered to their consumers via the bypass network (consumed ldquoon-the-flyrdquo) and are never read out from the destination registers. In this paper, we first formulate conditions for identifying such transient values and describe their microarchitectural implementation; then we propose a technique to avoid the writeback of such transient values into the RF. With 64-entry integer and floating point register files, our technique achieves an 11% performance improvement and 29% reduction in the RF energy consumption compared to the baseline machine with the same number of registers. Furthermore, for the same performance target, the selective writeback scheme results in a 38% reduction in the energy consumption of the RF compared to the baseline machine.
Deniz Balkan, Joseph J. Sharkey, Dmitry V. Ponomarev, Kanad Ghose
IEEE Trans. Very Large Scale Integr. Syst.2
2007 An L2-miss-driven early register deallocation for SMT processors
abstract
The register file is one of the most critical datapath components limiting the number of threads that can be supported on a Simultaneous Multithreading (SMT) processor. To allow the use of smaller register files without degrading performance, techniques that maximize the efficiency of using registers through aggressive register allocation/deallocation can be considered. In this paper, we propose a novel technique to early deallocate physical registers allocated to threads that experience L2 cache misses. This is accomplished by speculatively committing the load-independent instructions and deallocating the registers corresponding to the previous mappings of their destinations, without waiting for the cache miss request to be serviced. The early deallocated registers are then made immediately available for allocation to instructions within the same thread as well as within other threads, thus improving the overall processor throughput. On the average across the simulated mixes of multiprogrammed SPEC 2000 workloads, our technique results in 33% improvement in throughput and 25% improvement in terms of harmonic mean of weighted IPCs over the baseline SMT with the state-of-the-art DCRA policy. This is achieved without creating checkpoints, maintaining per-register counters of pending consumers, performing tag re-broadcasts, register re-mappings and/or additional associative searches.
Joseph J. Sharkey, Dmitry V. Ponomarev
ICS1
2007 Evaluating design tradeoffs in on-chip power management for CMPs
abstract
In light of the recent shift towards multi-core processor designs, dynamic power-management techniques that were designed for single-core microprocessors must be augmented with larger chip-level control. In this paper, we explore the design-tradeoffs associated with CMP power management solutions in a full-system simulation environment. We show that global power management solutions outperform solutions that locally manage power per-core. We then show that global power management is most effective at finer granularities that allow it to adapt to changing workload behavior and thus conclude that on-chip hardware solutions for CMP power management are an important consideration for future CMP microprocessors.
Joseph J. Sharkey, Alper Buyuktosunoglu, Pradip Bose
ISLPED1
2007 Exploiting Operand Availability for Efficient Simultaneous Multithreading
abstract
We propose several schemes to improve the scalability, reduce the complexity and delays, and increase the throughput of dynamic scheduling in SMT processors. Our first design is an adaptation of the proposed instruction packing to SMT. Instruction packing opportunistically packs two instructions (possibly from different threads), each with at most one nonready source operand at the time of dispatch, into the same issue queue entry. Our second design, termed 2OP_BLOCK, takes these ideas one step further and completely avoids the dispatching of the instructions with two nonready source operands. This technique has several advantages. First, it reduces the scheduling complexity (and the associated delays) as the logic needed to support the instructions with two nonready source operands is eliminated. More surprisingly, 2OP_BLOCK simultaneously improves the performance as the same issue queue entry may be reallocated multiple times to the instructions with at most one nonready source (which usually spends fewer cycles in the queue) as opposed to hogging the entry with an instruction which enters the queue with two nonready sources. For, schedulers with the capacity to hold 64 instructions on a 4-way SMT, the 2OP_BLOCK design outperforms the traditional queue by 14 percent, on average, and at the same time results in a 10 percent reduction in the overall scheduling delay. We also present mechanisms to support speculative scheduling with 2OP_BLOCK and introduce the hybrid scheme that dynamically switches between 2OP_BLOCK and instruction packing modes depending on the workload characteristics, to achieve further performance gains
Joseph J. Sharkey, Dmitry V. Ponomarev
IEEE Trans. Computers1
2006 SPARTAN: speculative avoidance of register allocations to transient values for performance and energy efficiency
abstract
High-performance microprocessors use large, heavily-ported physical register files (RFs) to increase the instruction throughput. The high complexity and power dissipation of such RFs mainly stem from the need to maintain each and every result for a large number of cycles after the result generation. We observed that a significant fraction (about 45%) of the result values are never read from the register file and are not required to recover from branch mispredictions. In this paper, we propose SPARTAN - a set of micro-architectural extensions that predicts such transient values and in many cases completely avoids physical register allocations to them. We show that the transient values can be predicted as such with more than 97% accuracy on the average across simulated SPEC 2000 benchmarks. We evaluate the performance of SPARTAN on a variety of configurations and show that significant improvements in performance and energy-efficiency can be realized. Furthermore, we directly compare SPARTAN against a number of previously proposed schemes for register optimizations and show that our technique significantly outperforms all those schemes.
Deniz Balkan, Joseph J. Sharkey, Dmitry V. Ponomarev, Kanad Ghose
PACT2
2006 Adaptive reorder buffers for SMT processors
abstract
In SMT processors, the complex interplay between private and shared datapath resources needs to be considered in order to realize the full performance potential. In this paper, we show that blindly increasing the size of the per-thread reorder buffers to provide a larger number of in-flight instructions does not result in the expected performance gains but, quite in contrast, degrades the instruction throughput for virtually all multithreaded workloads. The reason for this performance loss is the excessive pressure on the shared datapath resources, especially the instruction scheduling logic. We propose intelligent mechanisms for dynamically adapting the number of reorder buffer entries allocated to each thread in an effort to avoid such allocations if they detrimentally impact the scheduler. We achieve this goal through categorizing the program execution into issue-bound and commit-bound phases and only performing the buffer allocations to the threads operating in commit-bound phases. Our adaptive technique achieves improvements of 21% in instruction throughput and 10% in the fairness metric compared to the best performing baseline configuration with static ROBs.
Joseph J. Sharkey, Deniz Balkan, Dmitry V. Ponomarev
PACT1
2006 Trade-Offs in Transient Fault Recovery Schemes for Redundant Multithreaded Processors
Joseph J. Sharkey, Nayef Abu-Ghazeleh, Dmitry V. Ponomarev, Kanad Ghose, Aneesh Aggarwal
HiPC1
2006 Efficient instruction schedulers for SMT processors
abstract
We propose dynamic scheduler designs to improve the scheduler scalability and reduce its complexity in the SMT processors. Our first design is an adaptation of the recently proposed instruction packing to SMT. Instruction packing opportunistically packs two instructions (possibly from different threads), each with at most one non-ready source operand at the time of dispatch, into the same issue queue entry. Our second design, termed 2OP/spl I.bar/BLOCK, takes these ideas one step further and completely avoids the dispatching of the instructions with two non-ready source operands. This technique has several advantages. First, it reduces the scheduling complexity (and the associated delays) as the logic needed to support the instructions with 2 non-ready source operands is eliminated. More surprisingly, 2OP/spl I.bar/BLOCK simultaneously improves the performance as the same issue queue entry may be reallocated multiple times to the instructions with at most one non-ready source (which usually spend fewer cycles in the queue) as opposed to hogging the entry with an instruction which enters the queue with two non-ready sources. For the schedulers with the capacity to hold 64 instructions, the 2OP/spl I.bar/BLOCK design outperforms the traditional queue by 11%, on the average, and at the same time results in a 10% reduction in the overall scheduling delay.
Joseph J. Sharkey, Dmitry V. Ponomarev
HPCA1
2006 Address-Value Decoupling for Early Register Deallocation
abstract
We propose a series of aggressive register deallocation mechanisms to reduce the register file pressure and increase the parallelism exploited by superscalar microprocessors. Our techniques are based on a key observation that a register value can be temporarily decoupled from the register identifier. Specifically, even if a physical register is deallocated, the value is still available in the register and can be read by the dependent instructions until the register is overwritten. In these situations, we can effectively overlap the consumption of the produced register value and partial processing of the instruction that gets the same register reassigned to it. In this paper, we propose several realizations of the address-value decoupling idea and discuss their implications on the performance. Our most aggressive scheme achieves an average IPC speedup of 14.6% across simulated SPEC 2000 benchmarks
Deniz Balkan, Joseph J. Sharkey, Dmitry V. Ponomarev, Aneesh Aggarwal
ICPP2
2006 Balancing ILP and TLP in SMT Architectures through Out-of-Order Instruction Dispatch
abstract
Simultaneous multi-threading (SMT) architectures open up new avenues for datapath optimizations due to the presence of thread-level parallelism (TLP). One recent proposal for exploiting such parallelism is the 2OP_BLOCK scheduler design, which completely avoids the dispatch of instructions with two non-ready source operands into the issue queue. This technique reduces the scheduler complexity and also provides performance benefits for workloads with sufficient TLP, as the issue queue is more efficiently utilized. In this paper we first revisit the 2OP_BLOCK scheduler and show that this design actually results in performance losses for workloads with a limited number of threads because the constraints imposed on the exploitable ILP within each thread outweigh its advantages. To balance the ILP (instruction-level parallelism) and TLP in SMT processors supporting such schedulers, we propose out-of-order dispatch of instructions within each thread. This simple augmentation naturally allows the 2OP_BLOCK scheduler to perform well even when the number of threads is small. Furthermore, for environments with a larger number of threads, the out-of-order dispatch mechanism improves the performance of the original proposal by up to 15% on the average across simulated multithreaded mixes of SPEC 2000 benchmarks
Joseph J. Sharkey, Dmitry V. Ponomarev
ICPP1
2006 Selective writeback: exploiting transient values for energy-efficiency and performance
abstract
Today's superscalar microprocessors use large, heavily-ported physical register files (RFs) to increase the instruction throughput. The high complexity and power dissipation of such RFs mainly stem from the need to maintain each and every result for a large number of cycles after the result generation. We observed that a significant fraction (about 45%) of the result values are delivered to their consumers via the bypass network (consumed on-the-fly) and are never read out from the destination registers. In this paper, we first formulate conditions for identifying such transient values and describe their micro-architectural implementation; then we propose a technique to avoid the writeback of such transient values into the RF. With 64-entry integer and floating point register files, our technique achieves an 11% performance improvement and 29% reduction in the RF energy consumption compared to the baseline machine with the same number of registers. Furthermore, for the same performance target, the Selective Writeback scheme results in a 38% reduction in the energy consumption of the RF compared to the baseline machine.
Deniz Balkan, Joseph J. Sharkey, Dmitry V. Ponomarev, Kanad Ghose
ISLPED2
2006 Instruction packing: Toward fast and energy-efficient instruction scheduling
abstract
Traditional dynamic scheduler designs use one issue queue entry per instruction, regardless of the actual number of operands actively involved in the wakeup process. We propose Instruction Packing---a novel microarchitectural technique that reduces both delay and power consumption of the issue queue by sharing the associative part of an issue queue entry between two instructions, each with, at most, one nonready register source operand at the time of dispatch. Our results show that this technique results in 40% reduction of the IQ power and 14% reduction in scheduling delay with negligible IPC degradations.
Joseph J. Sharkey, Dmitry V. Ponomarev, Kanad Ghose, Oguz Ergin
ACM Trans. Archit. Code Optim.1
2005 Non-uniform Instruction Scheduling
Joseph J. Sharkey, Dmitry V. Ponomarev
Euro-Par1
2005 Instruction Recirculation: Eliminating Counting Logic in Wakeup-Free Schedulers
Joseph J. Sharkey, Dmitry V. Ponomarev
Euro-Par1
2005 Power-Efficient Wakeup Tag Broadcast
abstract
The dynamic instruction scheduling logic is one of the most critical components of modern superscalar microprocessors, both from the delay and power dissipation standpoints. The delay and energy requirement of driving the wakeup tags across the associatively-addressed issue queue accounts for a significant percentage of the scheduler's overhead and also limits the design scalability. We propose tag memoization and tagline folding - two schemes to reduce the power of wakeup tag broadcasts by reducing the number of tag-bits that are driven in each broadcast. Our results show that the combination of these mechanisms provides 223% average reduction of the wakeup tag broadcast power with no impact on the IPC.
Joseph J. Sharkey, Kanad Ghose, Dmitry V. Ponomarev, Oguz Ergin
ICCD1
2005 Instruction packing: reducing power and delay of the dynamic scheduling logic
abstract
The instruction scheduling logic used in modern superscalar microprocessors often relies on associative searching of the issue queue entries to dynamically wakeup instructions for the execution. Traditional designs use one issue queue entry for each instruction, regardless of the actual number of operands actively used in the wakeup process. In this paper we propose Instruction Packing - a novel microarchitectural technique that reduces both the delay and the power consumption of the issue queue by sharing the associative part of an issue queue entry between two instructions, each with at most one non-ready register source operand at the time of dispatch. Our results show that Instruction Packing provides a 39% reduction of the whole issue queue power and 21.6% reduction in the wakeup delay with as little as 0.4% IPC degradation on the average across the simulated SPEC benchmarks
Joseph J. Sharkey, Dmitry V. Ponomarev, Kanad Ghose, Oguz Ergin
ISLPED1