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

Colin Blundell

dblp:29/2288 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
0since 2021 · last 2010
—ORCID · none

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

Systems, architecture and hardware · 6 · 3 first-authorSoftware engineering, systems software and programming languages · 5 · 4 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
6 papers
Memory systems · 48% Parallel and multicore computing · 27% Processor architecture and microarchitecture · 14%
Network and information security
1 paper
Systems and software security · 100%
Software engineering, system software, and programming languages
3 papers
Program verification · 40% Concurrent programming · 27% Programming languages and type systems · 21%

Topics — the 16 heaviest of 18, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
cache coherence
0.242010
Token tenure and PATCH: A predictive/adaptive token-counting hybrid · ACM Trans. Archit. Code Optim. 2010
Token tenure: PATCHing token counting using directory-based cache coherence · MICRO 2008
InvisiFence: performance-transparent memory ordering in conventional multiprocessors · ISCA 2009
Memory systems › cache coherence
directory-based coherence
0.222010
Token tenure and PATCH: A predictive/adaptive token-counting hybrid · ACM Trans. Archit. Code Optim. 2010
Token tenure: PATCHing token counting using directory-based cache coherence · MICRO 2008
Parallel and multicore computing
transactional memory
0.222010
RETCON: transactional repair without replay · ISCA 2010
Making the fast case common and the uncommon case simple in unbounded transactional memory · ISCA 2007
Distributed systems › concurrency control
optimistic concurrency control
0.112010
RETCON: transactional repair without replay · ISCA 2010
Memory systems › cache coherence
scalable coherence protocol
0.112010
Token tenure and PATCH: A predictive/adaptive token-counting hybrid · ACM Trans. Archit. Code Optim. 2010
Parallel and multicore computing › transactional memory
transactional memory scalability
0.112010
RETCON: transactional repair without replay · ISCA 2010
Memory systems › memory consistency
memory consistency model
0.112009
InvisiFence: performance-transparent memory ordering in conventional multiprocessors · ISCA 2009
Processor architecture and microarchitecture › memory system microarchitecture
memory ordering
0.112009
InvisiFence: performance-transparent memory ordering in conventional multiprocessors · ISCA 2009
Processor architecture and microarchitecture
speculative execution
0.112009
InvisiFence: performance-transparent memory ordering in conventional multiprocessors · ISCA 2009
Systems and software security
memory safety
0.112008
Hardbound: architectural support for spatial safety of the C programming language · ASPLOS 2008
Systems and software security › memory safety
spatial memory safety
0.112008
Hardbound: architectural support for spatial safety of the C programming language · ASPLOS 2008
Parallel and multicore computing › parallel programming models
multithreaded programming
0.112007
Making the fast case common and the uncommon case simple in unbounded transactional memory · ISCA 2007
Concurrent programming
synchronization
0.012010
RETCON: transactional repair without replay · ISCA 2010
Programming languages and type systems › programming paradigms › imperative languages
c
0.012008
Hardbound: architectural support for spatial safety of the C programming language · ASPLOS 2008
Performance modeling and evaluation › parallel performance evaluation
multicore scalability
0.012008
Token tenure: PATCHing token counting using directory-based cache coherence · MICRO 2008
Requirements engineering and software design
software product lines
0.012004
Parameterized Interfaces for Open System Verification of Product Lines · ASE 2004

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

