IEEE Spectrum November, 2015 - 54

Are You An
Electrical
Engineering
Student
Looking For An
Internship?

Look
No
Further!
We Have
Internship
Opportunities
for Students.
Visit us at:
www.AfterCollege.com/
IEEE_Internships

on different servers. So when a write
request arrives at a master, it updates
its information in DRAM and then forwards the new data on to several backup
RAMCloud servers. This need for replication explains why writing data takes
longer than reading it.
In addition to these general measures,
we had to solve two specific problems
to make RAMCloud's backup strategy
really bulletproof. The first was what
to do if a server loses power before it
has made backup copies. RAMCloud
deals with that possibility using a small
amount of nonvolatile memory on each
machine. When new data is written to
one machine, the backup machines associated with it collect that data temporarily in some form of fast but nonvolatile
memory. That could take the form of
battery-backed DRAM, for example.
These backups then write the data to disk
or flash in the background. Having the
data in fast nonvolatile memory at the
start ensures that the information can
be recovered if a power failure occurs
before the data is written to disk or flash.
The second problem is that a RAMCloud
cluster with thousands of servers will
inevitably experience frequent server
crashes. RAMCloud keeps only a single
copy of information in DRAM, so data
that was stored on a crashed server will
be unavailable until it can be reconstructed from information on the hard
disks (or flash memories) of its backups. If
all the crashed machine's data were held
on one other disk, it would take several
minutes to get it into working memory.
To avoid that long a delay, RAMCloud
scatters the backup data for each master across all of the other servers in the
cluster, which could amount to thousands of machines. After a crash, all
of those machines work in parallel
to reconstruct the lost data. With the
work spread among so many computers, RAMCloud can recover from server
failures in just 1 to 2 seconds-so fast that
most Web users wouldn't even notice.
although ramcloud is just a university

research project, our goal was to create
a production-quality system that can be
used for real applications. At the beginning
of last year, the system reached version
1.0: The basic features were in place, and
the software was mature enough for early

adopters to begin experiments. Since then,
several groups outside Stanford have
begun experimenting with RAMCloud's
open-source code, for such things as the
Distributed Main Memory Database project at telecom giant Huawei.
One possible impediment is that
RAMCloud does not support the relational
data model that dominates information
technology today. It does not provide the
convenient facilities of a relational database management system, so many applications would have to be reprogrammed
to use it. But that's perhaps not as big
an issue as it would appear. The applications for which RAMCloud would be most
advantageous haven't yet been written,
simply because there is no storage system
capable of supporting them.
So RAMCloud's early adopters are not
likely to be those using existing enterprise applications. Instead, the first users
will probably be developers who discover that today's storage systems are
just not fast enough to meet their needs.
These groups can design their applications around RAMCloud from the start,
and they should be more willing than
most to try it out. Desperate people are,
after all, the friend of new technology!
If RAMCloud proves successful with its
early adopters, it may not be long before it
spreads into the mainstream. RAMCloud
is a good match for cloud-computing data
centers such as Amazon Web Services,
Google Cloud, or Microsoft Windows
Azure. In such an environment, the cost
of a RAMCloud cluster could be amortized across many users, who could then
take advantage of high-speed storage at
very low cost, while retaining the ability to expand easily as their needs grow.
RAMCloud represents a new class of
storage that simultaneously achieves
vast capacity and low latency. It would
let something like a million CPU cores
within a data center work together on
data sets of 1 petabyte or more, where any
core can access any data item in 5 to 10 μs.
That's one-thousandth of the time it
typically takes now. So if you're already
impressed by the speed and power of
today's large-scale Web applications, fasten your seat belt and get ready for even
bigger thrills in the future. n
post your comments at http://spectrum.
ieee.org/ramcloud1115


http://www.AfterCollege.com/ http://spectrum http://www.ieee.org/ramcloud1115

Table of Contents for the Digital Edition of IEEE Spectrum November, 2015

