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

Alok Garg

dblp:86/5432 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
0since 2021 · last 2011
0000-0002-5596-0610ORCID · corroborated

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

Systems, architecture and hardware · 8 · 4 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 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
5 papers
Processor architecture and microarchitecture · 56% Interconnection networks and networks-on-chip · 13% Memory systems · 10%
Software engineering, system software, and programming languages
1 paper
Program analysis · 100%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
out-of-order execution
0.232009
Replacing Associative Load Queues: A Timing-Centric Approach · IEEE Trans. Computers 2009
Slackened Memory Dependence Enforcement: Combining Opportunistic Forwarding with Decoupled Verification · ISCA 2006
Software-hardware cooperative memory disambiguation · HPCA 2006
Processor architecture and microarchitecture › out-of-order execution
memory disambiguation
0.122006
Slackened Memory Dependence Enforcement: Combining Opportunistic Forwarding with Decoupled Verification · ISCA 2006
Software-hardware cooperative memory disambiguation · HPCA 2006
Interconnection networks and networks-on-chip
optical interconnection networks
0.112010
An intra-chip free-space optical interconnect · ISCA 2010
Energy-efficient computing › low-power design
low-power processor design
0.112009
Replacing Associative Load Queues: A Timing-Centric Approach · IEEE Trans. Computers 2009
Processor architecture and microarchitecture › latency hiding
decoupled architecture
0.112008
A performance-correctness explicitly-decoupled architecture · MICRO 2008
Processor architecture and microarchitecture
load/store queue
0.112006
Software-hardware cooperative memory disambiguation · HPCA 2006
Processor architecture and microarchitecture › load/store queue
load-store queue management
0.112006
Software-hardware cooperative memory disambiguation · HPCA 2006
Processor architecture and microarchitecture › load/store queue
load-store queue scalability
0.112006
Slackened Memory Dependence Enforcement: Combining Opportunistic Forwarding with Decoupled Verification · ISCA 2006
Interconnection networks and networks-on-chip
communication bottleneck
0.012010
An intra-chip free-space optical interconnect · ISCA 2010
Integrated circuit design
system-on-chip
0.012010
An intra-chip free-space optical interconnect · ISCA 2010
Program analysis
static analysis
0.012006
Software-hardware cooperative memory disambiguation · HPCA 2006
Memory systems › memory hierarchy
cache hierarchy
0.012006
Slackened Memory Dependence Enforcement: Combining Opportunistic Forwarding with Decoupled Verification · ISCA 2006

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

