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

Swapnil Haria

dblp:125/2554 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 2020
—ORCID · none

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

Systems, architecture and hardware · 4 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Memory systems · 56% Storage systems · 30% Reconfigurable computing and FPGAs · 4%
Software engineering, system software, and programming languages
1 paper
Concurrent programming · 100%

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

TopicWeightPapersLastEvidence papers
Storage systems
crash consistency
0.722020
MOD: Minimally Ordered Durable Datastructures for Persistent Memory · ASPLOS 2020
An Analysis of Persistent Memory Use with WHISPER · ASPLOS 2017
Memory systems
non-volatile memory
0.722020
MOD: Minimally Ordered Durable Datastructures for Persistent Memory · ASPLOS 2020
An Analysis of Persistent Memory Use with WHISPER · ASPLOS 2017
Memory systems › non-volatile memory
persistent memory
0.722020
MOD: Minimally Ordered Durable Datastructures for Persistent Memory · ASPLOS 2020
An Analysis of Persistent Memory Use with WHISPER · ASPLOS 2017
Storage systems
storage reliability
0.522020
MOD: Minimally Ordered Durable Datastructures for Persistent Memory · ASPLOS 2020
An Analysis of Persistent Memory Use with WHISPER · ASPLOS 2017
Memory systems › memory management › virtual memory
address translation
0.312018
Devirtualizing Memory in Heterogeneous Systems · ASPLOS 2018
Memory systems › virtual memory management
shared virtual memory
0.312018
Devirtualizing Memory in Heterogeneous Systems · ASPLOS 2018
Memory systems › memory management
virtual memory
0.312018
Devirtualizing Memory in Heterogeneous Systems · ASPLOS 2018
Cloud and datacenter computing › resource allocation
hardware resource assignment
0.212013
AutoMapper: an automated tool for optimal hardware resource allocation for networking applications on FPGA (abstract only) · FPGA 2013
Electronic design automation
high-level synthesis
0.212013
AutoMapper: an automated tool for optimal hardware resource allocation for networking applications on FPGA (abstract only) · FPGA 2013
Concurrent programming › transactional memory
software transactional memory
0.112020
MOD: Minimally Ordered Durable Datastructures for Persistent Memory · ASPLOS 2020
Hardware accelerators and domain-specific architectures › accelerator architecture
accelerator memory management
0.112018
Devirtualizing Memory in Heterogeneous Systems · ASPLOS 2018
Storage systems › storage reliability
durability
0.112017
An Analysis of Persistent Memory Use with WHISPER · ASPLOS 2017

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

