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

Catherine E. Nemitz

dblp:185/1709 · DBLP profile ↗
← Back
9ranked-venue papers
7as first author
5since 2021 · last 2026
0000-0002-5800-3533ORCID · verified

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

Applied, interdisciplinary, general and emerging computing · 3 · 1 first-author · 2 since 2021Systems, architecture and hardware · 2 · 2 first-author · 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.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
Embedded and real-time systems · 86% Parallel and multicore computing · 14%
Software engineering, system software, and programming languages
2 papers
Concurrent programming · 100%

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

TopicWeightPapersLastEvidence papers
Embedded and real-time systems
real-time synchronization
1.222023
Work-in-Progress: Impacts of Critical-Section Granularity When Accessing Shared Resources · RTSS 2023
TORTIS: Retry-Free Software Transactional Memory for Real-Time Systems · RTSS 2021
Embedded and real-time systems
real-time scheduling
0.822021
TORTIS: Retry-Free Software Transactional Memory for Real-Time Systems · RTSS 2021
Work-in-Progress: Lock-Based Software Transactional Memory for Real-Time Systems · RTSS 2018
Embedded and real-time systems › real-time scheduling
schedulability analysis
0.822021
TORTIS: Retry-Free Software Transactional Memory for Real-Time Systems · RTSS 2021
Work-in-Progress: Lock-Based Software Transactional Memory for Real-Time Systems · RTSS 2018
Parallel and multicore computing › transactional memory
software transactional memory
0.512021
TORTIS: Retry-Free Software Transactional Memory for Real-Time Systems · RTSS 2021
Concurrent programming
transactional memory
0.222021
TORTIS: Retry-Free Software Transactional Memory for Real-Time Systems · RTSS 2021
Work-in-Progress: Lock-Based Software Transactional Memory for Real-Time Systems · RTSS 2018

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

