EDBT 2026 Demo / reviewers in the wild / expert
Jayaram Bobba
dblp:82/6357
· DBLP profile ↗
10ranked-venue papers
4as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 4 first-authorSoftware engineering, systems software and programming languages · 4 · 2 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
7 papers |
Memory systems · 36% Parallel and multicore computing · 32% Cloud and datacenter computing · 17% | |
| Software engineering, system software, and programming languages
3 papers |
Runtime systems and virtual machines · 67% Concurrent programming · 29% Programming languages and type systems · 4% |
Topics — the 19 heaviest of 20, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
transactional memory |
0.3 | 5 | 2008 | TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory · ISCA 2008 Performance pathologies in hardware transactional memory · ISCA 2007 LogTM: log-based transactional memory · HPCA 2006 |
Runtime systems and virtual machines › binary translation
dynamic binary translation |
0.3 | 1 | 2017 | Enabling Cross-ISA Offloading for COTS Binaries · MobiSys 2017 |
Cloud and datacenter computing
computation offloading |
0.3 | 1 | 2017 | Enabling Cross-ISA Offloading for COTS Binaries · MobiSys 2017 |
Memory systems
cache coherence |
0.2 | 3 | 2007 | LogTM-SE: Decoupling Hardware Transactional Memory from Caches · HPCA 2007 LogTM: log-based transactional memory · HPCA 2006 Supporting nested transactional memory in logTM · ASPLOS 2006 |
Concurrent programming
transactional memory |
0.1 | 1 | 2011 | Safe and efficient supervised memory systems · HPCA 2011 |
Parallel and multicore computing › transactional memory
conflict detection |
0.1 | 2 | 2006 | LogTM: log-based transactional memory · HPCA 2006 Supporting nested transactional memory in logTM · ASPLOS 2006 |
Memory systems › memory consistency
memory consistency model |
0.1 | 1 | 2011 | Safe and efficient supervised memory systems · HPCA 2011 |
Memory systems › memory consistency › memory consistency model
total store order |
0.1 | 1 | 2011 | Safe and efficient supervised memory systems · HPCA 2011 |
Energy-efficient computing › energy-aware mobile computing
energy-aware offloading |
0.1 | 1 | 2017 | Enabling Cross-ISA Offloading for COTS Binaries · MobiSys 2017 |
Parallel and multicore computing › transactional memory
hardware transactional memory |
0.1 | 1 | 2007 | LogTM-SE: Decoupling Hardware Transactional Memory from Caches · HPCA 2007 |
Performance modeling and evaluation
workload characterization |
0.1 | 1 | 2007 | Performance pathologies in hardware transactional memory · ISCA 2007 |
Memory systems › cache coherence
directory-based coherence |
0.1 | 1 | 2006 | LogTM: log-based transactional memory · HPCA 2006 |
Memory systems › cache coherence › cache coherence protocol
MOESI |
0.1 | 1 | 2006 | LogTM: log-based transactional memory · HPCA 2006 |
Distributed systems › transaction processing
nested transactions |
0.1 | 1 | 2006 | Supporting nested transactional memory in logTM · ASPLOS 2006 |
Memory systems › memory management › virtual memory
paging |
0.0 | 1 | 2008 | TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory · ISCA 2008 |
Memory systems › memory management
virtual memory |
0.0 | 1 | 2008 | TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory · ISCA 2008 |
Parallel and multicore computing
speculative parallelization |
0.0 | 1 | 2007 | Performance pathologies in hardware transactional memory · ISCA 2007 |
Programming languages and type systems › module systems
software composition |
0.0 | 1 | 2006 | Supporting nested transactional memory in logTM · ASPLOS 2006 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 2006 | LogTM: log-based transactional memory · HPCA 2006 |
Methods — techniques the papers use, named apart from their topics
runtime offloading · 0.6dynamic binary translation · 0.6formal specification · 0.2RTL implementation · 0.2log-based transactional memory · 0.1escape actions · 0.1hardware design · 0.1conflict detection · 0.1simulation · 0.1performance pathology analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Enabling Cross-ISA Offloading for COTS BinariesabstractWork offloading allows a mobile device, i.e., the client, to execute its computation-intensive code remotely on a more powerful server to improve its performance and to extend its battery life. However, the difference in instruction set architectures (ISAs) between the client and the server poses a great challenge to work offloading. Most of the existing solutions rely on language-level virtual machines to hide such differences. Therefore, they have to tie closely to the specific programming languages. Other approaches try to recompile the mobile applications to achieve the specific goal of offloading, so their applicability is limited to the availability of the source code. To overcome the above limitations, we propose to extend the capability of dynamic binary translation across clients and servers to offload the identified computation-intensive binary code regions automatically to the server at runtime. With this approach, the native binaries on the client can be offloaded to the server seamlessly without the limitations mentioned above. A prototype has been implemented using an existing retargetable dynamic binary translator. Experimental results show that our system achieves 1.93X speedup with 48.66% reduction in energy consumption for six real-world applications, and 1.62X speedup with 42.4% reduction in energy consumption for SPEC CINT2006 benchmarks. Wenwen Wang 0001, Pen-Chung Yew, Antonia Zhai, Stephen McCamant, Youfeng Wu, Jayaram Bobba |
MobiSys | 6 |
| 2011 | Safe and efficient supervised memory systemsabstractSupervised Memory systems use out-of-band metabits to control and monitor accesses to normal data memory for such purposes as transactional memory and memory typestate trackers. Previous proposals demonstrate the value of supervised memory systems, but have typically (1) assumed sequential consistency (while most deployed systems use weaker models), and (2) used ad hoc, informal memory specifications (that can be ambiguous and/or incorrect). This paper seeks to make many previous proposals more practical. This paper builds a foundation for future supervised memory systems which (1) operate with the TSO and ×86 memory models, and (2) are formally specified using two supervised memory models. The simpler TSOallmodel requires all metadata and data accesses to obey TSO, but precludes using store buffers for supervised accesses. The more complex TSOdatamodel relaxes some ordering constraints (allowing store buffer use) but makes programmer reasoning more difficult. To get the benefits of both models, we propose Safe Supervision, which asks programmers to avoid using metabits from one location to order accesses to another. Programmers that obey safe supervision can reason with the simpler semantics of TSOallwhile obtaining the higher performance of TSOdata. Our approach is similar to how data-race-free programs can run on relaxed systems and yet appear sequentially consistent. Finally, we show that TSOdatacan (a) provide significant performance benefit (up to 22%) over TSOalland (b) can be incorporated correctly and with low overhead into the RTL of an industrial multi-core chip design (OpenSPARC T2). Jayaram Bobba, Marc Lupon, Mark D. Hill, David A. Wood 0001 |
HPCA | 1 |
| 2011 | Karma: scalable deterministic record-replayabstractRecent research in deterministic record-replay seeks to ease debugging, security, and fault tolerance on otherwise nondeterministic multicore systems. The important challenge of handling shared memory races (that can occur on any memory reference) can be made more efficient with hardware support. Recent proposals record how long threads run in isolation on top of snooping coherence (IMRR), implicit transactions (DeLorean), or directory coherence (Rerun). As core counts scale, Rerun's directory-based parallel record gets more attractive, but its nearly sequential replay becomes unacceptably slow. This paper proposes Karma for both scalable recording and replay. Karma builds an episodic memory race recorder using a conventional directory cache coherence protocol and records the order of the episodes as a directed acyclic graph. Karma also enables extension of episodes even after some conflicts. During replay, Karma uses wakeup messages to trigger a partially ordered parallel episode replay. Results with several commercial workloads on a 16-core system show that Karma can achieve replay speed (a) within 19%-28% of native execution speed without record-replay and (b) four times faster than even an idealized Rerun replay. Additional results explore tradeoffs between log size and replay speed. Arkaprava Basu, Jayaram Bobba, Mark D. Hill |
ICS | 2 |
| 2009 | StealthTest: Low Overhead Online Software Testing Using Transactional MemoryabstractSoftware testing is hard. The emergence of multicore architectures and the proliferation of bug-prone multithreaded software makes testing even harder. To this end, researchers have proposed methods to continue testing software after deployment, e.g., in vivo (IV) testing and delta execution (DE) patch testing. These on-line techniques typically fork new processes to hide the functional impact of testing. Unfortunately, the high overhead of fork() significantly degrades performance. To reduce the performance overhead of online testing, we adapt transactional memory (TM) to isolate the functional effects of tests with minimal impact on system performance. We propose StealthTest, an interface that exposes TM transactions as the key mechanism for executing tests. It allows online tests to work on a consistent view of memory without the overhead of creating new processes. Moreover, explicitly aborting the test transaction after it is done guarantees that its changes are invisible to the rest of the system. Thus, StealthTest promises transparent online testing. We demonstrate two test frameworks utilizing StealthTest - StealthlV and StealthDE - that improve on previously proposed fork-based in vivo testing and delta execution frameworks respectively. Implementing StealthTest on top of three software TM (STM) systems - TL2 STM, Intel STM and a pin-based STM- we demonstrate that StealthTest-based frameworks can (a) run a wide range of online tests and (b) execute many more tests with low overhead. StealthTest provides another motivation for efficient TM implementations by extending TM's applicability to a critical software engineering challenge. Jayaram Bobba, Weiwei Xiong, Luke Yen, Mark D. Hill, David A. Wood 0001 |
PACT | 1 |
| 2008 | TokenTM: Efficient Execution of Large Transactions with Hardware Transactional MemoryabstractCurrent hardware transactional memory systems seek to simplify parallel programming, but assume that large transactions are rare, so it is acceptable to penalize their performance or concurrency. However, future programmers may wish to use large transactions more often in order to integrate with higher-level programming models (e.g., database transactions) or perform selected I/O operations. To prevent the "small transactions are common" assumption from becoming self-fulfilling, this paper contributes TokenTM - an unbounded HTM that uses the abstraction of tokens to precisely track conflicts on an unbounded number of memory blocks. TokenTM implements tokens with new mechanisms, including metastate fission/fusion and fast token release. TokenTM executes small transactions fast, executes concurrent large transactions with no penalty to nonconflicting transactions, and gracefully handles paging, context switching, and System-V-style shared memory. Jayaram Bobba, Neelam Goyal, Mark D. Hill, Michael M. Swift, David A. Wood 0001 |
ISCA | 1 |
| 2007 | LogTM-SE: Decoupling Hardware Transactional Memory from CachesabstractThis paper proposes a hardware transactional memory (HTM) system called LogTM Signature Edition (LogTM-SE). LogTM-SE uses signatures to summarize a transactions read-and write-sets and detects conflicts on coherence requests (eager conflict detection). Transactions update memory "in place" after saving the old value in a per-thread memory log (eager version management). Finally, a transaction commits locally by clearing its signature, resetting the log pointer, etc., while aborts must undo the log. LogTM-SE achieves two key benefits. First, signatures and logs can be implemented without changes to highly-optimized cache arrays because LogTM-SE never moves cached data, changes a blocks cache state, or flash clears bits in the cache. Second, transactions are more easily virtualized because signatures and logs are software accessible, allowing the operating system and runtime to save and restore this state. In particular, LogTM-SE allows cache victimization, unbounded nesting (both open and closed), thread context switching and migration, and paging Luke Yen, Jayaram Bobba, Michael R. Marty, Kevin E. Moore, Haris Volos 0001, Mark D. Hill, Michael M. Swift, David A. Wood 0001 |
HPCA | 2 |
| 2007 | Performance pathologies in hardware transactional memoryabstractHardware Transactional Memory (HTM) systems reflect choices from three key design dimensions: conflict detection, version management, and conflict resolution. Previously proposed HTMs represent three points in this design space: lazy conflict detection, lazy version management, committer wins (LL); eager conflict detection, lazy version management, requester wins (EL); and eager conflict detection, eager version management, and requester stalls with conservative deadlock avoidance (EE). To isolate the effects of these high-level design decisions, we develop a common framework that abstracts away differences in cache write policies, interconnects, and ISA to compare these three design points. Not surprisingly, the relative performance of these systems depends on the workload. Under light transactional loads they perform similarly, but under heavy loads they differ by up to 80%. None of the systems performs best on all of our benchmarks. We identify seven performance pathologies-interactions between workload and system that degrade performance-as the root cause of many performance differences: FriendlyFire, StarvingWriter, SerializedCommit, FutileStall, StarvingElder, RestartConvoy, and DuelingUpgrades. We discuss when and on which systems these pathologies can occur and show that they actually manifest within TM workloads. The insight provided by these pathologies motivated four enhanced systems that often significantly reduce transactional memory overhead. Importantly, by avoiding transaction pathologies, each enhanced system performs well across our suite of benchmarks. Jayaram Bobba, Kevin E. Moore, Haris Volos 0001, Luke Yen, Mark D. Hill, Michael M. Swift, David A. Wood 0001 |
ISCA | 1 |
| 2006 | Supporting nested transactional memory in logTMabstractNested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity.This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with nontransactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system. Michelle J. Moravan, Jayaram Bobba, Kevin E. Moore, Luke Yen, Mark D. Hill, Ben Liblit, Michael M. Swift, David A. Wood 0001 |
ASPLOS | 2 |
| 2006 | LogTM: log-based transactional memoryabstractTransactional memory (TM) simplifies parallel programming by guaranteeing that transactions appear to execute atomically and in isolation. Implementing these properties includes providing data version management for the simultaneous storage of both new (visible if the transaction commits) and old (retained if the transaction aborts) values. Most (hardware) TM systems leave old values "in place" (the target memory address) and buffer new values elsewhere until commit. This makes aborts fast, but penalizes (the much more frequent) commits. In this paper, we present a new implementation of transactional memory, log-based transactional memory (LogTM), that makes commits fast by storing old values to a per-thread log in cacheable virtual memory and storing new values in place. LogTM makes two additional contributions. First, LogTM extends a MOESI directory protocol to enable both fast conflict detection on evicted blocks and fast commit (using lazy cleanup). Second, LogTM handles aborts in (library) software with little performance penalty. Evaluations running micro- and SPLASH-2 benchmarks on a 32-way multiprocessor support our decision to optimize for commit by showing that only 1-2% of transactions abort. Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, David A. Wood 0001 |
HPCA | 2 |
| 2004 | MemMap: Technology Mapping Algorithm for Area Reduction in FPGAs with Embedded Memory Arrays Using Reconvergence AnalysisabstractModern day field programmable gate arrays (FPGA) include in addition to look-up tables, reasonably big configurable embedded memory blocks (EMB) to cater to the on-chip memory requirements of systems/applications mapped on them. While mapping applications on to such FPGAs, some of the EMBs may be left unused. This paper presents a methodology to utilize such unused EMBs as large look-up tables to map multi-output combinational sub-circuits of the application, which, otherwise would be mapped on to a number of small look-up tables (LUT) available on the FPGA. This in turn leads to a huge reduction in the area of the FPGA, utilized for mapping an application. Experimental results show that our proposed methodology, when employed on popular benchmark circuits, can lead to additional 50% reduction in area utilized when compared with other methodologies reported in the literature. A. Manoj Kumar, Jayaram Bobba, V. Kamakoti 0001 |
DATE | 2 |