Serguei Preis

dblp:87/1826 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
0since 2021 · last 2008
—ORCID · none

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

Software engineering, systems software and programming languages · 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
1 paper
Concurrent programming · 61% Programming languages and type systems · 30% Compilers and program optimization · 9%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems › concurrent programming languages
language constructs for concurrency
0.112008
Design and implementation of transactional constructs for C/C++ · OOPSLA 2008
Concurrent programming › transactional memory
software transactional memory
0.112008
Design and implementation of transactional constructs for C/C++ · OOPSLA 2008
Concurrent programming
transactional memory
0.112008
Design and implementation of transactional constructs for C/C++ · OOPSLA 2008
Compilers and program optimization › compiler construction
compiler support for transactional memory
0.012008
Design and implementation of transactional constructs for C/C++ · OOPSLA 2008
YearPublicationVenuePosition
2008 Design and implementation of transactional constructs for C/C++
abstract
This paper presents a software transactional memory system that introduces first-class C++ language constructs for transactional programming. We describe new C++ language extensions, a production-quality optimizing C++ compiler that translates and optimizes these extensions, and a high-performance STM runtime library. The transactional language constructs support C++ language features including classes, inheritance, virtual functions, exception handling, and templates. The compiler automatically instruments the program for transactional execution and optimizes TM overheads. The runtime library implements multiple execution modes and implements a novel STM algorithm that supports both optimistic and pessimistic concurrency control. The runtime switches a transaction's execution mode dynamically to improve performance and to handle calls to precompiled functions and I/O libraries. We present experimental results on 8 cores (two quad-core CPUs) running a set of 20 non-trivial parallel programs. Our measurements show that our system scales well as the numbers of cores increases and that our compiler and runtime optimizations improve scalability.
Adam Welc, Ali-Reza Adl-Tabatabai, Moshe Bach, Sion Berkowits, James Cownie, Robert Geva, Sergey Kozhukow, Ravi Narayanaswamy, Jeffrey Olivier, Serguei Preis, Bratin Saha, Ady Tal, Xinmin Tian
OOPSLA11