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

Michal Kapalka

dblp:69/4654 · DBLP profile ↗
← Back
13ranked-venue papers
1as first author
0since 2021 · last 2015
0000-0002-7961-5942ORCID · reported

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

Systems, architecture and hardware · 8Software engineering, systems software and programming languages · 3Artificial intelligence and machine learning · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorTheory of computation · 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.

Software engineering, system software, and programming languages
5 papers
Concurrent programming · 94% Programming languages and type systems · 4% Runtime systems and virtual machines · 3%
Computer architecture, parallel and distributed computing, and storage systems
5 papers
Parallel and multicore computing · 59% Distributed systems · 26% Performance modeling and evaluation · 15%
Theoretical computer science
1 paper
Distributed computing theory · 100%

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

TopicWeightPapersLastEvidence papers
Concurrent programming
transactional memory
0.552010
Leveraging parallel nesting in transactional memory · PPoPP 2010
The semantics of progress in lock-based transactional memory · POPL 2009
Stretching transactional memory · PLDI 2009
Parallel and multicore computing
transactional memory
0.222012
On the liveness of transactional memory · PODC 2012
Transactional Memory: Glimmer of a Theory · CAV 2009
Distributed systems › distributed computing theory
liveness
0.112012
On the liveness of transactional memory · PODC 2012
Distributed computing theory
impossibility results
0.112012
On the liveness of transactional memory · PODC 2012
Concurrent programming › transactional memory
nested transactions
0.112010
Leveraging parallel nesting in transactional memory · PPoPP 2010
Parallel and multicore computing › parallelization strategies
nested parallelism
0.112010
Leveraging parallel nesting in transactional memory · PPoPP 2010
Parallel and multicore computing
parallel programming models
0.112010
Leveraging parallel nesting in transactional memory · PPoPP 2010
Concurrent programming › transactional memory
software transactional memory
0.112009
Stretching transactional memory · PLDI 2009
Concurrent programming › transactional memory
transactional memory semantics
0.112009
The semantics of progress in lock-based transactional memory · POPL 2009
Parallel and multicore computing
multicore programming
0.112009
Stretching transactional memory · PLDI 2009
Concurrent programming
concurrency semantics
0.112008
On the correctness of transactional memory · PPoPP 2008
Performance modeling and evaluation
benchmarking
0.112007
STMBench7: a benchmark for software transactional memory · EuroSys 2007
Distributed systems
concurrency control
0.112007
STMBench7: a benchmark for software transactional memory · EuroSys 2007
Parallel and multicore computing › transactional memory
software transactional memory
0.112007
STMBench7: a benchmark for software transactional memory · EuroSys 2007
Performance modeling and evaluation
workload characterization
0.112007
STMBench7: a benchmark for software transactional memory · EuroSys 2007
Programming languages and type systems › concurrent programming languages
language constructs for concurrency
0.012010
Leveraging parallel nesting in transactional memory · PPoPP 2010
Concurrent programming › synchronization
locking
0.012009
The semantics of progress in lock-based transactional memory · POPL 2009
Distributed systems
concurrency
0.012009
Transactional Memory: Glimmer of a Theory · CAV 2009

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