durable datastructure · 0.9cacheline flush ordering · 0.9devirtualized access validation · 0.3IOMMU · 0.3epoch-based ordering · 0.3integer linear programming · 0.2
YearPublicationVenuePosition
2020 MOD: Minimally Ordered Durable Datastructures for Persistent Memory
abstract
Persistent Memory (PM) makes possible recoverable applications that can preserve application progress across system reboots and power failures. Actual recoverability requires careful ordering of cacheline flushes, currently done in two extreme ways. On one hand, expert programmers have reasoned deeply about consistency and durability to create applications centered on a single custom-crafted durable datastructure. On the other hand, less-expert programmers have used software transaction memory (STM) to make atomic one or more updates, albeit at a significant performance cost due largely to ordered log updates.
Swapnil Haria, Mark D. Hill, Michael M. Swift
ASPLOS1
2018 Devirtualizing Memory in Heterogeneous Systems
abstract
Accelerators are increasingly recognized as one of the major drivers of future computational growth. For accelerators, shared virtual memory (VM) promises to simplify programming and provide safe data sharing with CPUs. Unfortunately, the overheads of virtual memory, which are high for general-purpose processors, are even higher for accelerators. Providing accelerators with direct access to physical memory (PM) in contrast, provides high performance but is both unsafe and more difficult to program. We propose Devirtualized Memory (DVM) to combine the protection of VM with direct access to PM. By allocating memory such that physical and virtual addresses are almost always identical (VA==PA), DVM mostly replaces page-level address translation with faster region-level Devirtualized Access Validation (DAV). Optionally on read accesses, DAV can be overlapped with data fetch to hide VM overheads. DVM requires modest OS and IOMMU changes, and is transparent to the application. Implemented in Linux 4.10, DVM reduces VM overheads in a graph-processing accelerator to just 1.6% on average. DVM also improves performance by 2.1X over an optimized conventional VM implementation, while consuming 3.9X less dynamic energy for memory management. We further discuss DVM's potential to extend beyond accelerators to CPUs, where it reduces VM overheads to 5% on average, down from 29% for conventional VM.
Swapnil Haria, Mark D. Hill, Michael M. Swift
ASPLOS1
2017 An Analysis of Persistent Memory Use with WHISPER
abstract
Emerging non-volatile memory (NVM) technologies promise durability with read and write latencies comparable to volatile memory (DRAM). We define Persistent Memory (PM) as NVM accessed with byte addressability at low latency via normal memory instructions. Persistent-memory applications ensure the consistency of persistent data by inserting ordering points between writes to PM allowing the construction of higher-level transaction mechanisms. An epoch is a set of writes to PM between ordering points.
Sanketh Nalli, Swapnil Haria, Mark D. Hill, Michael M. Swift, Haris Volos 0001, Kimberly Keeton
ASPLOS2
2013 AutoMapper: an automated tool for optimal hardware resource allocation for networking applications on FPGA (abstract only)
abstract
It has now become imperative for routers to support complicated lookup schemes, based on the specific function of the networking hardware. It is no longer possible to ensure an optimal resource utilization using manual organization techniques due to the increasing complexity of lookup schemes, as well as the large number of potential implementation choices. We have developed an automated tool, AutoMapper, which can map lookup schemes onto a particular target architecture optimally, thereby providing a superior alternative to the time-consuming and resource inefficient technique of manual conversion. It is based on an Integer Linear Programming (ILP) formulation that is able to allocate the limited hardware resources for a single lookup scheme, while optimizing any of the three performance metrics of latency, throughput or power consumption. Accurate formulation of the objective function and the constraint equations guarantee optimality in terms of the chosen performance metric. We demonstrate the operation of the developed tool, by successfully mapping complex real world lookup schemes onto a state-of-the art FPGA device, with execution times being under a second on a dual-core computer with 4 GB of RAM, running at 2.40 GHz.
Swapnil Haria, Viktor Prasanna 0001
FPGA1
2013 Architecture and performance models for scalable IP lookup engines on FPGA
abstract
We propose a unified methodology for optimizing IPv4 and IPv6 lookup engines based on the balanced range tree (BRTree) architecture on FPGA. A general BRTree-based IP lookup solution features one or more linear pipelines with a large and complex design space. To allow fast exploration of the design space, we develop a concise set of performance models to characterize the tradeoffs among throughput, table size, lookup latency, and resource requirement of the IP lookup engine. In particular, a simple but realistic model of DDR3 memory is used to accurately estimate the off-chip memory performance. The models are then utilized by the proposed methodology to optimize for high lookup rates, large prefix tables, and a fixed maximum lookup latency, respectively. In our prototyping scenarios, a state-of-the-art FPGA could support (1) up to 24 M IPv6 prefixes with 400 Mlps (million lookups per second); (2) up to 1.6 Blps (billion lookups per second) with 1.1 M IPv4 prefixes; and (3) up to 554 K IPv4 prefixes and 400 Mlps with a lookup latency bounded in 400 ns. All our designs achieve 5.6x - 70x the energy efficiency of TCAM, and have performance independent of the prefix distribution.
Yi-Hua Edward Yang, Yun Qu 0001, Swapnil Haria, Viktor Prasanna 0001
HPSR3