...
RAMCloud is also interesting from a research standpoint. Its two most important attributes are latency and scale. The first goal is to provide the lowest possible end-to-end latency for applications accessing the system from within the same datacenter. We currently achieve latencies of around 5μs for reads and 15μs for writes, but hope to improve these in the future. In addition, the system must scale, since no single machine can store enough DRAM to meet the needs of large-scale applications. We have designed RAMCloud to support at least 10,000 storage servers; the system must automatically manage all the information across the servers, so that clients do not need to deal with any distributed systems issues. The combination of latency and scale has created a large number of interesting research issues, such as how to ensure data durability without sacrificing the latency of reads and writes, how to take advantage of the scale of the system to recover very quickly after crashes, how to manage storage in DRAM, and how to provide higher-level features such as secondary indexes and multiple-object transactions without sacrificing the latency or scalability of the system. Our solutions to these problems are described in a series of technical papers.
The RAMCloud project is was based in the Department of Computer Science at Stanford University. The project is no longer active and the students working on RAMCloud have graduated, so we cannot provide support for anyone wishing to use RAMCloud.
Learning About RAMCloud
General information about RAMCloud, such as talks and papers. Much of the information here is related to the research aspects of the project, as opposed to information on how to use RAMCloud.
...
- clusterperf benchmarks (benchmarks run on a cluster to measure basic things such as read and write latency and throughput)
- How To Run Clusterperf
- Perf benchmarks (microbenchmarks measuring various low-level operations on a single machine, such as atomic increment)
- Performance Improvement Log
- Recovery Performance Benchmark
- Latency Patterns in Infiniband (talk by Alex ModkovichMordkovich, May 2012)
- RPC Latency Profile (the lifetime of a write operation, measured January 2012)
- SSD Experiments (July 2011)
- Redis vs. RAMCloud
- Older Performance Measurements
...
- General Information for Developers (how to get started as a RAMCloud developer)
- Build System Structure
- RAMCloud Tech Talks (Videos of RAMCloud developers describing the internals of various system components)
- Want to Contribute to RAMCloud? (notes for people who would like to contribute code to RAMCloud)
- Running Recoveries with recovery.py
- Coding Conventions
- Style Guide
- Documentation Guidelines
- Writing Unit Tests
- Amendments to Current Documentation and Testing Guidelines
- Software Design Philosophy – John Ousterhout's pet peeves
- How To Measure Performance: John's pet peeves (and ideas for a possible paper)
- RAMCloud C Style for EMACS
- Vim Settings
- Copyright Notice
- Mfence – x86 instructions for limiting instruction reordering
- Inside Concurrency Primitives
- Wireshark PluginDallyFastNetwork.pdf
- NetBeans IDE tips
- Measuring RAMCloud Performance
- Code review tool
- Phabricator code review tool
- Git repo: see General Information for Developers
- IRC channel: #ramcloud on freenode.
- See rcres for coordinating usage of RAMCloud cluster.
This is used to coordinate usage of the RAMCloud cluster. Anytime you are using the cluster you should be listening on this channel; if you don't respond to comments on the channel, your jobs may be killed. - Transcripts of this channel may be found here
- See rcres for coordinating usage of RAMCloud cluster.
- RAMCloud Cluster Resource manager (rcres) : rcres is a shell command available on the "rcmaster" machine of the RAMCloud cluster. Any time you are using the cluster you should ensure that you lease the machines you are using using rcres.
- Dumpstr tool for viewing reports (mostly performance data)
- Documentation, generated nightly from the source code
...
- Distributed Systems Reading Group
- Team Members
- Group Photos
- Lunch Ideas
- Current Applications (applications that are using RAMCloud or considering it)
- SEDCL/PlatformLab Retreat - Industrial Feedback
- Server Prices: sample server configurations and prices
- Memory Prices
- Interesting Statistics
- Old Miscellaneous Topics
- New Cluster Wishlist