Skip to content

tsjagan/BufferAggregate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

BufferAggregate

A simple implementation of buffer aggregates.

  • Threads/multiple modules in a software stack pass along buffers amongst them all the time.
  • They usually pass these buffers by making local copies or using concurrency control to protect accesses to these buffers.
  • And copying itself is an expensive operation. Also, redundant copies of data, memory usage etc.
  • BufferAggregate is an ADT that is a container for multiple buffers. Instances of this ADT can be passed by value among threads. So each thread will have its own local copy. The buffers inside are immutable in essence so no locking is required to access them. Writes are supported by using (read-copy-update).
  • Please refer to the paper below for clearer understanding.
  • This is a simple implementation of a Bufferaggregate data structure.

Motivation for this project is from a paper/project called IOLite, by some people from Rice University. Below is the link for the paper. https://www.usenix.org/legacy/publications/library/proceedings/osdi99/full_papers/pai/pai_html/node5.html

That said, this project does not implement the above paper. So the guarantees and performance may widely differ.

PS:

  • Requires. c++11 compiler

About

A simple implementation of buffer aggregates.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published