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

Reimer Behrends

dblp:42/6183 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
1since 2021 · last 2021
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 1 first-authorSystems, architecture and hardware · 3 · 1 first-authorTheory of computation · 1 · 1 since 2021

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
2 papers
Concurrent programming · 77% Programming languages and type systems · 17% Requirements engineering and software design · 6%

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

TopicWeightPapersLastEvidence papers
Concurrent programming
transactional memory
0.112007
Transactions with isolation and cooperation · OOPSLA 2007
Requirements engineering and software design › software architecture › component-based software engineering
component composition
0.012000
The universe model: an approach for improving the modularity and reliability of concurrent programs · SIGSOFT FSE 2000

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

type system · 0.1transactional memory · 0.1invariant-based scheduling · 0.0
YearPublicationVenuePosition
2021 On the Generation of Rank 3 Simple Matroids with an Application to Terao's Freeness Conjecture
abstract
In this paper we describe a parallel algorithm for generating all nonisomorphic rank 3 simple matroids with a given multiplicity vector. We apply our implementation in the high performance computing version of GAP to generate all rank 3 simple matroids with at most 14 atoms and an integrally splitting characteristic polynomial. We have stored the resulting matroids alongside with various useful invariants in a publicly available, ArangoDB-powered database. As a byproduct we show that the smallest divisionally free rank 3 arrangement which is not inductively free has 14 hyperplanes and exists in all characteristics distinct from 2 and 5. Another database query proves that Terao's freeness conjecture is true for rank 3 arrangements with 14 hyperplanes in any characteristic.
Reimer Behrends, Christopher Jefferson, Lukas Kühne, Martin Leuner
SIAM J. Discret. Math.2
2016 HPC-GAP: engineering a 21st-century high-performance computer algebra system
abstract
Summary Symbolic computation has underpinned a number of key advances in Mathematics and Computer Science. Applications are typically large and potentially highly parallel, making them good candidates for parallel execution at a variety of scales from multi‐core to high‐performance computing systems. However, much existing work on parallel computing is based around numeric rather than symbolic computations. In particular, symbolic computing presents particular problems in terms of varying granularity and irregular task sizes that do not match conventional approaches to parallelisation. It also presents problems in terms of the structure of the algorithms and data. This paper describes a new implementation of the free open‐source GAP computational algebra system that places parallelism at the heart of the design, dealing with the key scalability and cross‐platform portability problems. We provide three system layers that deal with the three most important classes of hardware: individual shared memory multi‐core nodes, mid‐scale distributed clusters of (multi‐core) nodes and full‐blown high‐performance computing systems, comprising large‐scale tightly connected networks of multi‐core nodes. This requires us to develop new cross‐layer programming abstractions in the form of new domain‐specific skeletons that allow us to seamlessly target different hardware levels. Our results show that, using our approach, we can achieve good scalability and speedups for two realistic exemplars, on high‐performance systems comprising up to 32000 cores, as well as on ubiquitous multi‐core systems and distributed clusters. The work reported here paves the way towards full‐scale exploitation of symbolic computation by high‐performance computing systems, and we demonstrate the potential with two major case studies. © 2016 The Authors.Concurrency and Computation: Practice and ExperiencePublished by John Wiley & Sons Ltd.
Reimer Behrends, Kevin Hammond, Vladimir Janjic, Olexandr Konovalov, Steve Linton, Hans-Wolfgang Loidl, Patrick Maier 0001, Philip W. Trinder
Concurr. Comput. Pract. Exp.1
2010 Adaptive locks: Combining transactions and locks for efficient concurrency
Takayuki Usui, Reimer Behrends, Jacob Evans, Yannis Smaragdakis
J. Parallel Distributed Comput.2
2009 Adaptive Locks: Combining Transactions and Locks for Efficient Concurrency
abstract
Transactional memory is being advanced as an alternative to traditional lock-based synchronization for concurrent programming. Transactional memory simplifies the programming model and maximizes concurrency. At the same time, transactions can suffer from interference that causes them to often abort, from heavy overheads for memory accesses, and from expressiveness limitations (e.g., for I/O operations). In this paper we propose an adaptive locking technique that dynamically observes whether a critical section would be best executed transactionally or while holding a mutex lock. The critical new elements of our approach include the adaptivity logic and cost-benefit analysis, a low overhead implementation of statistics collection and adaptive locking in a full C compiler, and an exposition of the effects on the programming model. In experiments with both micro and macro-benchmarks we found adaptive locks to consistently match or out perform the better of the two component mechanisms (mutexes or transactions). Compared to either mechanism alone, adaptive locks often provide 3-to-10x speedups. Additionally, adaptive locks simplify the programming model by reducing the need for fine-grained locking: with adaptive locks, the programmer can specify coarse-grained locking annotations and often achieve fine-grained locking performance due to the transactional memory mechanisms.
Takayuki Usui, Reimer Behrends, Jacob Evans, Yannis Smaragdakis
PACT2
2007 Transactions with isolation and cooperation
abstract
We present the TIC (Transactions with Isolation and Cooperation) model for concurrent programming. TIC adds to standard transactional memory the ability for a transaction to observe the effects of other threads at selected points. This allows transactions to cooperate, as well as to invoke nonrepeatable or irreversible operations, such as I/O. Cooperating transactions run the danger of exposing intermediate state and of having other threads change the transaction's state. The TIC model protects against unanticipated interference by having the type system keep track of all operations that may (transitively) violate the atomicity of a transaction and require the programmer to establish consistency at appropriate points. The result is a programming model that is both general and simple. We have used the TIC model to re-engineer existing lock-based applications including a substantial multi-threaded web mail server and a memory allocator with coarse-grained locking. Our experience confirms the features of the TIC model: It is convenient for the programmer, while maintaining the benefits of transactional memory.
Yannis Smaragdakis, Anthony Kay, Reimer Behrends, Michal Young
OOPSLA3
2006 Using Views to Specify a Synchronization Aspect for Object-Oriented Languages
abstract
It is widely held that programming language extensions that support separation of concerns and that are also integrative benefit development, maintenance and reuse of software designs and code. Such is the intent of our synchronization units model (Szumo), which unifies new features for expressing synchronization in a multi-threaded program with existing features of an object-oriented language. However, to make effective use of a language extension, a programmer needs an accurate mental model of how new concepts affect and are affected by existing concepts. Moreover, good separation dictates that interactions between these concepts should be understandable at the level of the new concepts. This suggests that the semantics of Szumo should be specifiable as a self-contained partial specification, called a view, and the semantics of its integration with other language features should be specifiable by view composition. To our knowledge, however, view-based approaches have not been applied in specifying the semantics of language extensions. Moreover, devising separable views that serve to simplify comprehensibility of a complex specification is still more of an art than a science. This paper presents a case study in the use of views in structuring a Z specification of Szumo
R. E. Kurt Stirewalt, Laura K. Dillon, Reimer Behrends
SEW3
2005 Safe and Reliable Use of Concurrency in Multi-Threaded Shared-Memory Systems
abstract
The safe and reliable use of concurrency in multi-threaded systems has emerged as a fundamental engineering concern. We recently developed a model of synchronization contracts to address this concern in programs written in object-oriented languages. Programs written using our model comprise modules that declare access requirements in module interfaces in lieu of using low-level synchronization primitives in module implementations. At run time, these contracts are negotiated to derive schedules that guarantee freedom from data races while avoiding a large class of deadlock situations
R. E. Kurt Stirewalt, Reimer Behrends, Laura K. Dillon
SEW2
2000 The universe model: an approach for improving the modularity and reliability of concurrent programs
abstract
We present the universe model, a new approach to concurrency management that isolates concurrency concerns and represents them in the modular interface of a component. This approach improves program comprehension, module composition, and reliability for concurrent systems. The model is founded on designer-specified invariant properties, which declare a component's dependencies on other concurrent components. Process scheduling is then automatically derived from these invariants. We illustrate the advantages of this approach by applying it to a real-world example.
Reimer Behrends, R. E. Kurt Stirewalt
SIGSOFT FSE1