IEEE Spectrum November, 2013 - 13

AmD

MultiCoRE MEMoRy: More processor cores-
this AMD Opteron has six-means the computer has
a harder time managing how memory moves into and
out of the processor's cache.

ory banks (which can stretch their limits).
Moreover, CPUs have no higher-level knowledge of the kinds of jobs they're doing. This
means a self-contained numerical simulation with complex equations but little need
for memory access would run with exactly
the same cache resources as would a graph
search, a memory-hogging hunt for relationships between stored data.
So Sanchez and his graduate student
Nathan Beckmann thought, Why not let
the OS trim the cache size for pure computation and swell its ranks for graph search?

in with the OS, that the researchers call
Peekahead. This module was adapted from
the Lookahead Cache, developed more than
a decade ago by Beijing computer scientists.
Peekahead computes the best configuration of CPU caches based on the upcoming
jobs it expects the cores to do in the coming clock cycles.
"When you let software be in charge, you
have to be careful of your overhead," Sanchez
says. A poorly designed cache management
system, he says, might trim the cache to its
optimum size and do it again every fraction
of a second. But doing so taxes the CPU. And
what's the point of a CPU efficiency algorithm
that requires extraordinary amounts of CPU
time? "The exact solution is really expensive.
So we have to come up with a quick way of
getting the job done so that the overhead
doesn't negate the gains you get," he says.
Linley Gwennap of the Linley Group, a
semiconductor consulting firm based in
Mountain View, Calif., says he's impressed
with Jigsaw but cautions that it's not quite
ready for chip-fab prime time. "The problem
is generally that a scheme that's effective
on one processor may not be effective on
another processor with a different hardware
design," he says. "Every time the processor
changes, you have to redo your software,
which customers generally don't like."
Sanchez counters that software applications and utilities would remain unaffected
by Jigsaw. "Only the operating system code
needs to be aware of that intimate knowlThe first step, they say, would be to give
perhaps 1 percent of the CPU's footprint to
edge of the hardware, like the topology of
a simple piece of hardware that could moni- the different portions of the cache," he says.
tor in real time the cache activity in each
Jason Mars, an assistant professor of comcore. Hardware cache monitors would give
puter science at the University of Michigan,
Jigsaw the independent oversight it would
says Jigsaw works well as a proof of concept,
need to play air traffic controller with the which he says chipmakers might adapt as
CPU's caches.
they see fit.
Second, Sanchez and Beckmann say, the
"The crisp novelty in this work has to do
OS's kernel needs at most a few thousand with the codesign between hardware and
more lines of code. That's not much of an
software," Mars says. "Much of the prior
addition, considering that Linux's kernel work was biased in one direction. More was
in 2012 weighed in with 15 million lines and
expected to be done in hardware, and there
Apple's and Microsoft's kernels unofficially was a little bit less flexibility. Jigsaw really...
contained tens of millions more than that.
builds a holistic system that spans both the
One of Jigsaw's more prominent fea- hardware and the software."
tures is a software module, to be folded -m a r k a nder son

nEwS

SPECTRUM.IEEE.ORG

|

nORTh aMERICan

|

nOV 2013

|

13


http://SPECTRUM.IEEE.ORG

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

IEEE Spectrum November, 2013 - Cover1
IEEE Spectrum November, 2013 - Cover2
IEEE Spectrum November, 2013 - 1
IEEE Spectrum November, 2013 - 2
IEEE Spectrum November, 2013 - 3
IEEE Spectrum November, 2013 - 4
IEEE Spectrum November, 2013 - 5
IEEE Spectrum November, 2013 - 6
IEEE Spectrum November, 2013 - 7
IEEE Spectrum November, 2013 - 8
IEEE Spectrum November, 2013 - 9
IEEE Spectrum November, 2013 - 10
IEEE Spectrum November, 2013 - 11
IEEE Spectrum November, 2013 - 12
IEEE Spectrum November, 2013 - 13
IEEE Spectrum November, 2013 - 14
IEEE Spectrum November, 2013 - 15
IEEE Spectrum November, 2013 - 16
IEEE Spectrum November, 2013 - 17
IEEE Spectrum November, 2013 - 18
IEEE Spectrum November, 2013 - 19
IEEE Spectrum November, 2013 - 20
IEEE Spectrum November, 2013 - 21
IEEE Spectrum November, 2013 - 22
IEEE Spectrum November, 2013 - 23
IEEE Spectrum November, 2013 - 24
IEEE Spectrum November, 2013 - 25
IEEE Spectrum November, 2013 - 26
IEEE Spectrum November, 2013 - 27
IEEE Spectrum November, 2013 - 28
IEEE Spectrum November, 2013 - 29
IEEE Spectrum November, 2013 - 30
IEEE Spectrum November, 2013 - 31
IEEE Spectrum November, 2013 - 32
IEEE Spectrum November, 2013 - 33
IEEE Spectrum November, 2013 - 34
IEEE Spectrum November, 2013 - 35
IEEE Spectrum November, 2013 - 36
IEEE Spectrum November, 2013 - 37
IEEE Spectrum November, 2013 - 38
IEEE Spectrum November, 2013 - 39
IEEE Spectrum November, 2013 - 40
IEEE Spectrum November, 2013 - 41
IEEE Spectrum November, 2013 - 42
IEEE Spectrum November, 2013 - 43
IEEE Spectrum November, 2013 - 44
IEEE Spectrum November, 2013 - 45
IEEE Spectrum November, 2013 - 46
IEEE Spectrum November, 2013 - 47
IEEE Spectrum November, 2013 - 48
IEEE Spectrum November, 2013 - 49
IEEE Spectrum November, 2013 - 50
IEEE Spectrum November, 2013 - 51
IEEE Spectrum November, 2013 - 52
IEEE Spectrum November, 2013 - 53
IEEE Spectrum November, 2013 - 54
IEEE Spectrum November, 2013 - 55
IEEE Spectrum November, 2013 - 56
IEEE Spectrum November, 2013 - 57
IEEE Spectrum November, 2013 - 58
IEEE Spectrum November, 2013 - 59
IEEE Spectrum November, 2013 - 60
IEEE Spectrum November, 2013 - 61
IEEE Spectrum November, 2013 - 62
IEEE Spectrum November, 2013 - 63
IEEE Spectrum November, 2013 - 64
IEEE Spectrum November, 2013 - 65
IEEE Spectrum November, 2013 - 66
IEEE Spectrum November, 2013 - 67
IEEE Spectrum November, 2013 - 68
IEEE Spectrum November, 2013 - 69
IEEE Spectrum November, 2013 - 70
IEEE Spectrum November, 2013 - 71
IEEE Spectrum November, 2013 - 72
IEEE Spectrum November, 2013 - 73
IEEE Spectrum November, 2013 - 74
IEEE Spectrum November, 2013 - 75
IEEE Spectrum November, 2013 - 76
IEEE Spectrum November, 2013 - 77
IEEE Spectrum November, 2013 - 78
IEEE Spectrum November, 2013 - 79
IEEE Spectrum November, 2013 - 80
IEEE Spectrum November, 2013 - 81
IEEE Spectrum November, 2013 - 82
IEEE Spectrum November, 2013 - 83
IEEE Spectrum November, 2013 - 84
IEEE Spectrum November, 2013 - Cover3
IEEE Spectrum November, 2013 - 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