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

Muralidaran Vijayaraghavan

dblp:67/3086 · DBLP profile ↗
← Back
17ranked-venue papers
3as first author
0since 2021 · last 2018
0009-0002-8525-5688ORCID · verified

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

Software engineering, systems software and programming languages · 14 · 3 first-authorTheory of computation · 10 · 3 first-authorSystems, architecture and hardware · 4

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
3 papers
Memory systems · 48% Processor architecture and microarchitecture · 16% Electronic design automation · 16%
Software engineering, system software, and programming languages
1 paper
Concurrent programming · 100%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

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

TopicWeightPapersLastEvidence papers
Concurrent programming
memory models
0.312018
Constructing a Weak Memory Model · ISCA 2018
Concurrent programming › concurrency semantics
operational and axiomatic semantics
0.312018
Constructing a Weak Memory Model · ISCA 2018
Memory systems › memory consistency
memory consistency model
0.312018
Constructing a Weak Memory Model · ISCA 2018
Memory systems › memory consistency › memory consistency model
weak memory model
0.312018
Constructing a Weak Memory Model · ISCA 2018
Electronic design automation › hardware verification and test
hardware verification
0.212015
Modular Deductive Verification of Multiprocessor Hardware Designs · CAV (2) 2015
Processor architecture and microarchitecture › multiprocessor architecture
multiprocessor design
0.212015
Modular Deductive Verification of Multiprocessor Hardware Designs · CAV (2) 2015
Automated reasoning and model checking
compositional verification
0.212015
Modular Deductive Verification of Multiprocessor Hardware Designs · CAV (2) 2015
Automated reasoning and model checking › program verification
deductive verification
0.212015
Modular Deductive Verification of Multiprocessor Hardware Designs · CAV (2) 2015
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor
0.112018
Constructing a Weak Memory Model · ISCA 2018
Performance modeling and evaluation
simulation
0.112008
A-Ports: an efficient abstraction for cycle-accurate performance models on FPGAs · FPGA 2008

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

