Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Quinn A. Jacobson is active.

Publication


Featured researches published by Quinn A. Jacobson.


international symposium on microarchitecture | 2006

Architectural Support for Software Transactional Memory

Bratin Saha; Ali-Reza Adl-Tabatabai; Quinn A. Jacobson

Transactional memory provides a concurrency control mechanism that avoids many of the pitfalls of lock-based synchronization. Researchers have proposed several different implementations of transactional memory, broadly classified into software transactional memory (STM) and hardware transactional memory (HTM). Both approaches have their pros and cons: STMs provide rich and flexible transactional semantics on stock processors but incur significant overheads. HTMs, on the other hand, provide high performance but implement restricted semantics or add significant hardware complexity. This paper is the first to propose architectural support for accelerating transactions executed entirely in software. We propose instruction set architecture (ISA) extensions and novel hardware mechanisms that improve STM performance. We adapt a high-performance STM algorithm supporting rich transactional semantics to our ISA extensions (called hardware accelerated software transactional memory or HASTM). HASTM accelerates fully virtualized nested transactions, supports language integration, and provides both object-based and cache-line based conflict detection. We have implemented HASTM in an accurate multi-core IA32 simulator. Our simulation results show that (1) HASTM single-thread performance is comparable to a conventional HTM implementation; (2) HASTM scaling is comparable to a STM implementation; and (3) HASTM is resilient to spurious aborts and can scale better than HTM in a multi-core setting. Thus, HASTM provides the flexibility and rich semantics of STM, while giving the performance of HTM


IEEE Computer Architecture Letters | 2006

Disintermediated Active Communication

Anne Bracy; Quinn A. Jacobson

Disintermediated active communication (DAC) is a new paradigm of communication in which a sending thread actively engages a receiving thread when sending it a message via shared memory. DAC is different than existing approaches that use passive communication through shared-memory - based on intermittently checking for messages - or that use preemptive communication but must rely on intermediaries such as the operating system or dedicated interrupt channels. An implementation of DAC builds on existing cache coherency support and exploits light-weight user-level interrupts. Inter-thread communication occurs via monitored memory locations where the receiver thread responds to invalidations of monitored addresses with a light-weight user-level software-defined handler. Address monitoring is supported by cache line user-bits, or CLUbits. CLUbits reside in the cache next to the coherence state, are private per thread, and maintain user-defined per-cache-line state. A light weight software library can demultiplex asynchronous notifications and handle exceptional cases. In DAC-based programs threads coordinate with one another by explicit signaling and implicit resource monitoring. With the simple and direct communication primitives of DAC, multi-threaded workloads synchronize at a finer granularity and more efficiently utilize the hardware of upcoming multi-core designs. This paper introduces DAC, presents several signaling models for DAC-based programs, and describes a simple memory-based framework that supports DAC by leveraging existing cache-coherency models. Our framework is general enough to support uses beyond DAC


Archive | 2007

Hardware acceleration for a software transactional memory system

Bratin Saha; Ali-Reza Adl-Tabatabai; Quinn A. Jacobson


Archive | 2005

Primitives to enhance thread-level speculation

Quinn A. Jacobson; Hong Wang; John Paul Shen; Gautham N. Chinya; Per Hammarlund; Xiang Zou; Bryant Bigbee; Shivnandan D. Kaushik


Archive | 1998

Multithreading processor with thread predictor

Haitham Akkary; Quinn A. Jacobson


Archive | 2006

Concurrent thread execution using user-level asynchronous signaling

Bratin Saha; Ali-Reza Adl-Tabatabai; Quinn A. Jacobson


Archive | 2011

Hardware acceleration of a write-buffering software transactional memory

Bratin Saha; Ali-Reza Adl-Tabatabai; Quinn A. Jacobson


Archive | 2007

Using ephemeral stores for fine-grained conflict detection in a hardware accelerated stm

Bratin Saha; Ali-Reza Adl-Tabatabai; Gad Sheaffer; Quinn A. Jacobson


Archive | 2007

Providing application-level information for use in cache management

Rameshkumar G. Illikkal; Ravishankar Iyer; Li Zhao; Donald Newell; Carl Lebsack; Quinn A. Jacobson; Suresh Srinivas; Mingqiu Sun


Archive | 2006

Method and system for enhanced thread synchronization and coordination

Quinn A. Jacobson; Anne Bracy; Hong Wang

Collaboration


Dive into the Quinn A. Jacobson's collaboration.

Researchain Logo
Decentralizing Knowledge