Imagine using RAMCloud in a utility computing environment, where a single large RAMCloud cluster supports dozens or hundreds of independent applications within a datacenter.
A very small application should get all the benefits of RAMCloud, such as very high performance, at low cost:
If my application only needs 1/100th the memory and request bandwidth of a
single server, I should only pay 1/100th the cost of a server, even though my data and its backup copies may be spread across the entire cluster.
How is storage managed among independent applications?
Concentrate the data of each application on as few servers as possible?
Stripe each application's data across many servers?
What are the security implications of multi-tenancy?
How to manage competing needs of different applications?
To what degree can one application impact the performance of another?