Multi-tenancy

  • 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?