

Steve Wozniak's FusionIO: 1 Billion IOPS with software improvement - sp332
https://www.theverge.com/2012/1/6/2686627/fusion-io-one-billion-iops

======
WiseWeasel
So it apparently makes their custom flash storage behave like RAM, and
provides an API to OS and software developers to make use of it as such, but
it's non-volatile, so everything persists in the case of power failure or
reboot. Here's an informative quote from Wozniak from the press release:

" _Instead of treating flash like storage, where data passes through all of
the OS kernel subsystems that were built and optimized for traditional
storage, our core ioMemory technology offers a platform with new programming
primitives that can provide system and application developers direct access to
non-volatile memory._ "

[http://www.fusionio.com/press-releases/fusion-io-breaks-
one-...](http://www.fusionio.com/press-releases/fusion-io-breaks-one-billion-
iops-barrier/)

Here's hoping the _other_ company by which he's still nominally employed gets
interested in this technology, so that many more can enjoy the benefits of
this technology. It seems like storage is the main bottleneck for most
computing these days, so this should save us a whole lot of man-years waiting
for our computers.

~~~
hristov
I am not sure this is exactly it (or perhaps I am misunderstanding your post).
With present technology you simply cannot replace RAM with flash. Flash is
still much slower to write than RAM. They have achieved very high throughput
by using mass parallelism but I am sure that each individual cell writes just
as slowly as it used to before.

I think their innovation is not to replace RAM with flash but to have flash
automatically mirror a range of RAM. Thus, using their software you can
designate an area of RAM to be mirrored or backed up if you will, and what
ever you do with that area of RAM, the fusion IO software will save it and try
to have an area of flash that is the exact mirror of your area of RAM.

Thus, when you are doing programming you can simply work in RAM without having
to worry about saving your data, or writing to a file, etc. The fusion IO will
make sure it saves your state so that if you lose power your program can
restart from the latest RAM snapshot that was saved in flash.

It will probably work, but it seems like something that would be mostly useful
in very expensive systems with very high failure resiliency requirements (such
as stock exchange systems). If you do not need super high failure resiliency,
it might be cheaper to just get one of those motherboards with an on board 12V
back up battery (i.e., the ones used by Google). I doubt this would be very
relevant for Apple.

~~~
joshu
No, but you could, say, have 16 gb of ram, 16gb of flash, and enough battery
to sync it if the power goes out.

------
powertower
That's 1 billion IOPS across 8 servers, each having 8 FusionIO cards.. So it's
15,625,000 IOPS.

Compared to an SSD that does 100,000 IOPS.

 _Each card seems to be a dual unit, not taking this into account as some SSD
pci cards are also like this._

~~~
wazoox
And these are 64 bytes IOs, not that much representative of any workload I can
think of. All in all, more a PR stunt than anything else. 8KB IOs are what
counts, generally; 1 billion 8KB IOPS needs a terrific bandwidth of 8 TB/s...

------
tmurray
Does anyone know what this improvement actually is? The article makes it sound
like their card is doing DMA to pinned user allocations, but that doesn't
sound too revolutionary. I know next to nothing about storage controllers, but
see the last many years of high-speed networking for an entire ecosystem based
around that concept.

~~~
wmf
OS bypass hasn't really been done for storage, so that's new in some sense.

~~~
4ad
It has been done since forever.

------
spydum
We have immensely powerful systems today, but it would seem the levels of
abstraction and libraries add overhead (just how much? I don't know). I wonder
how things like BareMetal (<http://www.returninfinity.com/baremetal.html>)
would shake things up? Strip away those layers, and get back to damn near bare
metal. Seems to be the magic here: they skipped all the abstraction, and are
allowing direct access to the storage (I have to imagine, it's massively
parallel as well).

------
ww520
Steve Wozniak is a true hacker. Kudos for the achievement.

~~~
wmf
Is there any evidence that Woz did anything here?

~~~
radicaldreamer
No, Woz is an investor in Fusion I/O from before they went public. It's
unclear what he does/did on the product side.

~~~
gnarbarian
My buddy works there. He says Woz' main contribution is marketing :P

------
nutjob123
OCZ makes pci express ssd's which claim very high speeds. They seem to be
similar in theory to what Woz is doing. Does anyone have any experience using
them? Here is a link [http://www.ocztechnology.com/ocz-revodrive-3-x2-pci-
express-...](http://www.ocztechnology.com/ocz-revodrive-3-x2-pci-express-
ssd.html)

------
rbranson
1 billion 64-byte IOPS = 64GB/sec

DDR3-1333 DRAM = 10.6GB/sec

I'll have the grain of salt, please.

~~~
WiseWeasel
From the presentation: "128 memory modules, in eight different servers,
running an aggregate of a billion IOPS, 64byte cache accesses."

So "only" 7.5GB/sec (125,000,000 * 64 / 1024^3), or about 60Gbit/s per server,
with 16 modules per server. Still fairly respectable by storage standards, at
about ten times the theoretical max for SATA III of 6Gbit/s.

------
christkv
anybody got any recommendations on how to write IO code for SSD's vs Spinning
media ? Are there any good file systems optimized for SSD ?

------
chargrilled
As an aside, I randomly bumped in to Steve Wozniak while in San Francisco and
he's a really nice guy.

------
rbanffy
I have a strong feeling that just by having Woz around, the software got
faster spontaneously ;-)

