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

Chris C. Kirkham

dblp:62/4067 · DBLP profile ↗
← Back
19ranked-venue papers
1as 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 · 12Software engineering, systems software and programming languages · 5 · 1 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
2 papers
Parallel and multicore computing · 48% Distributed systems · 48% Processor architecture and microarchitecture · 2%
Software engineering, system software, and programming languages
1 paper
Concurrent programming · 100%

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

TopicWeightPapersLastEvidence papers
Concurrent programming
transactional memory
0.112008
Experiences using adaptive concurrency in transactional memory with Lee's routing algorithm · PPoPP 2008
Distributed systems
concurrency control
0.112008
Experiences using adaptive concurrency in transactional memory with Lee's routing algorithm · PPoPP 2008
Parallel and multicore computing › parallel scheduling
runtime scheduling
0.112008
Experiences using adaptive concurrency in transactional memory with Lee's routing algorithm · PPoPP 2008
Processor architecture and microarchitecture
dataflow architecture
0.011986
Stored Data Structures on the Manchester Dataflow Machine · ISCA 1986
Storage systems › data management
data structure storage
0.011986
Stored Data Structures on the Manchester Dataflow Machine · ISCA 1986

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

transactional memory · 0.2profiling · 0.2
YearPublicationVenuePosition
2010 Improving Performance by Reducing Aborts in Hardware Transactional Memory
Mohammad Ansari, Behram Khan, Mikel Luján, Christos Kotselidis, Chris C. Kirkham, Ian Watson
HiPEAC5
2010 Clustering JVMs with software transactional memory support
abstract
Affordable transparent clustering solutions to scale non-HPC applications on commodity clusters (such as Terracotta) are emerging for Java Virtual Machines (JVMs). Working in this direction, we propose the Anaconda framework as a research platform to investigate the role Transactional Memory (TM) can play in this domain. Anaconda is a software transactional memory framework that supports clustering of multiple off-the-shelf JVMs on commodity clusters. The main focus of Anaconda is to investigate the implementation of Java synchronization primitives on clusters by relying on Transactional Memory. The traditional lock based Java primitives are replaced by memory transactions and the framework is responsible for ensuring transactional coherence. The contribution of this paper is to investigate which kind of TM coherency protocol can be used in this domain and compare the Anaconda framework against the state-of-the-art Terracotta clustering technology. Furthermore, Anaconda tracks TM conflicts at object granularity and provides distributed object replication and caching mechanisms. It supports existing TM coherence protocols while adding a novel decentralized protocol. The performance evaluation compares Anaconda against three existing TM protocols. Two of these are centralized, while the other is decentralized. In addition, we compare Anaconda against lock-based (coarse, medium grain) implementations of the benchmarks running on Terracotta. Anaconda's performance varies amongst benchmarks, outperforming by 40 to 70% existing TM protocols. Compared to Terracotta, Anaconda exhibits from 19x speedup to 10x slowdown depending on the benchmark's characteristics.
Christos Kotselidis, Mikel Luján, Mohammad Ansari, Konstantinos Malakasis, Behram Khan, Chris C. Kirkham, Ian Watson
IPDPS6
2009 Steal-on-Abort: Improving Transactional Memory Performance through Dynamic Transaction Reordering
Mohammad Ansari, Mikel Luján, Christos Kotselidis, Kim Jarvis, Chris C. Kirkham, Ian Watson
HiPEAC5
2009 On the Performance of Contention Managers for Complex Transactional Memory Benchmarks
abstract
In Transactional Memory (TM), contention management is the process of selecting which transaction should be aborted when a data access conflict arises. In this paper, the performance of published contention managers (CMs) is re-investigated using complex benchmarks recently published in the literature. Our results redefine the CM performance hierarchy. Greedy and Priority are found to give the best performance overall. Polka is still competitive, but by no means best performing as previously published, and in some cases degrading performance by orders of magnitude. In the worst example, execution of a benchmark completes in 6.5 seconds with Priority, yet fails to complete even after 20 minutes with Polka. Analysis of the benchmark found it aborted only 22% of all transactions, spread consistently over the duration of its execution. More generally, all delay-based CMs, which pause a transaction for some finite duration upon conflict, are found to be unsuitable for the evaluated benchmarks with even moderate amounts of contention. This has significant implications, given that TM is primarily aimedat easing concurrent programming for mainstream software development, where applications are unlikely to be highly optimised to reduce aborts.
Mohammad Ansari, Christos Kotselidis, Mikel Luján, Chris C. Kirkham, Ian Watson
ISPDC4
2009 Profiling Transactional Memory Applications
abstract
Transactional memory (TM) has become an active research area as it promises to simplify the development of highly scalable parallel programs. Scalability is quickly becoming an essential software requirement as successive commodity processors integrate ever larger numbers of cores. Non-trivial TM applications to test TM implementations have only recently begun to emerge, but have been written in different programming languages, using different TM implementations, making analysis difficult. We ported the popular non-trivial TM applications from the STAMP suite (Genome, KMeans, and Vacation), and Lee-TM to DSTM2, a software TM implementation, and built into it a framework to profile their execution. This paper investigates which profiling information is most relevant to understanding the performance of these non-trivial TM applications using up to 8 processors. We report commonly used transactional execution metrics and introduce two new metrics that can be used to profile TM applications.
Mohammad Ansari, Kim Jarvis, Christos Kotselidis, Mikel Luján, Chris C. Kirkham, Ian Watson
PDP5
2008 Advanced Concurrency Control for Transactional Memory Using Transaction Commit Rate
Mohammad Ansari, Christos Kotselidis, Kim Jarvis, Mikel Luján, Chris C. Kirkham, Ian Watson
Euro-Par5
2008 Lee-TM: A Non-trivial Benchmark Suite for Transactional Memory
Mohammad Ansari, Christos Kotselidis, Ian Watson, Chris C. Kirkham, Mikel Luján, Kim Jarvis
ICA3PP4
2008 Adaptive Loop Tiling for a Multi-cluster CMP
Jisheng Zhao, Matthew Horsnell, Mikel Luján, Ian Rogers, Chris C. Kirkham, Ian Watson
ICA3PP5
2008 DiSTM: A Software Transactional Memory Framework for Clusters
abstract
While Transactional Memory (TM) research on shared-memory chip multiprocessors has been flourishing over the last years,limited research has been conducted in the cluster domain. In this paper,we introduce a research platform for exploiting software TMon clusters. The Distributed Software Transactional Memory (DiSTM) system has been designed for easy prototyping of TM coherence protocols and it does not rely on a software or hardware implementation of distributed shared memory. Three TM coherence protocols have been implemented and evaluated with established TM benchmarks. The decentralized TransactionalCoherence and Consistency protocol has been compared against two centralized protocols that utilize leases. Results indicate thatdepending on network congestion and amount of contention different protocols perform better.
Christos Kotselidis, Mohammad Ansari, Kim Jarvis, Mikel Luján, Chris C. Kirkham, Ian Watson
ICPP5
2008 Investigating software Transactional Memory on clusters
abstract
Traditional parallel programming models achieve synchronization with error-prone and complex-to-debug constructs such as locks and barriers. Transactional Memory (TM) is a promising new parallel programming abstraction that replaces conventional locks with critical sections expressed as transactions. Most TM research has focused on single address space parallel machines, leaving the area of distributed systems unexplored. In this paper we introduce a flexible Java Software TM (STM) to enable evaluation and prototyping of TM protocols on clusters. Our STM builds on top of the ProActive framework and has as an underlying transactional engine the state-of-the-art DSTM2. It does not rely on software or hardware distributed shared memory for the execution. This follows the transactional semantics at object granularity level and its feasibility is evaluated with non-trivial TM-specific benchmarks.
Christos Kotselidis, Mohammad Ansari, Kim Jarvis, Mikel Luján, Chris C. Kirkham, Ian Watson
IPDPS5
2008 Experiences using adaptive concurrency in transactional memory with Lee's routing algorithm
abstract
Experience in profiling Lee's routing algorithm, a new complex TM application, showed that transactional applications may exhibit dynamic exploitable parallelism, i.e. the amount of useful parallelism available at any point in time varies during the execution of the application. Obviously, executing too many transactions at times when the available parallelism is low will lead to high contention and wasted computation in aborted transactions, and vice versa. Current Transactional Memory (TM) implementations do not account for this behavior.
Mohammad Ansari, Christos Kotselidis, Kim Jarvis, Mikel Luján, Chris C. Kirkham, Ian Watson
PPoPP5
2008 Exploiting the Correspondence between Micro Patterns and Class Names
abstract
This paper argues that semantic information encoded in natural language identifiers is a largely neglected resource for program analysis.First we show that words in Java class names relate to class properties, expressed using the recently developed micro patterns language.We analyze a large corpus of Java programs to create a database that links common class name words with micro patterns. Finally we report on prototype tools integrated with the Eclipse development environment. These tools use the database to inform programmers of particular problems or optimization opportunities in their code.
Jeremy Singer, Chris C. Kirkham
SCAM2
2008 Dynamic analysis of Java program concepts for visualization and profiling
Jeremy Singer, Chris C. Kirkham
Sci. Comput. Program.2
2007 A Study of a Transactional Parallel Routing Algorithm
Ian Watson, Chris C. Kirkham, Mikel Luján
PACT2
2007 Optimizing Chip Multiprocessor Work Distribution Using Dynamic Compilation
Jisheng Zhao, Matthew Horsnell, Ian Rogers, Andrew Dinn, Chris C. Kirkham, Ian Watson
Euro-Par5
2007 Ranked reservoir sampling: an extension to the reservoir sampling algorithm
abstract
Abstract This paper describes a simple extension to the reservoir sampling algorithm to allow its use with ranked records. Here the fixed‐sized sample must include records in order of rank, but a fair selection must occur to choose the lowest‐ranked records included. The result is produced after a single pass through the records. Copyright © 2007 John Wiley & Sons, Ltd.
Chris C. Kirkham
Softw. Pract. Exp.1
2005 Loop Parallelisation for the Jikes RVM
abstract
Increasing the number of instructions executing in parallel has helped improve processor performance, but the technique is limited. Executing code on parallel threads and processors has fewer limitations, but most computer programs tend to be serial in nature. This paper presents a compiler optimisation that at run-time parallelises code inside a JVM and thereby increases the number of threads. We show Spec JVM benchmark results for this optimisation. The performance on a current desktop processor is slower than without parallel threads, caused by thread creation costs, but with these costs removed the performance is better than the serial code. We measure the threading costs and discuss how a future computer architecture will enable this optimisation to be feasible in exploiting thread instead of instruction and/or vector parallelism.
Jisheng Zhao, Ian Rogers, Chris C. Kirkham, Ian Watson
PDCAT3
1996 Efficient Storage Reuse of Aggregates in Single Assignment Languages
Chris C. Kirkham
CC2
1986 Stored Data Structures on the Manchester Dataflow Machine
abstract
Experience with the Manchester Dataflow Machine has highlighted the importance of efficient handling of stored data structures in a practical parallel machine. It has proved necessary to add a special-purpose structure store to the machine, and this paper describes the role of this structure store and the software which uses it. Some key issues in data structure handling for parallel machines are raised.
John Sargeant, Chris C. Kirkham
ISCA2