EDBT 2026 Demo / reviewers in the wild / expert
Shubhendu S. Mukherjee
dblp:65/1049
· DBLP profile ↗
24ranked-venue papers
10as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 22 · 9 first-authorSoftware engineering, systems software and programming languages · 12 · 5 first-authorSecurity and privacy · 1 · 1 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
20 papers |
Hardware reliability and fault tolerance · 52% Processor architecture and microarchitecture · 15% Interconnection networks and networks-on-chip · 12% | |
| Computer networks
1 paper |
Network performance modeling · 100% |
Topics — the 30 heaviest of 45, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Hardware reliability and fault tolerance
soft errors |
0.4 | 7 | 2010 | Explaining cache SER anomaly using DUE AVF measurement · HPCA 2010 Perturbation-based Fault Screening · HPCA 2007 Computing Architectural Vulnerability Factors for Address-Based Structures · ISCA 2005 |
Hardware reliability and fault tolerance › soft errors
architectural vulnerability factor |
0.2 | 3 | 2010 | Explaining cache SER anomaly using DUE AVF measurement · HPCA 2010 Computing Architectural Vulnerability Factors for Address-Based Structures · ISCA 2005 A Systematic Methodology to Compute the Architectural Vulnerability Factors for a High-Performance Microprocessor · MICRO 2003 |
Hardware reliability and fault tolerance › error detection
transient fault detection |
0.2 | 3 | 2007 | Perturbation-based Fault Screening · HPCA 2007 Design and Evaluation of Hybrid Fault-Detection Systems · ISCA 2005 Transient fault detection via simultaneous multithreading · ISCA 2000 |
Memory systems
cache |
0.1 | 1 | 2010 | Explaining cache SER anomaly using DUE AVF measurement · HPCA 2010 |
Hardware reliability and fault tolerance › soft errors
soft error mitigation |
0.1 | 2 | 2005 | Computing Architectural Vulnerability Factors for Address-Based Structures · ISCA 2005 The Soft Error Problem: An Architectural Perspective · HPCA 2005 |
Processor architecture and microarchitecture
chip multiprocessor |
0.1 | 1 | 2009 | Architectural core salvaging in a multi-core processor for hard-error tolerance · ISCA 2009 |
Hardware reliability and fault tolerance
permanent fault tolerance |
0.1 | 1 | 2009 | Architectural core salvaging in a multi-core processor for hard-error tolerance · ISCA 2009 |
Energy-efficient computing
power management |
0.1 | 1 | 2009 | CAMP: A technique to estimate per-structure power at run-time using a few simple parameters · HPCA 2009 |
Energy-efficient computing › power modeling
run-time power estimation |
0.1 | 1 | 2009 | CAMP: A technique to estimate per-structure power at run-time using a few simple parameters · HPCA 2009 |
Hardware reliability and fault tolerance › soft errors
transient fault |
0.1 | 2 | 2004 | Techniques to Reduce the Soft Error Rate of a High-Performance Microprocessor · ISCA 2004 Detailed Design and Evaluation of Redundant Multithreading Alternatives · ISCA 2002 |
Interconnection networks and networks-on-chip
congestion control |
0.1 | 2 | 2004 | Exploiting Global Knowledge to Achieve Self-Tuned Congestion Control for k-Ary n-Cube Networks · IEEE Trans. Parallel Distributed Syst. 2004 Self-Tuned Congestion Control for Multiprocessor Networks · HPCA 2001 |
Interconnection networks and networks-on-chip › congestion control
source throttling |
0.1 | 2 | 2004 | Exploiting Global Knowledge to Achieve Self-Tuned Congestion Control for k-Ary n-Cube Networks · IEEE Trans. Parallel Distributed Syst. 2004 Self-Tuned Congestion Control for Multiprocessor Networks · HPCA 2001 |
Electronic design automation › hardware verification and test
fault detection |
0.1 | 1 | 2005 | Software-controlled fault tolerance · ACM Trans. Archit. Code Optim. 2005 |
Hardware reliability and fault tolerance › reliability analysis
lifetime analysis |
0.1 | 1 | 2005 | Computing Architectural Vulnerability Factors for Address-Based Structures · ISCA 2005 |
Hardware reliability and fault tolerance › soft errors
soft error rate |
0.1 | 1 | 2005 | The Soft Error Problem: An Architectural Perspective · HPCA 2005 |
Hardware reliability and fault tolerance
error detection |
0.0 | 1 | 2004 | Techniques to Reduce the Soft Error Rate of a High-Performance Microprocessor · ISCA 2004 |
Hardware reliability and fault tolerance › soft errors
soft error rate reduction |
0.0 | 1 | 2004 | Techniques to Reduce the Soft Error Rate of a High-Performance Microprocessor · ISCA 2004 |
Memory systems
cache coherence |
0.0 | 3 | 1998 | Using Prediction to Accelerate Coherence Protocols · ISCA 1998 Coherent Network Interfaces for Fine-Grain Communication · ISCA 1996 Mechanisms for Cooperative Shared Memory · ISCA 1993 |
Processor architecture and microarchitecture › multithreading
simultaneous multithreading |
0.0 | 2 | 2002 | Transient fault detection via simultaneous multithreading · ISCA 2000 Detailed Design and Evaluation of Redundant Multithreading Alternatives · ISCA 2002 |
Interconnection networks and networks-on-chip
network interface |
0.0 | 2 | 1998 | The Impact of Data Transfer and Buffering Alternatives on Network Interface Design · HPCA 1998 Coherent Network Interfaces for Fine-Grain Communication · ISCA 1996 |
Hardware reliability and fault tolerance › redundancy
redundant multithreading |
0.0 | 1 | 2002 | Detailed Design and Evaluation of Redundant Multithreading Alternatives · ISCA 2002 |
Interconnection networks and networks-on-chip
multiprocessor interconnection |
0.0 | 1 | 2001 | Self-Tuned Congestion Control for Multiprocessor Networks · HPCA 2001 |
Memory systems › cache coherence
directory-based coherence |
0.0 | 2 | 1998 | Using Prediction to Accelerate Coherence Protocols · ISCA 1998 Mechanisms for Cooperative Shared Memory · ISCA 1993 |
Energy-efficient computing › power management
dynamic voltage and frequency scaling |
0.0 | 1 | 2009 | CAMP: A technique to estimate per-structure power at run-time using a few simple parameters · HPCA 2009 |
Hardware reliability and fault tolerance
hard errors |
0.0 | 1 | 2009 | Architectural core salvaging in a multi-core processor for hard-error tolerance · ISCA 2009 |
Hardware reliability and fault tolerance
fault injection |
0.0 | 1 | 2007 | Perturbation-based Fault Screening · HPCA 2007 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 1 | 1998 | Using Prediction to Accelerate Coherence Protocols · ISCA 1998 |
Electronic design automation › circuit simulation
reliability simulation |
0.0 | 1 | 2005 | Design and Evaluation of Hybrid Fault-Detection Systems · ISCA 2005 |
Memory systems › cache coherence › cache coherence protocol
snoopy coherence |
0.0 | 1 | 1996 | Coherent Network Interfaces for Fine-Grain Communication · ISCA 1996 |
Processor architecture and microarchitecture › front-end
instruction queue |
0.0 | 1 | 2004 | Techniques to Reduce the Soft Error Rate of a High-Performance Microprocessor · ISCA 2004 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.3proton beam irradiation · 0.1linear regression · 0.1perturbation-based screening · 0.1data consistency bounds · 0.1soft error rate computation · 0.1performance modeling · 0.1hamming-distance-one analysis · 0.1double-bit error analysis · 0.1adaptive protection · 0.1arbitration algorithms · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | Explaining cache SER anomaly using DUE AVF measurementabstractWe have discovered that processors can experience a super-linear increase in detected unrecoverable errors (DUE) when the write-back L2 cache is doubled in size. This paper explains how an increase in the cache tag's Architectural Vulnerability Factor or AVF caused such a super-linear increase in the DUE rate. AVF expresses the fraction of faults that become user-visible errors. Our hypothesis is that this increase in AVF is caused by a super-linear increase in ¿dirty¿ data residence times in the L2 cache. Using proton beam irradiation, we measured the DUE rates from the write-back cache tags and analyzed the data to show that our hypothesis holds. We utilized a combination of simulation and measurements to help develop and prove this hypothesis. Our investigation reveals two methods by which dirty line residency causes super-linear increases in the L2 cache tag's AVF. One is a reduction in the miss rates as we move to the larger cache part, resulting in fewer evictions of data required for architecturally correct execution. The second is the occurrence of strided cache access patterns, which cause a significant increase in the ¿dirty¿ residency times of cache lines without increasing the cache miss rate. Arijit Biswas, Charles Recchia, Shubhendu S. Mukherjee, Vinod Ambrose, Leo Chan, Aamer Jaleel, Athanasios E. Papathanasiou, Mike Plaster, Norbert Seifert |
HPCA | 3 |
| 2009 | CAMP: A technique to estimate per-structure power at run-time using a few simple parametersabstractMicroprocessor power has become a first-order constraint at run-time. Designers must employ aggressive power-management techniques at run-time to keep a processor's ballooning power requirements under control. Effective power management benefits from knowledge of run-time microprocessor power consumption in both the core and individual microarchitectural structures, such as caches, queues, and execution units. Increasingly feasible per-structure power-control techniques, such as fine-grain clock gating, power gating, and dynamic voltage/frequency scaling (DVFS), become more effective from run-time estimates of per-structure power. However, run-time computation of per-structure power estimates based on utilization requires daunting numbers of input statistics, which makes per-structure monitoring of run-time power a challenging problem. To address the challenges of estimating per-structure power in hardware, we propose a new technique, called Common Activity-based Model for Power (CAMP), to estimate activity factors and power for microarchitectural structures. Despite using a relatively few input parameters-specifically nine-based on general microprocessor utilization statistics (e.g., IPC and load rate), our linear-regression-based model estimates activity and dynamic power for over 100 structures in an out-of-order x86 pipeline and core power with an average error of 8%. Because the computations utilize few inputs, CAMP is simple enough to implement in hardware, providing run-time structure and core power estimates for dynamic power management. Because the input statistics are generic in nature and the model remains accurate across incremental microarchitectural refinements, CAMP provides simple intuitive equations relating global microarchitectural statistics to structure activity and power. These equations provide a simple technique that can equate changes in one structure's activity to power variations in other structures across the pipeline. Michael D. Powell, Arijit Biswas, Joel S. Emer, Shubhendu S. Mukherjee, Basit Riaz Sheikh, Shrirang M. Yardi |
HPCA | 4 |
| 2009 | Architectural core salvaging in a multi-core processor for hard-error toleranceabstractThe incidence of hard errors in CPUs is a challenge for future multicore designs due to increasing total core area. Even if the location and nature of hard errors are known a priori, either at manufacture-time or in the field, cores with such errors must be disabled in the absence of hard-error tolerance. While caches, with their regular and repetitive structures, are easily covered against hard errors by providing spare arrays or spare lines, structures within a core are neither as regular nor as repetitive. Previous work has proposed microarchitectural core salvaging to exploit structural redundancy within a core and maintain functionality in the presence of hard errors. Unfortunately microarchitectural salvaging introduces complexity and may provide only limited coverage of core area against hard errors due to a lack of natural redundancy in the core. Michael D. Powell, Arijit Biswas, Shubhendu S. Mukherjee |
ISCA | 4 |
| 2007 | Perturbation-based Fault ScreeningabstractFault screeners are a new breed of fault identification technique that can probabilistically detect if a transient fault has affected the state of a processor. We demonstrate that fault screeners function because of two key characteristics. First, we show that much of the intermediate data generated by a program inherently falls within certain consistent bounds. Second, we observe that these bounds are often violated by the introduction of a fault. Thus, fault screeners can identify faults by directly watching for any data inconsistencies arising in an application's behavior. We present an idealized algorithm capable of identifying over 85% of injected faults on the SpecInt suite and over 75% overall. Further, in a realistic implementation on a simulated Pentium-III-like processor, about half of the errors due to injected faults are identified while still in speculative state. Errors detected this early can be eliminated by a pipeline flush. In this paper, we present several hardware-based versions of this screening algorithm and show that flushing the pipeline every time the hardware screener triggers reduces overall performance by less than 1% Paul Racunas, Kypros Constantinides, Srilatha Manne, Shubhendu S. Mukherjee |
HPCA | 4 |
| 2005 | The Soft Error Problem: An Architectural PerspectiveabstractRadiation-induced soft errors have emerged as a key challenge in computer system design. If the industry is to continue to provide customers with the level of reliability they expect, microprocessor architects must address this challenge directly. This effort has two parts. First, architects must understand the impact of soft errors on their designs. Second, they must select judiciously from among available techniques to reduce this impact in order to meet their reliability targets with minimum overhead. To provide a foundation for these efforts, this paper gives a broad overview of the soft error problem from an architectural perspective. We start with basic definitions, followed by a description of techniques to compute the soft error rate. Then, we summarize techniques used to reduce the soft error rate. This paper also describes problems with double-bit errors. Finally, this paper outlines future directions for architecture research in soft errors. Shubhendu S. Mukherjee, Joel S. Emer, Steven K. Reinhardt |
HPCA | 1 |
| 2005 | Computing Architectural Vulnerability Factors for Address-Based StructuresabstractProcessor designers require estimates of the architectural vulnerability factor (AVF) of on-chip structures to make accurate soft error rate estimates. AVF is the fraction of faults from alpha particle and neutron strikes that result in user-visible errors. This paper shows how to use a performance model to calculate the AVF of address-based structures, using a data cache, a data translation buffer, and a store buffer as examples. We describe how to perform a detailed breakdown of lifetime components (e.g., fill-to-read, read-to-evict) of bits in these structures into ACE (required for architecturally correct execution), un-ACE (unnecessary for ACE), and unknown components. This lifetime analysis produces best estimate AVFs for these three structures' data arrays of 6%, 36%, and 4%, respectively. We then present a new technique, hamming-distance-one analysis, and show that it predicts surprisingly low best estimate AVFs of 0.41%, 3%, and 7.7% for the structures' tag arrays. Finally, using our lifetime analysis framework, we show how two AVF reduction techniques - periodic flushing and incremental scrubbing - can reduce the AVF by converting ACE lifetime components into un-ACE without affecting performance significantly. Arijit Biswas, Paul Racunas, Razvan Cheveresan, Joel S. Emer, Shubhendu S. Mukherjee, Ram Rangan |
ISCA | 5 |
| 2005 | Design and Evaluation of Hybrid Fault-Detection SystemsabstractAs chip densities and clock rates increase, processors are becoming more susceptible to transient faults that can affect program correctness. Up to now, system designers have primarily considered hardware-only and software-only fault-detection mechanisms to identify and mitigate the deleterious effects of transient faults. These two fault-detection systems, however, are extremes in the design space, representing sharp trade-offs between hardware cost, reliability, and performance. In this paper, we identify hybrid hardware/software fault-detection mechanisms as promising alternatives to hardware-only and software-only systems. These hybrid systems offer designers more options to fit their reliability needs within their hardware and performance budgets. We propose and evaluate CRAFT, a suite of three such hybrid techniques, to illustrate the potential of the hybrid approach. For fair, quantitative comparisons among hardware, software, and hybrid systems, we introduce a new metric, mean work to failure, which is able to compare systems for which machine instructions do not represent a constant unit of work. Additionally, we present a new simulation framework which rapidly assesses reliability and does not depend on manual identification of failure modes. Our evaluation illustrates that CRAFT, and hybrid techniques in general, offer attractive options in the fault-detection design space. George A. Reis, Neil Vachharajani, Ram Rangan, David I. August, Shubhendu S. Mukherjee |
ISCA | 6 |
| 2005 | Software-controlled fault toleranceabstractTraditional fault-tolerance techniques typically utilize resources ineffectively because they cannot adapt to the changing reliability and performance demands of a system. This paper proposes software-controlled fault tolerance, a concept allowing designers and users to tailor their performance and reliability for each situation. Several software-controllable fault-detection techniques are then presented: SWIFT, a software-only technique, and CRAFT, a suite of hybrid hardware/software techniques. Finally, the paper introduces PROFiT, a technique which adjusts the level of protection and performance at fine granularities through software control. When coupled with software-controllable techniques like SWIFT and CRAFT, PROFiT offers attractive and novel reliability options. George A. Reis, Neil Vachharajani, Ram Rangan, David I. August, Shubhendu S. Mukherjee |
ACM Trans. Archit. Code Optim. | 6 |
| 2004 | Techniques to Reduce the Soft Error Rate of a High-Performance MicroprocessorabstractTransient faults due to neutron and alpha particle strikes pose a significant obstacle to increasing processor transistor counts in future technologies. Although fault rates of individual transistors may not rise significantly, incorporating more transistors into a device makes that device more likely to encounter a fault. Hence, maintaining processor error rates at acceptable levels will require increasing design effort. This paper proposes two simple approaches to reduce error rates and evaluates their application to a microprocessor instruction queue. The first technique reduces the time instructions sit in vulnerable storage structures by selectively squashing instructions when long delays are encountered. A fault is less likely to cause an error if the structure it affects does not contain valid instructions. We introduce a new metric, MITF (Mean Instructions To Failure), to capture the trade-off between performance and reliability introduced by this approach. The second technique addresses false detected errors. In the absence of a fault detection mechanism, such errors would not have affected the final outcome of a program. For example, a fault affecting the result of a dynamically dead instruction would not change the final program output, but could still be flagged by the hardware as an error. To avoid signalling such false errors, we modify a pipeline's error detection logic to mark affected instructions and data as possibly incorrect rather than immediately signaling an error. Then, we signal an error only if we determine later that the possibly incorrect value could have affected the program's output. Christopher T. Weaver, Joel S. Emer, Shubhendu S. Mukherjee, Steven K. Reinhardt |
ISCA | 3 |
| 2004 | Cache Scrubbing in Microprocessors: Myth or Necessity?abstractTransient faults from neutron and alpha particle strikes in large SRAM caches have become a major problem for microprocessor designers. To protect these caches, designers often use error correcting codes (ECC), which typically provide single-bit error correction and double-bit error detection (SECDED). Unfortunately, two separate strikes could still flip two different bits in the same ECC-protected word. This we call a temporal double-bit error. SECDED ECC can only detect, not correct such errors. We show how to compute the mean time to failure for temporal double-bit errors. Additionally, we show how fixed-interval scrubbing - in which error checkers periodically access cache blocks and remove single-bit errors - can mitigate such errors in processor caches. Our analysis using current soft error rates shows that only very large caches (e.g., hundreds of megabytes to gigabytes) need scrubbing to reduce the temporal double-bit error rate to a tolerable range. Shubhendu S. Mukherjee, Joel S. Emer, Tryggve Fossum, Steven K. Reinhardt |
PRDC | 1 |
| 2004 | Exploiting Global Knowledge to Achieve Self-Tuned Congestion Control for k-Ary n-Cube NetworksabstractNetwork performance in tightly-coupled multiprocessors typically degrades rapidly beyond network saturation. Consequently, designers must keep a network below its saturation point by reducing the load on the network. Congestion control via source throttling-a common technique to reduce the network load-prevents new packets from entering the network in the presence of congestion. Unfortunately, prior schemes to implement source throttling either lack vital global information about the network to make the correct decision (whether to throttle or not) or depend on specific network parameters, or communication patterns. This paper presents a global-knowledge-based, self-tuned, congestion control technique that prevents saturation at high loads across different communication patterns for k-ary n-cube networks. Our design is composed of two key components. First, we use global information about a network to obtain a timely estimate of network congestion. We compare this estimate to a threshold value to determine when to throttle packet injection. The second component is a self-tuning mechanism that automatically determines appropriate threshold values based on throughput feedback. A combination of these two techniques provides high performance under heavy load, does not penalize performance under light load, and gracefully adapts to changes in communication patterns. Mithuna Thottethodi, Alvin R. Lebeck, Shubhendu S. Mukherjee |
IEEE Trans. Parallel Distributed Syst. | 3 |
| 2003 | A Systematic Methodology to Compute the Architectural Vulnerability Factors for a High-Performance MicroprocessorabstractSingle-event upsets from particle strikes have become a key challenge in microprocessor design. Techniques to deal with these transients faults exist, but come at a cost. Designers clearly require accurate estimates of processor error rates to make appropriate cost/reliability tradeoffs. This paper describes a method for generating these estimates. A key aspect of this analysis is that some single-bit faults (such as those occurring in the branch predictor) do not produce an error in a program's output. We define a structure's architectural vulnerability factor (AVF) as the probability that a fault in that particular structure do not result in an error. A structure's error rate is the product of its raw error rate, as determined by process and circuit technology, and the AVF. Unfortunately, computing AVFs of complex structures, such as the instruction queue, can be quite involved. We identify numerous cases, such as prefetches, dynamically dead code, and wrong-path instructions, in which a fault do not affect, correct execution. We instrument a detailed 1A64 processor simulator to map bit-level microarchitectural state to these cases, generating per-structure AVF estimates. This analysis shows AVFs of 28% and 9% for the instruction queue and execution units, respectively, averaged across dynamic sections of the entire CPU2000 benchmark suite. Shubhendu S. Mukherjee, Christopher T. Weaver, Joel S. Emer, Steven K. Reinhardt, Todd M. Austin |
MICRO | 1 |
| 2002 | A comparative study of arbitration algorithms for the Alpha 21364 pipelined routerabstractInterconnection networks usually consist of a fabric of interconnected routers, which receive packets arriving at their input ports and forward them to appropriate output ports. Unfortunately, network packets moving through these routers are often delayed due to conflicting demand for resources, such as output ports or buffer space. Hence, routers typically employ arbiters that resolve conflicting resource demands to maximize the number of matches between packets waiting at input ports and free output ports. Efficient design and implementation of the algorithm running on these arbiters is critical to maximize network performance.This paper proposes a new arbitration algorithm called SPAA (Simple Pipelined Arbitration Algorithm), which is implemented in the Alpha 21364 processor's on-chip router pipeline. Simulation results show that SPAA significantly outperforms two earlier well-known arbitration algorithms: PIM (Parallel Iterative Matching) and WFA (Wave-Front Arbiter) implemented in the SGI Spider switch. SPAA outperforms PIM and WFA because SPAA exhibits matching capabilities similar to PIM and WFA under realistic conditions when many output ports are busy, incurs fewer clock cycles to perform the arbitration, and can be pipelined effectively. Additionally, we propose a new prioritization policy called the Rotary Rule, which prevents the network's adverse performance degradation from saturation at high network loads by prioritizing packets already in the network over new packets generated by caches or memory. Shubhendu S. Mukherjee, Federico Silla, Peter J. Bannon, Joel S. Emer, Steven Lang, David Webb |
ASPLOS | 1 |
| 2002 | Detailed Design and Evaluation of Redundant Multithreading AlternativesabstractExponential growth in the number of on-chip transistors, coupled. with reductions in. voltage levels, makes each generation of microprocessors increasingly vulnerable to transient faults. In a multi-threaded environment, we can detect these faults by running two copies of the same program as separate threads, feeding them identical inputs, and comparing their outputs, a technique we call redundant multi-threading (RMT). This paper studies RMT techniques in the context of both single- and dual-processor simultaneous multi-threaded (SMT) single-chip devices. Using a detailed, commercial-grade, SMT processor design we uncover subtle RMT implementation complexities, and find that RMT can be a more significant burden for single-processor devices than prior studies indicate. However, a novel application of RMT techniques in a dual-processor device, which we term chip-level redundant threading, shows higher performance than lock-stepping the two cores, especially on multi-threaded workloads. Shubhendu S. Mukherjee, Michael Kontz, Steven K. Reinhardt |
ISCA | 1 |
| 2001 | Self-Tuned Congestion Control for Multiprocessor NetworksabstractOne-track performance in tightly-coupled multiprocessors typically, degrades rapidly beyond network saturation. Consequently, designers must keep a network below its saturation point by reducing the load on the network. Congestion control via source throttling-a common technique to reduce the network load-presents new packets from entering the network in the presence of congestion. Unfortunately, prior schemes to implement source throttling either lack vital global information about the network to make the correct decision (whether to throttle or not) or depend on specific network parameters, network topology or communication pattern. This paper presents a global-knowledge-based, self-tuned, congestion control technique that prevents saturation at high loads across different network configurations and commutation pattern. Our design is composed of two key components. First, we use global information about a network to obtain a timely estimate of network congestion. We compare this estimate to a threshold value to determine when to throttle packet injection. The second component is a self-tuning mechanism that automatically determines appropriate threshold values based on throughput feedback. A combination of these two techniques provides high performance under heavy load does not penalize performance under light load, and gracefully adapts to changes in communication patterns. Mithuna Thottethodi, Alvin R. Lebeck, Shubhendu S. Mukherjee |
HPCA | 3 |
| 2001 | Boosting SMT Performance by Speculation ControlabstractSimultaneous Multithreading (SMT) is a technique that permits multiple threads to execute in parallel within a single processor. Usually, an SMT processor uses shared instruction queues to collect instructions from the different threads. Hence, an SMT processor's performance depends on how the instruction fetch unit fills these instruction queues. On each cycle the fetch unit must judiciously decide which threads to fetch instructions from. This paper proposes a new instruction fetch scheme that uses both fetch prioritizing and fetch gating for SMR processors. Fetch prioritizing sets up fetch priority for each thread based on the number of unresolved low-confidence branches from the thread, while fetch gating prevents fetching from a thread once it has a stipulated number of out-standing low-confidence branches. Based on the fetch priority of each thread, our fetch scheme finds threads that are most likely to be in their correct paths. This improves the overall throughput of an SMT processor by reducing the number of wrong-path instructions in the pipeline. Our experimental evaluation shows that, on the average, our fetch scheme provides 14.9% speedup over ICOUNT, which is the best fetch policy reported so far for SMT. Manoj Franklin, Shubhendu S. Mukherjee, André Seznec |
IPDPS | 3 |
| 2000 | Transient fault detection via simultaneous multithreadingabstractSmaller feature sizes, reduced voltage levels, higher transistor counts, and reduced noise margins make future generations of microprocessors increasingly prone to transient hardware faults. Most commercial fault-tolerant computers use fully replicated hardware components to detect microprocessor faults. The components are lockstepped (cycle-by-cycle synchronized) to ensure that, in each cycle, they perform the same operation on the same inputs, producing the same outputs in the absence of faults. Unfortunately, for a given hardware budget, full replication reduces performance by statically partitioning resources among redundant operations. We demonstrate that a Simultaneous and Redundantly Threaded (SRT) processor---derived from a Simultaneous Multithreaded (SMT) processor---provides transient fault coverage with significantly higher performance. An SRT processor provides transient fault coverage by running identical copies of the same program simultaneously as independent threads. A... Steven K. Reinhardt, Shubhendu S. Mukherjee |
ISCA | 2 |
| 1998 | The Impact of Data Transfer and Buffering Alternatives on Network Interface DesignabstractThe explosive growth in the performance of microprocessors and networks has created a new opportunity to reduce the latency of fine-grain communication. Microprocessor clock speeds are now approaching the gigahertz range. Network switch latencies have dropped to tens of nanoseconds. Unfortunately, this explosive growth also exposes processor accesses to the network interface (NI) as a critical bottleneck for fine-grain communication. Researchers have proposed several techniques, such as using block loads and stores, user-level DMA, and coherent network interfaces, to alleviate this NI access bottleneck. We systematically identify, examine and evaluate the key parameters that underlie these design alternatives. We classify these parameters into two categories: data transfer and buffering parameters. The data transfer parameters capture how messages are transferred between internal memory structures (e.g. processor caches, main memory) of a computer and a memory bus NI. The buffering parameters capture how and where an NI buffers incoming network messages. We evaluate seven memory bus NIs that we believe capture the essential components of the design space exposed by these data transfer and buffering parameters. Shubhendu S. Mukherjee, Mark D. Hill |
HPCA | 1 |
| 1998 | Using Prediction to Accelerate Coherence ProtocolsabstractMost large shared-memory multiprocessors use directory protocols to keep per-processor caches coherent. Some memory references in such systems, however suffer long latencies for misses to remotely-cached blocks. To ameliorate this latency, researchers have augmented standard coherence protocols with optimizations for specific sharing patterns, such as read-modify-write, producer-consumer and migratory sharing. This paper seeks to replace these directed solutions with general prediction logic that monitors coherence activity and triggers appropriate coherence actions. This paper takes the first step toward using general prediction to accelerate coherence protocols by developing and evaluating the Cosmos coherence message predictor. Cosmos predicts the source and type of the next coherence message for a cache block using logic that is an extension of Yeh and Patt's two-level PAp branch predictor. For five scientific applications running on 16 processors, Cosmos has prediction accuracies of 62% to 93%. Cosmos' high prediction accuracy is a result of predictable coherence message signatures that arise from stable sharing patterns of cache blocks. Shubhendu S. Mukherjee, Mark D. Hill |
ISCA | 1 |
| 1996 | Coherent Network Interfaces for Fine-Grain CommunicationabstractHistorically, processor accesses to memory-mapped device registers have been marked uncachable to insure their visibility to the device. The ubiquity of snooping cache coherence, however, makes it possible for processors and devices to interact with cachable, coherent memory operations. Using coherence can improve performance by facilitating burst transfers of whole cache blocks and reducing control overheads (e.g., for polling).This paper begins an exploration of network interfaces (NIs) that use coherence---coherent network interfaces (CNIs)---to improve communication performance. We restrict this study to NI/CNIs that reside on coherent memory or I/O buses, to NI/CNIs that are much simpler than processors, and to the performance of fine-grain messaging from user process to user process.Our first contribution is to develop and optimize two mechanisms that CNIs use to communicate with processors. A cachable device register---derived from cachable control registers [39,40]---is a coherent, cachable block of memory used to transfer status, control, or data between a device and a processor. Cachable queues generalize cachable device registers from one cachable, coherent memory block to a contiguous region of cachable, coherent blocks managed as a circular queue.Our second contribution is a taxonomy and comparison of four CNIs with a more conventional NI. Microbenchmark results show that CNIs can improve the round-trip latency and achievable bandwidth of a small 64-byte message by 37% and 125% respectively on the memory bus and 74% and 123% respectively on a coherent I/O bus. Experiments with five macrobenchmarks show that CNIs can improve the performance by 17-53% on the memory bus and 30-88% on the I/O bus. Shubhendu S. Mukherjee, Babak Falsafi, Mark D. Hill, David A. Wood 0001 |
ISCA | 1 |
| 1995 | Efficient Support for Irregular Applications on Distributed-Memory MachinesabstractIrregular computation problems underlie many important scientific applications. Although these problems are computationally expensive, and so would seem appropriate for parallel machines, their irregular and unpredictable run-time behavior makes this type of parallel program difficult to write and adversely affects run-time performance. Shubhendu S. Mukherjee, Shamik D. Sharma, Mark D. Hill, James R. Larus, Anne Rogers, Joel H. Saltz |
PPoPP | 1 |
| 1994 | An evaluation of directory protocols for medium-scale shared-memory multiprocessorsabstractThis paper considers alternative directory protocols for providing cache coherence in shared-memory multiprocessors with 32 to 128 processors, where the state requirements of DirN may be considered too large. We consider DiriB, i=1,2,4, DirN, Tristate (also called superset), Coarse Vector, and three new protocols. The new protocols—Gray-hardward, Gray-software, Home—are optimizations of Tristate that use gray coding to favor near-neighbor sharing. Shubhendu S. Mukherjee, Mark D. Hill |
International Conference on Supercomputing | 1 |
| 1994 | Anomalies and adaptation in the analysis and development of prepaging policies
Paul R. Wilson 0001, Sheetal V. Kakkad, Shubhendu S. Mukherjee |
J. Syst. Softw. | 3 |
| 1993 | Mechanisms for Cooperative Shared MemoryabstractThis paper explores the complexity of implementing directory protocols by examining their mechanisms primitive operations on directories, caches, and network interfaces. We compare the following protocols: Dir1B, Dir4B, Dir4NB, DirnNB[2], Dir1SW[9] and an improved version of Dir1SW (Dir1SW+). The comparison shows that the mechanisms and mechanism sequencing of Dir1SW and Dir1SW+ are simpler than those for other protocols. David A. Wood 0001, Satish Chandra 0001, Babak Falsafi, Mark D. Hill, James R. Larus, Alvin R. Lebeck, James C. Lewis, Shubhendu S. Mukherjee, Subbarao Palacharla, Steven K. Reinhardt |
ISCA | 8 |