simulation · 0.7operational semantics · 0.7axiomatic semantics · 0.7modular reasoning · 0.4deductive verification · 0.4
YearPublicationVenuePosition
2018 Constructing a Weak Memory Model
abstract
Weak memory models are a consequence of the desire on part of architects to preserve all the uniprocessor optimizations while building a shared memory multiprocessor. The efforts to formalize weak memory models of ARM and POWER over the last decades are mostly empirical – they try to capture empirically observed behaviors – and end up providing no insight into the inherent nature of weak memory models. This paper takes a constructive approach to find a common base for weak memory models: we explore what a weak memory would look like if we constructed it with the explicit goal of preserving all the uniprocessor optimizations. We will disallow some optimizations which break a programmer's intuition in highly unexpected ways. The constructed model, which we call General Atomic Memory Model (GAM), allows all four load/store reorderings. We give the construction procedure of GAM, and provide insights which are used to define its operational and axiomatic semantics. Though no attempt is made to match GAM to any existing weak memory model, we show by simulation that GAM has comparable performance with other models. No deep knowledge of memory models is needed to read this paper.
Sizhuo Zhang, Muralidaran Vijayaraghavan, Andrew Wright, Mehdi Alipour, Arvind 0001
ISCA2
2017 Weak Memory Models: Balancing Definitional Simplicity and Implementation Flexibility
abstract
The memory model for RISC-V, a newly developed open source ISA, has not been finalized yet and thus, offers an opportunity to evaluate existing memory models. We believe RISC-V should not adopt the memory models of POWER or ARM, because their axiomatic and operational definitions are too complicated. We propose two new weak memory models: WMM and WMM-S, which balance definitional simplicity and implementation flexibility differently. Both allow all instruction reorderings except overtaking of loads by a store. We show that this restriction has little impact on performance and it considerably simplifies operational definitions. It also rules out the out-of-thin-air problem that plagues many definitions. WMM is simple (it is similar to the Alpha memory model), but it disallows behaviors arising due to shared store buffers and shared write-through caches (which are seen in POWER processors). WMM-S, on the other hand, is more complex and allows these behaviors. We give the operational definitions of both models using Instantaneous Instruction Execution (I2E), which has been used in the definitions of SC and TSO. We also show how both models can be implemented using conventional cache-coherent memory systems and out-of-order processors, and encompasses the behaviors of most known optimizations.
Sizhuo Zhang, Muralidaran Vijayaraghavan, Arvind 0001
PACT2
2017 Kami: a platform for high-level parametric hardware specification and its modular verification
abstract
It has become fairly standard in the programming-languages research world to verify functional programs in proof assistants using induction, algebraic simplification, and rewriting. In this paper, we introduce Kami, a Coq library that enables similar expressive and modular reasoning for hardware designs expressed in the style of the Bluespec language. We can specify, implement, and verify realistic designs entirely within Coq, ending with automatic extraction into a pipeline that bottoms out in FPGAs. Our methodology, using labeled transition systems, has been evaluated in a case study verifying an infinite family of multicore systems, with cache-coherent shared memory and pipelined cores implementing (the base integer subset of) the RISC-V instruction set.
Joonwon Choi, Muralidaran Vijayaraghavan, Benjamin Sherman, Adam Chlipala, Arvind 0001
Proc. ACM Program. Lang.2
2015 Modular Deductive Verification of Multiprocessor Hardware Designs
Muralidaran Vijayaraghavan, Adam Chlipala, Arvind 0001, Nirav Dave
CAV (2)1
2014 A new synthesis procedure for atomic rules containing multi-cycle function blocks
abstract
A new method for hardware synthesis from atomic rules where rules can take unknown number of cycles is presented. Some complex functions, especially the ones involving data-dependent control, are more easily expressed as loops and take much less area when implemented as multi-cycle folded circuits. Multicycle rules also provide a high-level method for the designer to deal with the timing-closure problem by treating a long combinational path as a multicycle path. Our synthesis procedure uses minimal extra storage and executes all rules eagerly. It resets all those rules whose read sets are affected by a committing rule. It also makes use of rule reservations to avoid a short rule from resetting a long rule repeatedly. This technique automatically takes advantage of different timings of different conditional branches. Our syntax-directed synthesis procedure composes signals indicating when a computation is done and when inputs to a computation have changed. Preliminary results from our implementation look very promising.
Michal Karczmarek, Arvind 0001, Muralidaran Vijayaraghavan
MEMOCODE3
2013 Modular compilation of guarded atomic actions
Muralidaran Vijayaraghavan, Nirav Dave, Arvind 0001
MEMOCODE1
2012 Fast and cycle-accurate modeling of a multicore processor
abstract
An ideal simulator allows an architect to swiftly explore design alternatives and accurately determine their impact on performance. Design exploration requires simulators to be easily modifiable, and accurate performance estimates require detailed models. Unfortunately, detailed modeling not only impacts the ease with which a simulator can be modified, but also the speed at which it can be executed, resulting in fidelity being traded for simulation speed. Although FPGA-based simulators have dramatically higher speed than software simulators, sacrificing fidelity is still common. In this paper we present Arete, an FPGA-based processor simulator, which offers high performance along with accuracy and modifiability. We begin with a cycle-level specification of a multicore architecture which includes realistic in-order cores and detailed models of shared, coherent memory and on-chip network. We then describe how this specification is implemented faithfully and efficiently on FPGAs. Arete delivers a performance of up to 11 MIPS per core. We run a subset of the PARSEC benchmark suite on top of off-the-shelf SMP Linux, and achieve an average performance of 55 MIPS for an 8-core model.We also describe two significant architectural explorations: one involving three different branch predictors and the other requiring major modifications to the cache-coherence protocol.
Asif Khan 0005, Muralidaran Vijayaraghavan, Silas Boyd-Wickizer, Arvind 0001
ISPASS2
2012 A general technique for deterministic model-cycle-level debugging
abstract
Efficient use of FPGA resources requires FPGA-based performance models of complex hardware to implement one model cycle, i.e., one time-step of the original synchronous system, in several implementation cycles. Generally implementation cycles have no simple relationship with model cycles, and it is tricky to reconstruct the state of the synchronous system at the model-cycle boundaries if only implementation-cycle-level control and information is provided. A good debugging facility needs to provide: complete control over the functioning of the target design being simulated; fast and easy access to all the significant target design state for both monitoring and modification; and some means of accomplishing deterministic execution when the target design is a multicore processor running a parallel application. Moreover, these features need to be provided in a manner which does not incur substantial resource and performance penalties. In this paper, we present a debugging technique based on the LI-BDN theory. We show how the technique facilitates deterministic model-cycle-level debugging. We used it to build the debugging infrastructure for Arete, which is an FPGA-based cycle-accurate multicore simulator. The resource and performance penalties of our debugging technique are minimal; in Arete the debugging infrastructure has area and performance overheads of 5% and 6%, respectively.
Asif Khan 0005, Muralidaran Vijayaraghavan, Arvind 0001
MEMOCODE2
2010 Design contest overview: Combined architecture for network stream categorization and intrusion detection (CANSCID)
abstract
MEMOCODE Design Contest challenged teams to implement the architecture for a unique type of Deep Packet Inspector called CANSCID. This paper describes this unique problem statement, and the motivation for choosing it. This paper is followed by short descriptions prepared by individual teams detailing their particular approach to solving the problem.
Michael Pellauer, Abhinav Agarwal, Asif Khan 0005, Man Cheuk Ng, Muralidaran Vijayaraghavan, Forrest Brewer, Joel S. Emer
MEMOCODE5
2009 Implementing a fast cartesian-polar matrix interpolator
abstract
The 2009 MEMOCODE Hardware/Software Co-Design Contest assignment was the implementation of a cartesian-to-polar matrix interpolator. We discuss our hardware and software design submissions.
Abhinav Agarwal, Nirav Dave, Kermin Fleming, Asif Khan 0005, Myron King, Man Cheuk Ng, Muralidaran Vijayaraghavan
MEMOCODE7
2009 Bounded Dataflow Networks and Latency-Insensitive circuits
abstract
We present a theory for modular refinement of Synchronous Sequential Circuits (SSMs) using Bounded Dataflow Networks (BDNs). We provide a procedure for implementing any SSM into an LI-BDN, a special class of BDNs with some good compositional properties. We show that the Latency-Insensitive property of LI-BDNs is preserved under parallel and iterative composition of LI-BDNs. Our theory permits one to make arbitrary cuts in an SSM and turn each of the parts into LI-BDNs without affecting the overall functionality. We can further refine each constituent LI-BDN into another LI-BDN which may take different number of cycles to compute. If the constituent LI-BDN is refined correctly we guarantee that the overall behavior would be cycle-accurate with respect to the original SSM. Thus one can replace, say a 3-ported register file in an SSM by a one-ported register file without affecting the correctness of the SSM. We give several examples to show how our theory supports a generalization of previous techniques for Latency-Insensitive refinements of SSMs.
Muralidaran Vijayaraghavan, Arvind 0001
MEMOCODE1
2009 A-Port Networks: Preserving the Timed Behavior of Synchronous Systems for Modeling on FPGAs
abstract
Computer architects need to run cycle-accurate performance models of processors orders of magnitude faster. We discuss why the speedup on traditional multicores is limited, and why FPGAs represent a good vehicle to achieve a dramatic performance improvement over software models. This article introduces A-Port Networks, a simulation scheme designed to expose the fine-grained parallelism inherent in performance models and efficiently exploit them using FPGAs.
Michael Pellauer, Muralidaran Vijayaraghavan, Michael Adler, Arvind 0001, Joel S. Emer
ACM Trans. Reconfigurable Technol. Syst.2
2008 A-Ports: an efficient abstraction for cycle-accurate performance models on FPGAs
abstract
Recently there has been interest in using FPGAs as a platform for cycle-accurate performance models. We discuss how the properties of FPGAs make them a good platform to achieve a performance improvement over software models. Some metrics are developed to gain insight into the strengths and weaknesses of different simulation methodologies. This paper introduces A-Ports, a distributed, efficient simulation scheme for creating cycle-accurate performance models on FPGAs. Finally, we quantitatively demonstrate an average performance improvement of 19% using A-Ports over other FPGA-based simulation schemes
Michael Pellauer, Muralidaran Vijayaraghavan, Michael Adler, Arvind 0001, Joel S. Emer
FPGA2
2008 Quick Performance Models Quickly: Closely-Coupled Partitioned Simulation on FPGAs
abstract
In this paper we explore microprocessor performance models implemented on FPGAs. While FPGAs can help with simulation speed, the increased implementation complexity can degrade model development time. We assess whether a simulator split into closely-coupled timing and functional partitions can address this by easing the development of timing models while retaining fine-grained parallelism. We give the semantics of our simulator partitioning, and discuss the architecture of its implementation on an FPGA. We describe how three timing models of vastly different target processors can use the same functional partition, and assess their performance.
Michael Pellauer, Muralidaran Vijayaraghavan, Michael Adler, Arvind 0001, Joel S. Emer
ISPASS2
2008 High-throughput Pipelined Mergesort
abstract
We present an implementation of a high-throughput cryptosorter, capable of sorting an encrypted database of eight megabytes in .15 seconds; 1102 times faster than a software implementation.
Kermin Fleming, Myron King, Man Cheuk Ng, Asif Khan 0005, Muralidaran Vijayaraghavan
MEMOCODE5
2007 Hardware Acceleration of Matrix Multiplication on a Xilinx FPGA
abstract
The first MEMOCODE hardware/software co-design contest posed the following problem: optimize matrix-matrix multiplication in such a way that it is split between the FPGA and PowerPC on a Xilinx Virtex IIPro30. In this paper we discuss our solution, which we implemented on a Xilinx XUP development board with 256 MB of DRAM. The design was done by the five authors over a span of approximately 3 weeks, though of the 15 possible man-weeks, about 9 were actually spent working on this problem. All hardware design was done using Blue-spec SystemVerilog (BSV), with the exception of an imported Verilog multiplication unit, necessary only due to the limitations of the Xilinx FPGA toolflow optimizations.
Nirav Dave, Kermin Fleming, Myron King, Michael Pellauer, Muralidaran Vijayaraghavan
MEMOCODE5
2007 From WiFi to WiMAX: Techniques for High-Level IP Reuse across Different OFDM Protocols
abstract
Orthogonal frequency-division multiplexing (OFDM) has become the preferred modulation scheme for both broadband and high bitrate digital wireless protocols because of its spectral efficiency and robustness against multipath interference. Although the components and overall structure of different OFDM protocols are functionally similar, the characteristics of the environment for which a wireless protocol is designed often result in different instantiations of various components. In this paper, we describe how we can instantiate baseband processoring of two different wireless protocols, namely 802.11a and 802.16 in Bluespec from a highly parameterized code for a generic OFDM protocol. Our approach results in highly reusable IP blocks that can dramatically reduce the time-to-market of new OFDM protocols. One advantage of Bluespec over SystemC is that our code is synthesizable into high quality hardware, which we demonstrate via synthesis results. Using a Viterbi decoder we also demonstrate how parameterization can be used to study area-performance tradeoff in the implementation of a module. Furthermore, parameterized modules and modular composition can facilitate implementation-grounded algorithmic exploration in the design of new protocols.
Man Cheuk Ng, Muralidaran Vijayaraghavan, Nirav Dave, Arvind 0001, Gopal Raghavan, Jamey Hicks
MEMOCODE2