hardware support · 0.2compiler instrumentation · 0.2workload analysis · 0.2token tenure · 0.1predictive/adaptive hybrid protocol · 0.1simulation · 0.1token counting · 0.1timeout-based forward progress · 0.1hardware design · 0.1
YearPublicationVenuePosition
2010 RETCON: transactional repair without replay
abstract
Over the past decade there has been a surge of academic and industrial interest in optimistic concurrency, i.e. the speculative parallel execution of code regions that have the semantics of isolation. This work analyzes scalability bottlenecks of workloads that use optimistic concurrency. We find that one common bottleneck is updates to auxiliary program data in otherwise non-conflicting operations, e.g. reference count updates and hashtable occupancy field increments.
Colin Blundell, Arun Raghavan, Milo M. K. Martin
ISCA1
2010 Token tenure and PATCH: A predictive/adaptive token-counting hybrid
abstract
Traditional coherence protocols present a set of difficult trade-offs: the reliance of snoopy protocols on broadcast and ordered interconnects limits their scalability, while directory protocols incur a performance penalty on sharing misses due to indirection. This work introduces Patch (Predictive/Adaptive Token-Counting Hybrid), a coherence protocol that provides the scalability of directory protocols while opportunistically sending direct requests to reduce sharing latency. Patch extends a standard directory protocol to track tokens and use token-counting rules for enforcing coherence permissions. Token counting allows Patch to support direct requests on an unordered interconnect, while a mechanism called token tenure provides broadcast-free forward progress using the directory protocol's per-block point of ordering at the home along with either timeouts at requesters or explicit race notification messages. Patch makes three main contributions. First, Patch introduces token tenure, which provides broadcast-free forward progress for token-counting protocols. Second, Patch deprioritizes best-effort direct requests to match or exceed the performance of directory protocols without restricting scalability. Finally, Patch provides greater scalability than directory protocols when using inexact encodings of sharers because only processors holding tokens need to acknowledge requests. Overall, Patch is a “one-size-fits-all” coherence protocol that dynamically adapts to work well for small systems, large systems, and anywhere in between.
Arun Raghavan, Colin Blundell, Milo M. K. Martin
ACM Trans. Archit. Code Optim.2
2009 InvisiFence: performance-transparent memory ordering in conventional multiprocessors
abstract
A multiprocessor's memory consistency model imposes ordering constraints among loads, stores, atomic operations, and memory fences. Even for consistency models that relax ordering among loads and stores, ordering constraints still induce significant performance penalties due to atomic operations and memory ordering fences. Several prior proposals reduce the performance penalty of strongly ordered models using post-retirement speculation, but these designs either (1) maintain speculative state at a per-store granularity, causing storage requirements to grow proportionally to speculation depth, or (2) employ distributed global commit arbitration using unconventional chunk-based invalidation mechanisms. In this paper we propose InvisiFence, an approach for implementing memory ordering based on post-retirement speculation that avoids these concerns. InvisiFence leverages minimalistic mechanisms for post-retirement speculation proposed in other contexts to (1) track speculative state efficiently at block-granularity with dedicated storage requirements independent of speculation depth, (2) provide fast commit by avoiding explicit commit arbitration, and (3) operate under a conventional invalidation-based cache coherence protocol. InvisiFence supports both modes of operation found in prior work: speculating only when necessary to minimize the risk of rollback-inducing violations or speculating continuously to decouple consistency enforcement from the processor core. Overall, InvisiFence requires approximately one kilobyte of additional state to transform a conventional multiprocessor into one that provides performance-transparent memory ordering, fences, and atomic operations.
Colin Blundell, Milo M. K. Martin, Thomas F. Wenisch
ISCA1
2008 Hardbound: architectural support for spatial safety of the C programming language
abstract
The C programming language is at least as well known for its absence of spatial memory safety guarantees (i.e., lack of bounds checking) as it is for its high performance. C's unchecked pointer arithmetic and array indexing allow simple programming mistakes to lead to erroneous executions, silent data corruption, and security vulnerabilities. Many prior proposals have tackled enforcing spatial safety in C programs by checking pointer and array accesses. However, existing software-only proposals have significant drawbacks that may prevent wide adoption, including: unacceptably high run-time overheads, lack of completeness, incompatible pointer representations, or need for non-trivial changes to existing C source code and compiler infrastructure.
Joseph Devietti, Colin Blundell, Milo M. K. Martin, Steve Zdancewic
ASPLOS2
2008 Token tenure: PATCHing token counting using directory-based cache coherence
abstract
Traditional coherence protocols present a set of difficult tradeoffs: the reliance of snoopy protocols on broadcast and ordered interconnects limits their scalability, while directory protocols incur a performance penalty on sharing misses due to indirection. This work introduces PATCH (Predictive/Adaptive Token Counting Hybrid), a coherence protocol that provides the scalability of directory protocols while opportunistically sending direct requests to reduce sharing latency. PATCH extends a standard directory protocol to track tokens and use token counting rules for enforcing coherence permissions. Token counting allows PATCH to support direct requests on an unordered interconnect, while a mechanism called token tenure uses local processor timeouts and the directorypsilas per-block point of ordering at the home node to guarantee forward progress without relying on broadcast. PATCH makes three main contributions. First, PATCH introduces token tenure, which provides broadcast-free forward progress for token counting protocols. Second, PATCH deprioritizes best-effort direct requests to match or exceed the performance of directory protocols without restricting scalability. Finally, PATCH provides greater scalability than directory protocols when using inexact encodings of sharers because only processors holding tokens need to acknowledge requests. Overall, PATCH is a ldquoone-size-fits-allrdquo coherence protocol that dynamically adapts to work well for small systems, large systems, and anywhere in between.
Arun Raghavan, Colin Blundell, Milo M. K. Martin
MICRO2
2007 Making the fast case common and the uncommon case simple in unbounded transactional memory
abstract
Hardware transactional memory has great potential to simplify the creation ofcorrect and efficient multithreaded programs, allowing programmers to exploitmore effectively the soon-to-be-ubiquitous multi-core designs. Several recentproposals have extended the original bounded transactional memory to unboundedtransactional memory, a crucial step toward transactions becoming ageneral-purpose primitive. Unfortunately, supporting the concurrent executionof an unbounded number of unbounded transactions is challenging, and as aresult, many proposed implementations are complex.
Colin Blundell, Joseph Devietti, E. Christopher Lewis, Milo M. K. Martin
ISCA1
2004 Parameterized Interfaces for Open System Verification of Product Lines
Colin Blundell, Kathi Fisler, Shriram Krishnamurthi, Pascal Van Hentenryck
ASE1