This page contains a collection of ideas for research projects that could potentially turn into nice PhD dissertations.

Large-scale low-latency RPC

The overall question is: what is the right software architecture for network communication in large-scale low-latency datacenters of the future?

The current RAMCloud RPC system is just the first step in answering this question, but it is primitive and lacking in several areas. Here are some issues that are worth exploring:

Higher-level data model

The current RAMCloud data model is quite low-level: key-value store. We would like to explore higher-level mechanisms, to understand if they can be implemented without sacrificing the scale and latency required for RAMCloud. Here are some possible features:

There are many questions to be answered, such as:

Cluster management

RAMCloud currently has almost no facilities whatsoever for cluster management. Here are some of the important issues that need to be understood:

Memory Hierarchy

Storing all data in memory is expensive, but storing some on flash and disk raises a ton of questions.