Search NASAโŒ• Search

NASA NTRS ยท 20100011108

Advanced Reference Counting Pointers for Better Performance

Abstract

A computer program implements reference counting pointers (RCPs) that are lock-free, thread-safe, async-safe, and operational on a multiprocessor computer. RCPs are powerful and convenient means of managing heap memory in C++ software. Most prior RCP programs use locks to ensure thread safety and manage concurrency. The present program was developed in a continuing effort to explore ways of using the C++ programming language to develop safety-critical and mission- critical software. This effort includes exploration of lock-free algorithms because they offer potential to avoid some costly and difficult verification problems. Unlike previously published RCP software, the present program does not use locks (meaning that no thread can block progress on another thread): Instead, this program implements algorithms that exploit capabilities of central-processing- unit hardware so as to avoid locks. Once locks are eliminated, it becomes possible to realize the other attributes mentioned in the first sentence. In addition to the abovementioned attributes, this program offers several advantages over other RCP programs that use locks: It is smaller (and, hence, is faster and uses less memory), it is immune to priority inversion, and there is no way for it to cause a C++ exception.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Reinholtz, William. 2007-10-01. Advanced Reference Counting Pointers for Better Performance. https://ntrs.nasa.gov/citations/20100011108

Cite the original work for its findings. Save a collection to share your selection of sources.