offline analysis · 0.1hardware-software co-design · 0.1timing-based dependence checking · 0.1prefetching · 0.1prediction · 0.1replay · 0.1opportunistic forwarding · 0.1decoupled verification · 0.1
YearPublicationVenuePosition
2011 Speculative Parallelization in Decoupled Look-ahead
abstract
While a canonical out-of-order engine can effectively exploit implicit parallelism in sequential programs, its effectiveness is often hindered by instruction and data supply imperfections manifested as branch mispredictions and cache misses. Accurate and deep look-ahead guided by a slice of the executed program is a simple yet effective approach to mitigate the performance impact of branch mispredictions and cache misses. Unfortunately, program slice-guided look ahead is often limited by the speed of the look-ahead code slice, especially for irregular programs. In this paper, we attempt to speed up the look-ahead agent using speculative parallelization, which is especially suited for the task. First, slicing for look-ahead tends to reduce important data dependences that prohibit successful speculative parallelization. Second, the task for look-ahead is not correctness critical and thus naturally tolerates dependence violations. This enables an implementation to forgo violation detection altogether, simplifying architectural support tremendously. In a straightforward implementation, incorporating speculative parallelization to the look-ahead agent further improves system performance by up to 1.39x with an average of 1.13x.
Alok Garg, Raj Parihar, Michael C. Huang 0001
PACT1
2010 An intra-chip free-space optical interconnect
abstract
Continued device scaling enables microprocessors and other systems-on-chip (SoCs) to increase their performance, functionality, and hence, complexity. Simultaneously, relentless scaling, if uncompensated, degrades the performance and signal integrity of on-chip metal interconnects. These systems have therefore become increasingly communications-limited. The communications-centric nature of future high performance computing devices demands a fundamental change in intra- and inter-chip interconnect technologies.
Alok Garg, Berkehan Ciftcioglu, Jianyun Hu, Ioannis Savidis, Rebecca Berman, Peng Liu 0016, Michael C. Huang 0001, Hui Wu 0007, Eby G. Friedman, Gary Wicks, Duncan Moore
ISCA2
2009 Replacing Associative Load Queues: A Timing-Centric Approach
abstract
One of the main challenges of modern processor design is the implementation of a scalable and efficient mechanism to detect memory access order violations as a result of out-of-order execution. Traditional age-ordered associative load queues are complex, inefficient, and power hungry. In this paper, we introduce two new dependence checking schemes with different design tradeoffs, but both explicitly rely on timing information as a primary instrument to rule out dependence violation. Our timing-centric designs operate at a fraction of the energy cost of an associative LQ and achieve the same functionality with an insignificant performance impact on average. Studies with parallel benchmarks also show that they are equally effective and efficient in a chip-multiprocessor environment.
Fernando Castro, Regana Noor, Alok Garg, Daniel Chaver, Michael C. Huang 0001, Luis Piñuel, Manuel Prieto 0001, Francisco Tirado
IEEE Trans. Computers3
2008 A performance-correctness explicitly-decoupled architecture
abstract
Optimizing the common case has been an adage in decades of processor design practices. However, as the system complexity and optimization techniquespsila sophistication have increased substantially, maintaining correctness under all situations, however unlikely, is contributing to the necessity of extra conservatism in all layers of the system design. The mounting process, voltage, and temperature variation concerns further add to the conservatism in setting operating parameters. Excessive conservatism in turn hurt performance and efficiency in the common case. However, much of the systempsilas complexity comes from advanced performance features and may not compromise the whole systempsilas functionality and correctness even if some components are imperfect and introduce occasional errors. We propose to separate performance goals from the correctness goal using an explicitly-decoupled architecture. In this paper, we discuss one such incarnation where an independent core serves as an optimistic performance enhancement engine that helps accelerate the correctness-guaranteeing core by passing high-quality predictions and performing accurate prefetching. The lack of concern for correctness in the optimistic core allows us to optimize its execution in a more effective fashion than possible in optimizing a monolithic core with correctness requirements. We show that such a decoupled design allows significant optimization benefits and is much less sensitive to conservatism applied in the correctness domain.
Alok Garg, Michael C. Huang 0001
MICRO1
2008 Injection-Locked Clocking: A Low-Power Clock Distribution Scheme for High-Performance Microprocessors
abstract
We propose injection-locked clocking (ILC) to combat deteriorating clock skew and jitter, and reduce power consumption in high-performance microprocessors. In the new clocking scheme, injection-locked oscillators are used as local clock receivers. Compared to conventional clocking with buffered trees or grids, ILC can achieve better power efficiency, lower jitter, and much simpler skew compensation thanks to its built-in deskewing capability. Unlike other alternatives, ILC is fully compatible with conventional clock distribution networks. In this paper, a quantitative study based on circuit and microarchitectural-level simulations is performed. Alpha21264 is used as the baseline processor, and is scaled to 0.13 m and 3 GHz. Simulations show 20- and 23-ps jitter reduction, 10.1% and 17% power savings in two ILC configurations. A test chip distributing 5-GHz clock is implemented in a standard 0.18- m CMOS technology and achieved excellent jitter performance and a deskew range up to 80 ps.
Aaron Carpenter, Berkehan Ciftcioglu, Alok Garg, Michael C. Huang 0001, Hui Wu 0007
IEEE Trans. Very Large Scale Integr. Syst.4
2006 Software-hardware cooperative memory disambiguation
abstract
In high-end processors, increasing the number of in-flight instructions can improve performance by overlapping useful processing with long-latency accesses to the main memory. Buffering these instructions requires a tremendous amount of microarchitectural resources. Unfortunately, large structures negatively impact processor clock speed and energy efficiency. Thus, innovations in effective and efficient utilization of these resources are needed. In this paper, we target the load-store queue, a dynamic memory disambiguation logic that is among the least scalable structures in a modern microprocessor. We propose to use software assistance to identify load instructions that are guaranteed not to overlap with earlier pending stores and prevent them from competing for the resources in the load-store queue. We show that the design is practical, requiring off-line analyses and minimum architectural support. It is also very effective, allowing more than 40% of loads to bypass the load-store queue for floating-point applications. This reduces resource pressure and can lead to significant performance improvements.
Ruke Huang, Alok Garg, Michael C. Huang 0001
HPCA2
2006 Slackened Memory Dependence Enforcement: Combining Opportunistic Forwarding with Decoupled Verification
abstract
An efficient mechanism to track and enforce memory dependences is crucial to an out-of-order microprocessor. The conventional approach of using cross-checked load queue and store queue, while very effective in earlier processor incarnations, suffers from scalability problems in modern high-frequency designs that rely on buffering many in-flight instructions to exploit instruction-level parallelism. In this paper, we make a case for a very different approach to dynamic memory disambiguation. We move away from the conventional exact disambiguation strategy and adopt an opportunistic method: we allow loads and stores to access an L0 cache as they are issued out of program order, hoping that with such a laissez-faire approach, most loads actually obtain the right value. To guarantee correctness, they execute a second time in program order to access the non-speculative L1 cache. A discrepancy between the two executions triggers a replay. Such a design completely eliminates the necessity of real-time violation detection and thus avoids the conventional approach's complexity and the associated scalability issue. We show that even a simplistic design can provide similar performance level achieved with a conventional queue-based approach with optimistically-sized queues. When simple, optional optimizations are applied, the performance level is close to that achieved with ideally-sized queues
Alok Garg, M. Wasiur Rashid, Michael C. Huang 0001
ISCA1
2006 Substituting associative load queue with simple hash tables in out-of-order microprocessors
abstract
Buffering more in-flight instructions in an out-of-order microprocessor is a straightforward and effective method to help tolerate the long latencies generally associated with off-chip memory accesses. One of the main challenges of buffering a large number of instructions, however, is the implementation of a scalable and efficient mechanism to detect memory access order violations as a result of out-of-order scheduling of load and store instructions. Traditional CAM-based associative queues can be very slow and energy consuming. In this paper, instead of using the traditional age-based load queue to record load addresses, we explicitly record age information in address-indexed hash tables to achieve the same functionality of detecting premature loads. This alternative design eliminates associative searches and significantly reduces the energy consumption of the load queue. With simple techniques to reduce the number of false positives, performance degradation is kept at a minimum.
Alok Garg, Fernando Castro, Michael C. Huang 0001, Daniel Chaver, Luis Piñuel, Manuel Prieto 0001
ISLPED1