retry-free conflict resolution · 1.0locking protocols · 0.7
YearPublicationVenuePosition
2026 Critical-Section Granularity for Multi-Resource Systems with Nested Critical Sections
abstract
Typical models of resource-sharing real-time tasks provide the worst-case task execution time and the duration of each critical section during which a resource is accessed. Such models abstract away the detailed behavior of a task, which may make several individual accesses within a single critical section, incurring access overhead once for the entire critical section. Considering a more fine-grained model with individual access and non-access segments at the forefront gives more control in the system design process; choosing how accesses are grouped into critical sections enables balancing trade-offs between overhead and blocking based on other system parameters, including task deadlines. This paper presents an optimal approach for multi-resource systems that allow any given task to use up to two resources, including support for nested critical sections. This is achieved by extending analysis to multiple resources and constructing a Quadratically-Constrained Integer Program to determine critical sections. This approach is compared to heuristics on the basis of schedulability and its runtime is explored. Further extension to support more resources per task is discussed.
Catherine E. Nemitz, Tanya Amert, Jonad Pulaj
ECRTS1
2023 Work-in-Progress: Impacts of Critical-Section Granularity When Accessing Shared Resources
abstract
The prevalence of computer-vision applications in autonomous vehicles necessitates the use of graphics processing units (GPUs), which must be shared among tasks due to size, weight, power, and cost constraints. Such sharing is typically managed via locking protocols. However, experiments reveal a trade-off in the granularity of such sharing; GPU operations' execution times are reduced if multiple GPU accesses are grouped in a single lock request (i.e., form a single critical section) rather than assuming only one access per critical section. This grouping exposes a broader trade-off between the extra lock overhead (and blocking) incurred by an individual task, and the analytical blocking experienced by all other tasks in the system. This trade-off is expressed herein via an extended resource model and explored using example task systems, demonstrating the impact of different access-grouping heuristics.
Tanya Amert, Catherine E. Nemitz
RTSS2
2021 Light Reading: Optimizing Reader/Writer Locking for Read-Dominant Real-Time Workloads
abstract
This paper is directed at reader/writer locking for read-dominant real-time workloads. It is shown that state-of-the-art real-time reader/writer locking protocols are subject to performance limitations when reads dominate, and that existing schedulability analysis fails to leverage the sparsity of writes in this case. A new reader/writer locking-protocol implementation and new inflation-free schedulability analysis are proposed to address these problems. Overhead evaluations of the new implementation show a decrease in overheads of up to 70% over previous implementations, leading to throughput for read operations increasing by up to 450%. Schedulability experiments are presented that show that the analysis results in schedulability improvements of up to 156.8% compared to the existing state-of-the-art approach.
Catherine E. Nemitz, Shai Caspin, James H. Anderson, Bryan C. Ward
ECRTS1
2021 TORTIS: Retry-Free Software Transactional Memory for Real-Time Systems
abstract
Software transactional memory (STM) is a synchronization paradigm originally proposed for throughput-oriented computing to facilitate producing performant concurrent code that is free of synchronization bugs. With STM, programmers merely annotate code sections requiring synchronization; the underlying STM framework automatically resolves how synchronization is done. Today, the programming issues that motivated STM are becoming a concern in embedded computing, where ever more sophisticated systems are being produced that require highly parallel implementations. These implementations are often produced by engineers and control experts who may not be well versed in concurrency-related issues. In this context, a real-time STM framework would be useful in ensuring that the synchronization aspects of a system pass real-time certification. However, all prior STM approaches fundamentally rely on retries to resolve conflicts, and such retries can yield high worst-case synchronization costs compared to lock-based approaches. This paper presents a new STM class called Retry-Free Real-Time STM (R2STM), which is designed for worst-case real-time performance. The benefit of a retry-free approach for use in a real-time system is demonstrated by a schedulability study, in which it improved overall schedulability across all considered task systems by an average of 95.3% over a retry-based approach. This paper also presents TORTIS, the first R2STM implementation for real-time systems. Throughput-oriented benchmarks are presented to highlight the tradeoffs between throughput and schedulability for TORTIS.
Claire Nord, Shai Caspin, Catherine E. Nemitz, Howard E. Shrobe, Hamed Okhravi, James H. Anderson, Nathan Burow, Bryan C. Ward
RTSS3
2021 Concurrency groups: a new way to look at real-time multiprocessor lock nesting
Catherine E. Nemitz, Tanya Amert, Manish Goyal 0002, James H. Anderson
Real Time Syst.1
2019 Real-time multiprocessor locks with nesting: optimizing the common case
Catherine E. Nemitz, Tanya Amert, James H. Anderson
Real Time Syst.1
2018 Using Lock Servers to Scale Real-Time Locking Protocols: Chasing Ever-Increasing Core Counts
abstract
During the past decade, parallelism-related issues have been at the forefront of real-time systems research due to the advent of multicore technologies. In the coming years, such issues will loom ever larger due to increasing core counts. Having more cores means a greater potential exists for platform capacity loss when the available parallelism cannot be fully exploited. In this paper, such capacity loss is considered in the context of real-time locking protocols. In this context, lock nesting becomes a key concern as it can result in transitive blocking chains that force tasks to execute sequentially unnecessarily. Such chains can be quite long on a larger machine. Contention-sensitive real-time locking protocols have been proposed as a means of "breaking" transitive blocking chains, but such protocols tend to have high overhead due to more complicated lock/unlock logic. To ease such overhead, the usage of lock servers is considered herein. In particular, four specific lock-server paradigms are proposed and many nuances concerning their deployment are explored. Experiments are presented that show that, by executing cache hot, lock servers can enable reductions in lock/unlock overhead of up to 86%. Such reductions make contention-sensitive protocols a viable approach in practice.
Catherine E. Nemitz, Tanya Amert, James H. Anderson
ECRTS1
2018 Work-in-Progress: Lock-Based Software Transactional Memory for Real-Time Systems
abstract
We propose a method for designing software transactional memory that relies on the use of locking protocols to ensure that transactions will never be forced to retry. We discuss our approaches to implementing this method and tunable parameters that may be able to improve schedulability on an application-specific basis.
Catherine E. Nemitz, James H. Anderson
RTSS1
2016 Multiprocessor Real-Time Locking Protocols for Replicated Resources
abstract
A real-time multiprocessor synchronization problem is studied herein that has not be extensively studied before, namely, the management of replicated resources where tasks may require multiple replicas to execute. In prior work on replicated resources, k-exclusion locks have been used, but this restricts tasks to lock only one replica at a time. To motivate the need for unrestricted replica sharing, two use cases are discussed that reveal an interesting tradeoff: in one of the use cases, blocking is the dominant lock-related factor impacting schedulability, while in the other, lock/unlock overheads are. Motivated by these use cases, three replica-allocation protocols are presented. In the first two, the lock/unlock logic is very simple, yielding low overheads, but blocking is not optimal. In the third, blocking is optimal (ignoring constant factors), but additional lock/unlock overhead is incurred to properly order lock requests. Experiments are presented that examine the overhead/blocking tradeoff motivated by these protocols in some detail.
Catherine E. Nemitz, Kecheng Yang 0001, Ming Yang 0036, Pontus Ekberg, James H. Anderson
ECRTS1