Back to search

Purdue University

Ribbons: A Partially Shared Memory Programming Model

Abstract

dc:description.abstract

<p>The need for programs to execute subcomponents in isolation from each other or with lower privileges is prevalent among today's systems. While modern operating systems provide mechanisms for fine-grained isolation of OS resources, only course-grained mechanisms exist for efficient isolation of heap memory. This dissertation develops a new memory programming model known as ribbons to enable fine-grained isolation of heap memory. Ribbons is a shared memory programming model that allows for more implicit sharing of memory than multiprocessing yet is more restrictive than multithreading. The ribbons model hierarchically structures the heap into protection domains. Privileges between these protection domains are carefully controlled in order to "sandbox" computation as needed. To allow practical use of the model in new and existing programs, this dissertation defines a backwards-compatible extension of Java, termed RibbonJ. The progress and isolation properties of RibbonJ are analyzed within a simplified formal model. Additionally, ribbons is implemented within JikesRVM, leveraging existing hardware memory protection mechanisms to avoid the overhead of inline security checks and read or write barriers. Runtime efficiency is evaluated through microbenchmarks and the DaCapo benchmarks, exhibiting minor overhead. This dissertation also studies ribbons further by refactoring Apache Tomcat and Apache httpd. Apache Tomcat is refactored to use RibbonJ for application isolation, the resulting design and complexity are detailed, and performance is evaluated using the SPECweb2009 benchmark. Finally, Apache httpd is enhanced with a ribbonized multiprocessing module, and performance is analyzed via the Apache HTTP benchmarking tool, ab.</p>

Degree

thesis:*
Name thesis:degree_name
Doctor of Philosophy (PhD)
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Year
2013

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Hoffman, Kevin John
Contributors dc:contributor
  • Patrick Eugster
  • Tony Hosking
  • Suresh Jagannathan
  • Dongyan Xu

Subjects

dc:subject × 4

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:docs.lib.purdue.edu:open_access_dissertations-1056

Chain of custody

source
Harvested from
Purdue University
Base URL
docs.lib.purdue.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Hoffman, Kevin John. Ribbons: A Partially Shared Memory Programming Model. Dissertation thesis, 2013. https://docs.lib.purdue.edu/open_access_dissertations/159