LORIS: a reliable, modular storage stack

From Master Projects
Revision as of 15:44, 20 November 2009 by Dmk800 (talk | contribs) (New page: {{Projectproposal |Contact person=David van Moolenbroek |Master areas=Internet and Web Technology, Parallel and Distributed Computer Systems |Fulfilled=No }} Computer systems data storage ...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

About LORIS: a reliable, modular storage stack


Computer systems data storage has been around for a long time. However, it is only recently that regular hard disks have become so so fast and so big, that more and more people are willing to sacrifice some of that size and speed for something that was long considered less important: reliability.

Hard disk failure has become a norm rather than an exception in today's world. Several commodity hard disks don't fail completely, but corrupt data silently, leaving the file system completely unaware of these insidious latent traps. It is even more unfortunate that traditional data protection techniques like RAID fail to protect the user from these silent corruption scenarios and in some cases even aid and abet the crime by propagating corruption further.

In this project, LORIS, we are creating a new storage stack that has reliability as key feature. Building on concepts like (true) modularity, and high-level redundancy, we think we can achieve better reliability and flexibility than ever before.

A first version LORIS is implemented on MINIX3, and consists of a number of relatively independent layers. We have several MSc projects available for students who want to do research on improving one or more of these layers. Examples include:

  • Comparing new ways to protect data from system crashes and power failures.
  • Getting the most out of Solid-State Disks (SSDs) by adding support for them in the storage stack.
  • Investigating cooperation between the file system cache and the virtual memory subsystem.
  • Support for file types (such as multimedia files) throughout the stack, and developing per-type optimizations.
  • Protecting the user against himself: immutability and versioning.

..and we're very much open to other ideas.