A transactional memory service in an extensible operating system
Yasushi Saito, Brian N. Bershad · 1998
This paper describes Rhino, a transactional memory service implemented on top of the SPIN operating system. Rhino is implemented as an extension that runs in SPIN kernel's address space. We discuss how the extension structure of Rhino can solve performance problems previously unavoidable in traditional systems, and we quantify its benefits. We also introduce three alternative buffer management schemes and study their performance under various workloads. 1 Introduction This paper describes Rhino, a transactional memory service that lets applications perform transactions on a virtual memory through ordinary loads and stores. Rhino runs on the SPIN operating system, which lets user applications modify and augment the kernel by safely downloading code (extensions) into the kernel address space[2]. Rhino is implemented as an extension. Extensions can efficiently manipulate kernel resources such as virtual memory pages and files, and can thus avoid the performance bottlenecks that plague t...