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

Ashwini K. Nanda

dblp:44/5691 · DBLP profile ↗
← Back
18ranked-venue papers
7as first author
0since 2021 · last 2002
—ORCID · none

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

Systems, architecture and hardware · 17 · 7 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorComputer networks · 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
10 papers
Memory systems · 42% Performance modeling and evaluation · 22% Processor architecture and microarchitecture · 19%

Topics — the 28 heaviest of 29, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
cache coherence
0.152000
High-Throughput Coherence Controllers · HPCA 2000
Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors · IEEE Trans. Computers 1999
Design and Performance of Directory Caches for Scalable Shared Memory Multiprocessors · HPCA 1999
Memory systems › cache coherence
coherence controller
0.122000
High-Throughput Coherence Controllers · HPCA 2000
Design and Performance of Directory Caches for Scalable Shared Memory Multiprocessors · HPCA 1999
Processor architecture and microarchitecture › multiprocessor architecture
scalable shared-memory multiprocessor
0.021999
Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors · IEEE Trans. Computers 1999
Design and Performance of Directory Caches for Scalable Shared Memory Multiprocessors · HPCA 1999
Performance modeling and evaluation
simulation
0.032000
MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design · ASPLOS 2000
Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors · IEEE Trans. Computers 1999
Performance of Multistage Bus Networks for a Distributed Shared Memory Multiprocessor · IEEE Trans. Parallel Distributed Syst. 1997
Memory systems › shared memory
distributed shared memory
0.022000
High-Throughput Coherence Controllers · HPCA 2000
Performance of Multistage Bus Networks for a Distributed Shared Memory Multiprocessor · IEEE Trans. Parallel Distributed Syst. 1997
Performance modeling and evaluation
workload characterization
0.022000
Second Workshop on Computer Architecture Evaluation Using Commercial Workloads · HPCA 1999
MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design · ASPLOS 2000
Interconnection networks and networks-on-chip › switching network
multistage interconnection network
0.021997
Performance of Multistage Bus Networks for a Distributed Shared Memory Multiprocessor · IEEE Trans. Parallel Distributed Syst. 1997
Design and Analysis of Cache Coherent Multistage Interconnection Networks · IEEE Trans. Computers 1993
Memory systems
cache
0.012000
MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design · ASPLOS 2000
Memory systems › cache design
cache configuration
0.012000
MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design · ASPLOS 2000
Electronic design automation
hardware emulation
0.012000
MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design · ASPLOS 2000
Performance modeling and evaluation › workload characterization
commercial workloads
0.011999
Second Workshop on Computer Architecture Evaluation Using Commercial Workloads · HPCA 1999
Memory systems › cache coherence
directory cache
0.011999
Design and Performance of Directory Caches for Scalable Shared Memory Multiprocessors · HPCA 1999
Electronic design automation › physical design
routing
0.011997
Performance of Multistage Bus Networks for a Distributed Shared Memory Multiprocessor · IEEE Trans. Parallel Distributed Syst. 1997
Interconnection networks and networks-on-chip › routing algorithms
self-routing
0.011997
Performance of Multistage Bus Networks for a Distributed Shared Memory Multiprocessor · IEEE Trans. Parallel Distributed Syst. 1997
Processor architecture and microarchitecture › branch prediction
branch misprediction
0.011996
Integrating a Misprediction Recovery Cache (MRC) into a Superscalar Pipeline · MICRO 1996
Processor architecture and microarchitecture › branch prediction
branch misprediction recovery
0.011996
Integrating a Misprediction Recovery Cache (MRC) into a Superscalar Pipeline · MICRO 1996
Processor architecture and microarchitecture
branch prediction
0.011996
Integrating a Misprediction Recovery Cache (MRC) into a Superscalar Pipeline · MICRO 1996
Processor architecture and microarchitecture › superscalar processor
superscalar pipeline
0.011996
Integrating a Misprediction Recovery Cache (MRC) into a Superscalar Pipeline · MICRO 1996
Memory systems › cache coherence
directory-based coherence
0.011993
Design and Analysis of Cache Coherent Multistage Interconnection Networks · IEEE Trans. Computers 1993
Performance modeling and evaluation › performance evaluation methodology
simulation and analytical modeling
0.011993
Design and Analysis of Cache Coherent Multistage Interconnection Networks · IEEE Trans. Computers 1993
Processor architecture and microarchitecture › multiprocessor architecture
cache-coherent multiprocessor
0.011992
Mapping Applications onto a Cache Coherent Multiprocessor · SC 1992
Parallel and multicore computing
task allocation
0.011992
Mapping Applications onto a Cache Coherent Multiprocessor · SC 1992
Interconnection networks and networks-on-chip
network interface
0.012000
High-Throughput Coherence Controllers · HPCA 2000
Performance modeling and evaluation
trace analysis
0.012000
MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design · ASPLOS 2000
Performance modeling and evaluation › system-level analysis
architecture evaluation
0.011999
Second Workshop on Computer Architecture Evaluation Using Commercial Workloads · HPCA 1999
Processor architecture and microarchitecture › multiprocessor architecture
CC-NUMA multiprocessor
0.011997
Coherence Controller Architectures for SMP-Based CC-NUMA Multiprocessors · ISCA 1997
Performance modeling and evaluation › simulation › architectural simulation
execution-driven simulation
0.011997
Performance of Multistage Bus Networks for a Distributed Shared Memory Multiprocessor · IEEE Trans. Parallel Distributed Syst. 1997
Parallel and multicore computing › multiprocessor system › shared-memory multiprocessor
SMP node
0.011997
Coherence Controller Architectures for SMP-Based CC-NUMA Multiprocessors · ISCA 1997

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