transactional memory · 0.2performance evaluation · 0.2formal semantics · 0.1formal specification · 0.1
YearPublicationVenuePosition
2015 Simulation of Human Behavior in Different Densities as a Part of Crowd Control Systems
Michal Kapalka
ACIIDS (2)1
2012 On the liveness of transactional memory
abstract
Despite the large amount of work on Transactional Memory (TM), little is known about how much liveness it could provide. This paper presents the first formal treatment of the question. We prove that no TM implementation can ensure local progress, the analogous of wait-freedom in the TM context, and we highlight different ways to circumvent the impossibility.
Victor Bushkov, Rachid Guerraoui, Michal Kapalka
PODC3
2010 Leveraging parallel nesting in transactional memory
abstract
Exploiting the emerging reality of affordable multi-core architectures goes through providing programmers with simple abstractions that would enable them to easily turn their sequential programs into concurrent ones that expose as much parallelism as possible. While transactional memory promises to make concurrent programming easy to a wide programmer community, current implementations either disallow nested transactions to run in parallel or do not scale to arbitrary parallel nesting depths. This is an important obstacle to the central goal of transactional memory, as programmers can only start parallel threads in restricted parts of their code.
João Barreto 0001, Aleksandar Dragojevic, Paulo Ferreira 0001, Rachid Guerraoui, Michal Kapalka
PPoPP5
2010 Transactions in the jungle
abstract
Transactional memory (TM) has shown potential to simplify the task of writing concurrent programs. Inspired by classical work on databases, formal definitions of the semantics of TM executions have been proposed. Many of these definitions assumed that accesses to shared data are solely performed through transactions. In practice, due to legacy code and concurrency libraries, transactions in a TM have to share data with non-transactional operations. The semantics of such interaction, while widely discussed by practitioners, lacks a clear formal specification. Those interactions can vary, sometimes in subtle ways, between TM implementations and underlying memory models.
Rachid Guerraoui, Thomas A. Henzinger, Michal Kapalka, Vasu Singh
SPAA3
2009 Transactional Memory: Glimmer of a Theory
Rachid Guerraoui, Michal Kapalka
CAV2
2009 Stretching transactional memory
abstract
Transactional memory (TM) is an appealing abstraction for programming multi-core systems. Potential target applications for TM, such as business software and video games, are likely to involve complex data structures and large transactions, requiring specific software solutions (STM). So far, however, STMs have been mainly evaluated and optimized for smaller scale benchmarks.
Aleksandar Dragojevic, Rachid Guerraoui, Michal Kapalka
PLDI3
2009 The semantics of progress in lock-based transactional memory
abstract
Transactional memory (TM) is a promising paradigm for concurrent programming. Whereas the number of TM implementations is growing, however, little research has been conducted to precisely define TM semantics, especially their progress guarantees. This paper is the first to formally define the progress semantics of lockbased TMs, which are considered the most effective in practice.
Rachid Guerraoui, Michal Kapalka
POPL2
2008 On the correctness of transactional memory
abstract
Transactional memory (TM) is perceived as an appealing alternative to critical sections for general purpose concurrent programming. Despite the large amount of recent work on TM implementations, however, very little effort has been devoted to precisely defining what guarantees these implementations should provide. A formal description of such guarantees is necessary in order to check the correctness of TM systems, as well as to establish TM optimality results and inherent trade-offs.
Rachid Guerraoui, Michal Kapalka
PPoPP2
2008 On obstruction-free transactions
abstract
This paper studies obstruction-free software transactional memory systems (OFTMs). These systems are appealing, for they combine the atomicity property of transactions with a liveness property that ensures the commitment of every transaction that eventually encounters no contention.
Rachid Guerraoui, Michal Kapalka
SPAA2
2008 The weakest failure detectors to boost obstruction-freedom
abstract
It is considered good practice in concurrent computing to devise shared object implementations that ensure a minimal obstruction-free progress property and delegate the task of boosting liveness to independent generic oracles called contention managers. This paper determines necessary and sufficient conditions to implement wait-free and non-blocking contention managers, i.e., contention managers that ensure wait-freedom (resp. non-blockingness) of any associated obstruction-free object implementation. The necessary conditions hold even when universal objects (like compare-and-swap) or random oracles are available in the implementation of the contention manager. On the other hand, the sufficient conditions assume only basic read/write objects, i.e., registers. We show that failure detector $$\lozenge{\fancyscript{P}}$$ is the weakest to convert any obstruction-free algorithm into a wait-free one, and Ω *, a new failure detector which we introduce in this paper, and which is strictly weaker than $$\lozenge\fancyscript{P}$$ but strictly stronger than Ω, is the weakest to convert any obstruction-free algorithm into a non-blocking one. We also address the issue of minimizing the overhead imposed by contention management in low contention scenarios. We propose two intermittent failure detectors $$I_{\Omega^*}$$ and $$I_{\lozenge\fancyscript{P}}$$ that are in a precise sense equivalent to, respectively, Ω * and $$\lozenge\fancyscript{P}$$ , but allow for reducing the cost of failure detection in eventually synchronous systems when there is little contention. We present two contention managers: a non-blocking one and a wait-free one, that use, respectively, $$I_{\Omega^*}$$ and $$I_{\lozenge\fancyscript{P}}$$ . When there is no contention, the first induces very little overhead whereas the second induces some non-trivial overhead. We show that wait-free contention managers, unlike their non-blocking counterparts, impose an inherent non-trivial overhead even in contention-free executions.
Rachid Guerraoui, Michal Kapalka, Petr Kuznetsov
Distributed Comput.2
2007 STMBench7: a benchmark for software transactional memory
abstract
Software transactional memory (STM) is a promising technique for controlling concurrency in modern multi-processor architectures. STM aims to be more scalable than explicit coarse-grained locking and easier to use than fine-grained locking. However, STM implementations have yet to demonstrate that their runtime overheads are acceptable. To date, empiric evaluations of these implementations have suffered from the lack of realistic benchmarks. Measuring performance of an STM in an overly simplified setting can be at best uninformative and at worst misleading as it may steer researchers to try to optimize irrelevant aspects of their implementations.
Rachid Guerraoui, Michal Kapalka, Jan Vitek
EuroSys2
2006 The Weakest Failure Detectors to Boost Obstruction-Freedom
Rachid Guerraoui, Michal Kapalka, Petr Kuznetsov
DISC2
2005 Workflow composer and service registry for grid applications
Marian Bubak, Tomasz Gubala, Michal Kapalka, Maciej Malawski, Katarzyna Rycerz
Future Gener. Comput. Syst.3