IEEE Spectrum November, 2015 - Cover1
IEEE Spectrum November, 2015 - Cover2
IEEE Spectrum November, 2015 - 1
IEEE Spectrum November, 2015 - 2
IEEE Spectrum November, 2015 - 3
IEEE Spectrum November, 2015 - 4
IEEE Spectrum November, 2015 - 5
IEEE Spectrum November, 2015 - 6
IEEE Spectrum November, 2015 - 7
IEEE Spectrum November, 2015 - 8
IEEE Spectrum November, 2015 - 9
IEEE Spectrum November, 2015 - 10
IEEE Spectrum November, 2015 - 11
IEEE Spectrum November, 2015 - 12
IEEE Spectrum November, 2015 - 13
IEEE Spectrum November, 2015 - 14
IEEE Spectrum November, 2015 - 15
IEEE Spectrum November, 2015 - 16
IEEE Spectrum November, 2015 - 17
IEEE Spectrum November, 2015 - 18
IEEE Spectrum November, 2015 - 19
IEEE Spectrum November, 2015 - 20
IEEE Spectrum November, 2015 - 21
IEEE Spectrum November, 2015 - 22
IEEE Spectrum November, 2015 - 23
IEEE Spectrum November, 2015 - 24
IEEE Spectrum November, 2015 - 25
IEEE Spectrum November, 2015 - 26
IEEE Spectrum November, 2015 - 27
IEEE Spectrum November, 2015 - 28
IEEE Spectrum November, 2015 - 29
IEEE Spectrum November, 2015 - 30
IEEE Spectrum November, 2015 - 31
IEEE Spectrum November, 2015 - 32
IEEE Spectrum November, 2015 - 33
IEEE Spectrum November, 2015 - 34
IEEE Spectrum November, 2015 - 35
IEEE Spectrum November, 2015 - 36
IEEE Spectrum November, 2015 - 37
IEEE Spectrum November, 2015 - 38
IEEE Spectrum November, 2015 - 39
IEEE Spectrum November, 2015 - 40
IEEE Spectrum November, 2015 - 41
IEEE Spectrum November, 2015 - 42
IEEE Spectrum November, 2015 - 43
IEEE Spectrum November, 2015 - 44
IEEE Spectrum November, 2015 - 45
IEEE Spectrum November, 2015 - 46
IEEE Spectrum November, 2015 - 47
IEEE Spectrum November, 2015 - 48
IEEE Spectrum November, 2015 - 49
IEEE Spectrum November, 2015 - 50
IEEE Spectrum November, 2015 - 51
IEEE Spectrum November, 2015 - 52
IEEE Spectrum November, 2015 - 53
IEEE Spectrum November, 2015 - 54
IEEE Spectrum November, 2015 - 55
IEEE Spectrum November, 2015 - 56
IEEE Spectrum November, 2015 - 57
IEEE Spectrum November, 2015 - 58
IEEE Spectrum November, 2015 - 59
IEEE Spectrum November, 2015 - 60
IEEE Spectrum November, 2015 - 61
IEEE Spectrum November, 2015 - 62
IEEE Spectrum November, 2015 - 63
IEEE Spectrum November, 2015 - 64
IEEE Spectrum November, 2015 - 65
IEEE Spectrum November, 2015 - 66
IEEE Spectrum November, 2015 - 67
IEEE Spectrum November, 2015 - 68
IEEE Spectrum November, 2015 - 69
IEEE Spectrum November, 2015 - 70
IEEE Spectrum November, 2015 - 71
IEEE Spectrum November, 2015 - 72
IEEE Spectrum November, 2015 - 73
IEEE Spectrum November, 2015 - 74
IEEE Spectrum November, 2015 - 75
IEEE Spectrum November, 2015 - 76
IEEE Spectrum November, 2015 - Cover3
IEEE Spectrum November, 2015 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1017
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0917
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0817
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0717
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0617
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0517
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0417
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0317
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1016
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0916
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0816
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0716
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0616
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0516
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0416
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0316
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1015
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0915
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0815
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0715
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0615
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0515
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0415
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0315
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1014
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0914
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0814
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0714
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0614
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0514
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0414
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0314
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1013
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0913
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0813
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0713
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0613
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0513
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0413
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0313
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1012
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0912
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0812
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0712
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0612
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0512
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0412
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0312
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1011
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0911
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0811
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0711
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0611
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0511
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0411
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0311
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1010
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0910
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0810
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0710
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0610
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0510
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0410
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0310
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1009
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0909
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0809
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0709
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0609
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0509
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0409
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0309
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1008
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0908
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0808
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0708
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0608
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0508
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0408
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0308
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1107
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1007
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0907
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0807
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0707
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0607
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0507
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0407
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0307
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0107
https://www.nxtbookmedia.com