simulation · 0.1performance modeling · 0.0FPGA-based emulation · 0.0queueing analysis · 0.0performance analysis · 0.0misprediction recovery cache · 0.0analytical modeling · 0.0simulated annealing · 0.0
YearPublicationVenuePosition
2002 Shared cache architectures for decision support systems
Michel Dubois 0001, Ashwini K. Nanda
Perform. Evaluation3
2000 MemorIES: A Programmable, Real-Time Hardware Emulation Tool for Multiprocessor Server Design
abstract
Modern system design often requires multiple levels of simulation for design validation and performance debugging. However, while machines have gotten faster, and simulators have become more detailed, simulation speeds have not tracked machine speeds, As a result, it is difficult to simulate realistic problem sizes and hardware configurations for a target machine. Instead, researchers have focussed on developing sealing methodologies and running smaller problem sizes and configurations that attempt to represent the behavior of the real problem. Given the increasing size of problems today, it is unclear whether such an approach yields accurate results. Moreover, although commercial workloads are prevalent and important in today's marketplace, many simulation tools are unable to adequately profile such applications, let alone for realistic sizes.In this paper we present a hardware-based emulation tool that can be used to aid memory system designers. Our focus is on the memory system because the ever-widening gap between processor and memory speeds means that optimizing the memory subsystem is critical for performance. We present the design of the Memory Instrumentation and Emulation System (MemoriES). MemoriES is a programmable tool designed using FPGAs and SDRAMs. It plugs into an SMP bus to perform on-line emulation of several cache configurations, structures and protocols while the system is running real-life workloads in real-time, without any slowdown in application execution speed. We demonstrate its usefulness in several case studies, and find several important results. First, using traces to perform system evaluation can lead to incorrect results (off by 100% or more in some cases) if the trace size is not sufficiently large. Second. MemoriES is able to detect performance problems by profiling miss behavior over the entire course of a run, rather than relying on a small interval of time. Finally, we observe that previous studies of SPLASH2 applications using scaled application sizes can result in optimistic miss rates relative to real sizes on real machines, providing potentially misleading data when used for design evaluation.
Ashwini K. Nanda, Kwok-Ken Mak, Krishnan Sugavanam, Ramendra K. Sahoo, Vijayaraghavan Soundararajan, T. Basil Smith
ASPLOS1
2000 High-Throughput Coherence Controllers
abstract
Recent research shows that the occupancy of the coherence controllers is a major performance bottleneck for distributed cache coherent shared memory multiprocessors. In this paper we study three approaches to alleviating this problem in hardwired coherence controllers, namely, multiple protocol engines, pipelined protocol engines, and split request-response streams. Split request-response streams is an innovative contribution of this paper. The performance of pipelining in the context of coherence controllers has not been presented in the literature. Multiple protocol engines has not been studied in the context of hardwired controllers except for a study of ours and only to a limited extent. Using both commercial and scientific benchmarks on detailed simulation models, we present experimental results that show that each mechanism is highly effective at reducing controller occupancy by as much as 66% and improving execution time by as much as 51%, for applications with high communication bandwidth requirement. A combination of mechanisms further reduces controller occupancy and execution time by as much as 78% and 61%, respectively. Our results show that applying any of the parallel mechanisms in the coherence controllers allows integrating four times as many processors per coherence controller, thus reducing system cost, while maintaining or even exceeding the performance of systems with larger number of coherence controllers.
Ashwini K. Nanda, Anthony-Trung Nguyen, Maged M. Michael, Douglas J. Joseph
HPCA1
2000 Using Switch Directories to Speed Up Cache-to-Cache Transfers in CC-NUMA Multiprocessors
abstract
In this paper we propose a novel hardware caching technique, called switch directory, to reduce the communication latency in CC-NUMA multiprocessors. The main idea is to implement small fast directory caches in crossbar switches of the inter-connect medium to capture and store ownership information as the data flows from the memory module to the requesting processor. Using the stored information, the switch directory re-routes subsequent requests to dirty blocks directly to the owner cache, thus reducing the latency for home node processing such as slow DRAM directory access and coherence controller occupancies. The design and implementation details of a DiRectory Embedded Switch ARchitecture; DRESAR, are presented. We explore the performance benefits of switch directories by modeling DRESAR in a detailed execution driven simulator. Our results show that the switch directories can improve performance by up to 60% reduction in home node cache-to-cache transfers for several scientific applications and commercial workloads.
Ravi R. Iyer 0001, Laxmi N. Bhuyan, Ashwini K. Nanda
IPDPS3
1999 Second Workshop on Computer Architecture Evaluation Using Commercial Workloads
Russell M. Clapp, Ashwini K. Nanda, Josep Torrellas
HPCA2
1999 Design and Performance of Directory Caches for Scalable Shared Memory Multiprocessors
abstract
Recent research shows that the occupancy of the coherence controllers is a major performance bottleneck for distributed cache coherent shared memory multiprocessors. A significant part of the occupancy is due to the latency of accessing the directory which is usually kept in DRAM memory. Most coherence controller designs that use protocol processors for executing the coherence protocol handlers use the data cache of the protocol processor for caching directory entries along with protocol handler data. Analogously, a fast Directory Cache (DC) can also be used by the hardwired coherence controller designs to minimize directory access time. The paper studies the performance of directory caches using parallel applications from the SPLASH-2 suite. We demonstrate that using a directory cache can result in 40% or more improvement in the execution time of communication intensive applications. We also investigate the various directory cache design parameters: cache size, cache line size, and associativity. Experimental results show that the directory cache size requirements grow sub-linearly with the increase in the application's data set size. The results also show the performance advantage of multi-entry directory cache lines, as a result of spatial locality and the absence of sharing of directories. The impact of the associativity of the directory caches on performance is less than that of the size and the line size. We also find a linear relation between the directory cache miss ratio and the coherence controller occupancy, and between both measures and the execution time of the applications.
Maged M. Michael, Ashwini K. Nanda
HPCA2
1999 Measurement, analysis and performance improvement of the Apache Web server
abstract
Performance of Web servers is critical to the success of many corporations and organizations. However, very few results have been published that quantitatively study the server behavior and identify the performance bottlenecks. In this paper we measured and analyzed the behavior of the popular Apache Web server on a uniprocessor system and a 4-CPU SMP (Symmetric Multi-Processor) system running the IBM AIX operating system. Using the AIX built-in tracing facility, we obtained detailed information on kernel events and system activities while running Apache driven by the SPECweb96 and the WebStone benchmarks. After quantitatively identifying the performance bottlenecks, we proposed and implemented 6 techniques that improve the throughput of Apache by 61%. These techniques are general purpose and can be applied to other Web servers as well.
Yiming Hu, Ashwini K. Nanda, Qing Yang 0001
IPCCC2
1999 Coherence Controller Architectures for Scalable Shared-Memory Multiprocessors
abstract
Scalable distributed shared-memory architectures rely on coherence controllers on each processing node to synthesize cache-coherent shared memory across the entire machine. The coherence controllers execute coherence protocol handlers that may be hardwired in custom hardware or programmed in a protocol processor within each coherence controller. Although custom hardware runs faster, a protocol processor allows the coherence protocol to be tailored to specific application needs and may shorten hardware development time. Previous research shows minimal increase in application execution time due to protocol processors over custom hardware. With the advent of SMP nodes and faster processors and networks, the trade-off between custom hardware and protocol processors needs to be reexamined. This paper studies the performance of custom hardware and protocol-processor-based coherence controllers in SMP-node-based CC-NUMA systems on applications from the SPLASH-2 suite. Using realistic parameters and detailed models of state-of-the-art system components, it shows that the occupancy of coherence controllers can limit the performance of applications with high communication requirements, where the execution time using commodity protocol processors can be twice as long as using custom hardware. We also investigate the effect of varying several architectural parameters that influence the communication characteristics of the applications and the underlying system on coherence controller performance. We identify measures of applications' communication requirements and their impact on performance. We also study the potential of improving the performance of coherence controllers by separating or duplicating critical components.
Maged M. Michael, Ashwini K. Nanda, Beng-Hong Lim
IEEE Trans. Computers2
1998 Energy optimization of multilevel cache architectures for RISC and CISC processors
abstract
In this paper, we present the characterization and design of energy-efficient, on chip cache memories. The characterization of power dissipation in on-chip cache memories reveals that the memory peripheral interface circuits and bit array dissipate comparable power. To optimize performance and power in a processor's cache, a multidivided module (MDM) cache architecture is proposed to conserve energy in the bit array as well as the memory peripheral circuits. Compared to a conventional, nondivided, 16-kB cache, the latency and power of the MDM cache are reduced by a factor of 1.9 and 4.6, respectively. Based on the MDM cache architecture, the energy efficiency of the complete memory hierarchy is analyzed with respect to cache parameters in a multilevel processor cache design. This analysis was conducted by executing the SPECint92 benchmark programs with the miss ratios for reduced instruction set computer (RISC) and complex instruction set computer (CISC) machines.
Uming Ko, Poras T. Balsara, Ashwini K. Nanda
IEEE Trans. Very Large Scale Integr. Syst.3
1997 Coherence Controller Architectures for SMP-Based CC-NUMA Multiprocessors
abstract
Scalable distributed shared-memory architectures rely on coherence controllers on each processing node to synthesize cache-coherent shared memory across the entire machine. The coherence controllers execute coherence protocol handlers that may be hardwired in custom hardware or programmed in a protocol processor within each coherence controller. Although custom hardware runs faster, a protocol processor allows the coherence protocol to be tailored to specific application needs and may shorten hardware development time. Previous research show that the increase in application execution time due to protocol processors over custom hardware is minimal.With the advent of SMP nodes and faster processors and networks, the tradeoff between custom hardware and protocol processors needs to be reexamined. This paper studies the performance of custom-hardware and protocol-processor-based coherence controllers in SMP-node-based CC-NUMA systems on applications from the SPLASH-2 suite. Using realistic parameters and detailed models of existing state-of-the-art system components, it shows that the occupancy of coherence controllers can limit the performance of applications with high communication requirements, where the execution time using protocol processors can be twice as long as using custom hardware.To gain a deeper understanding of the tradeoff, we investigate the effect of varying several architectural parameters that influence the communication characteristics of the applications and the underlying system on coherence controller performance. We identify measures of applications' communication requirements and their impact on the performance penalty of protocol processors, which can help system designers predict performance penalties for other applications. We also study the potential of improving the performance of hardware-based and protocol-processor-based coherence controllers by separating or duplicating critical components.
Maged M. Michael, Ashwini K. Nanda, Beng-Hong Lim, Michael L. Scott
ISCA2
1997 Performance of Multistage Bus Networks for a Distributed Shared Memory Multiprocessor
abstract
A multistage bus network (MEN) is proposed to overcome some of the shortcomings of the conventional multistage interconnection networks (MINs), single bus, and hierarchical bus interconnection networks. The MBN consists of multiple stages of buses connected in a manner similar to the MINs and has the same bandwidth at each stage. A switch in an MBN is similar to that in a MIN switch except that there is a single bus connection instead of a crossbar. MBNs support bidirectional routing and there exists a number of paths between any source and destination pair. The authors develop self routing techniques for the various paths, present an algorithm to route a request along the path with minimum distance, and analyze the probabilities of a packet taking different routes. Further, they derive a performance analysis of a synchronous packet-switched MBN in a distributed shared memory environment and compare the results with those of an equivalent bidirectional MIN (BMIN). Finally, they present the execution time of various applications on the MBN and the BMIN through an execution-driven simulation. They show that the MBN provides similar performance to a BMIN while offering simplicity in hardware and more fault-tolerance than a conventional MIN.
Laxmi N. Bhuyan, Ravi R. Iyer 0001, Tahsin Askar, Ashwini K. Nanda, Mohan Kumar
IEEE Trans. Parallel Distributed Syst.4
1996 Integrating a Misprediction Recovery Cache (MRC) into a Superscalar Pipeline
abstract
In modern processors, deep pipelines couple with superscalar techniques to allow each pipe stage to process multiple instructions. When such a pipe must be pushed and refilled, as when predicted program flow beyond a branch is subsequently recognized as wrong, the temporary performance loss is significant. While modern branch target buffer (BTB) technology makes this flush/refill penalty fairly rare, the penalty that accrues from the remaining branch mispredictions is a serious impediment to even higher processor performance. Advanced mechanisms that can reduce this residual misprediction penalty can be of enormous value in future microprocessor designs. One promising new mechanism, the Misprediction Recovery Cache (MRC) is proposed previously. In this paper, we focus especially on MRC integration into existing pipelines.
James O. Bondi, Ashwini K. Nanda, Simonjit Dutta
MICRO2
1994 Performance and Reliability of the Multistage Bus Network
abstract
A Multistage Bus Network(MBN) has been proposed as a viable alternative to the existing interconnection networks. The MBN consists of multiple stages of buses connected in a manner similar to the conventional Multistage Interconnection Networks(MINs) and has the same bandwidth at each stage. Due to the bidirectional nature of the MBN, there exist a number of separate paths between any source and destination pair. Some paths make a U-turn at an intermediate stage switch which is a common ancestor of the source and destination. We present self routing techniques for the various paths. We also present a performance analysis of a synchronous packet switched MBN and compare the results with those of a MIN. Finally we present a reliability analysis of the MBN and show its superiority over the MIN.
Laxmi N. Bhuyan, Ashwini K. Nanda, Tahsin Askar
ICPP (1)2
1993 Efficient Mapping of Applications on Cache Based Multiprocessors
Ashwini K. Nanda, Laxmi N. Bhuyan
J. Parallel Distributed Comput.1
1993 Design and Analysis of Cache Coherent Multistage Interconnection Networks
abstract
A directory of state information is introduced into a multistage interconnection network (MIN) switch, and a multiple copy cache coherence protocol is developed. It is shown that the protocol is better than a single copy protocol on this MIN with directories (MIND) scheme. A network called the multistage bus network (MBN), which introduces a bus and multiple snoopers into the switches of a MIN, is presented. The snooping buses form multiple trees with the memories at the roots and the processors at the leaves. Each switch contains directories to hold state information on the shared blocks that is used to filter the coherence traffic from one level to another. The shared requests pass through the directories, whereas the private requests pass directly from the bus in one level to the bus in the next level. Analytical and simulation models for these multistage cache coherent architectures are developed. Both the MIND and the MBN schemes are studied with a simple multiple copy protocol. The results show that the MBN scheme performs better than the MIND or conventional scheme.>
Ashwini K. Nanda, Laxmi N. Bhuyan
IEEE Trans. Computers1
1992 Scheduling Directed Task Graphs on Multiprocessors Using Simulated Annealing
abstract
Two algorithms based on simulated annealing for minimizing the schedule length of a directed task graph on a multiprocessor system are presented. The first algorithm uses the schedule length itself as the cost function to be minimized. The second algorithm uses an indirect cost function that minimizes the total communication overhead and the total loss of parallelism simultaneously. Implementation results indicate that the first algorithm is superior to the second one in terms of the schedule length it gives, but the second algorithm is superior to the first in terms of algorithm run time.>
Ashwini K. Nanda, Doug DeGroot, Daniel L. Stenger
ICDCS1
1992 A Formal Specification and Verification Technique for Cache Coherence Protocols
Ashwini K. Nanda, Laxmi N. Bhuyan
ICPP (1)1
1992 Mapping Applications onto a Cache Coherent Multiprocessor
abstract
The authors present a technique to compute the communication times of programs on cache coherent distributed shared memory systems. Simulated annealing is used to obtain near-optimal mappings of program tasks onto processors. Various cost parameters are explored for determining efficient mappings of the program tasks onto the processors in the presence of cache coherence protocols. The techniques were demonstrated using the Sequent Balance multiprocessor and the Jacobi iteration problem. Measurement results confirm that the estimate of communication time is fairly accurate. The importance of accurate estimation of communication time for efficient mapping of program tasks in the presence of the cache coherence protocol was verified using measurements on the Balance multiprocessor.>
Ashwini K. Nanda, Laxmi N. Bhuyan
SC1