Why the end of Optane is bad news for all IT
- Reference: 1659360866
- News link: https://www.theregister.co.uk/2022/08/01/optane_intel_cancellation/
- Source link:
The influence of ideas from the late 1960s and early 1970s is now so pervasive that almost nobody can imagine anything else, and the best ideas from the following generation are mostly forgotten.
Optane presented a radical, transformative technology but because of this legacy view, this technical debt, few in the industry realized just how radical Optane was. And so it bombed.
[1]
To get to the heart of this, let's step back for a long moment and ask, what is the primary function of a computer file?
[2]
[3]
The first computers didn't have file systems. The giant machines of the 1940s and 1950s, built from tens of thousands of thermionic valves, only had a few words of memory. At first, programs were entered by physically wiring them into the computer by hand: only the data was in memory. The program ran, and printed out some results.
As capacities grew and we arrived at the von Neumann architecture in which the computer program is stored alongside the data in the same memory. In some early machines, that "memory" was magnetic storage: a spinning [4]drum .
[5]
To get it into the memory, it was read off paper: punch cards, or paper tape. When computer memories got big enough to store several programs at once, operating systems appeared: programs that managed other programs.
Still no file systems, though. There was RAM and there was I/O: printers, terminals, card readers and so on, but all the storage directly accessible to the computer was memory. In the 1960s, memory often meant [6]magnetic core storage , which had one great advantage that's sometimes forgotten now: When you turned the computer off, whatever was in core store stayed there. Turn the computer back on, and its last program was still there.
Around this time, [7]the first hard disk drives started to appear: expensive, relatively slow, but huge compared to working memory. The early operating systems were given another job: the problem of managing that vast secondary storage. Indexing its contents, finding those sections that were wanted and loading them into working memory.
Two levels of storage
Once operating systems started managing disk drives, a distinction appeared: primary and secondary storage . Both directly accessible to the computer, not loaded and unloaded by a human operator like reels of paper tape or decks of punched cards. Primary storage appears right in the processor's memory map, and every individual word is directly readable or writable.
Secondary storage is a bigger, much slower, pool that the processor can't directly see, and can only access by requesting, or sending, whole blocks to another device, a disk controller, which fetches the contents of the specified blocks from a big pool of storage, or places them into that pool.
[8]
This split continued down into the eight-bit microcomputers of the 1970s and 1980s. The author fondly remembers attaching a [9]ZX Microdrive to his 48K ZX Spectrum . Suddenly, my Spectrum had secondary storage. The Spectrum's Z80 CPU had a 64kB memory map, of which a quarter was ROM. Each Microdrive cartridge, even though it was just 100kB or so, could store about twice the machine's entire usable memory. So there had to be a level of indirection: it was impossible to load the whole cartridge's contents into memory.
It wouldn't fit. So cartridges had an index, and then named blocks containing BASIC code, or machine code, or screen images, or data files.
Since microcomputers, we still call primary storage "RAM" and we still call secondary storage "disks" or "drives", even though in many modern end-user computers, it's all just different types of electronics with no moving parts or separate media.
You start the computer by loading an OS from "disk" into RAM. Then, when you want to use a program, the OS loads it from "disk" into RAM, and then that program probably loads some data from disk into RAM. Even if it's a Chromebook and it doesn't have any other local apps, its single app loads data from another computer over the internet, which loads it from disk into RAM and then sends it to the laptop.
[10]Why Intel killed its Optane memory business
[11]Intel experiences another kind of meltdown
[12]Samsung and Intel bosses discuss silicon cooperation
[13]Intel targets cryptocurrency mining, networks, and more with Agilex M-Series FPGAs
Since UNIX was first written in 1969, this has become a mantra: "Everything is a file." Unix-like OSes use the file system for all kinds of things that aren't files: access to the machine is governed by metadata on files, I/O devices are accessed as if they were files, you can play sounds by "copying" them to a sound device, and so on. Since UNIX V8 in 1984, there's even a fake file system, called /proc , that displays information about the memory and processes of the running system by generating pretend files that users and programs can read, and in some cases write.
Files are a powerful metaphor of sorts, which have proved versatile to a degree unimaginable in 1969, when Unix was written on a minicomputer with a maximum of 64k words of memory and no sound, graphics or networking. Files are ubiquitous now.
But files, and file systems, were only a crutch.
The concept of the "computer file" was invented because memory was too expensive, too big, and too slow. The only way to attach millions of words of storage to a 1960s mainframe was a disk drive the size of a filing cabinet, and too much storage to fit into the computer's memory map.
So instead, mainframe companies designed disk controllers, and built a form of database into the OS. Imagine, for instance, a payroll program, maybe only a few thousand words in size, that could handle a file for tens of thousands of employees, by doing it in tiny chunks: read a row from the personnel file, and a row from the salaries file, compute a result, and write a row to the paycheck file, then repeat. The OS checks the indexes and converts this into instructions to the disk controller: "here, fetch block 47 track 52, head 12, sector 34, and block 57 from track 4, head 7, sector 65… now, write 74.32 into this block…"
SSDs appeared in the 1990s, and by the first decade of this century they were getting affordable. SSDs replace magnetic storage with electronic storage, but it's still secondary storage. SSDs pretend to be disk drives: the computer talks to a disk controller, and sends and receives sectors, and the drive converts them and shuffles around blocks of storage which can only be erased in chunks, typically of a megabytes or more, to emulate hard-disk-style functionality that writes 512-byte sectors.
The trouble is, flash memory has to be accessed this way. It's too slow to be mapped directly into the computer's memory, and it's impossible to rewrite flash byte-by-byte. In order to modify a byte in a block of flash, the rest of contents of that whole block must be copied elsewhere, and then a whole block wiped. This is not how computers' memory controllers work.
The future was here… but it's gone
Optane made it possible to eliminate that. Like core store, it is working memory: primary storage. Optane kit is as big and as cheap as disk drives. It shipped in the hundreds of gigabytes size range, the same sort of size of a modest SSD, but it could be fitted directly into a motherboard's DIMM slots. Every byte appeared right there in the processor's memory map, and every byte could be rewritten directly. No shuffling around blocks to erase them, like flash. And it supports millions of write cycles, rather than tens of thousands.
Many hundreds of gigs, even terabytes, of dynamic non-volatile storage, thousands of times faster and thousands of times more robust than flash memory. Not secondary storage on the other side of a disk controller, but right there in the memory map.
Not infinitely rewritable, no. So your computer needs some RAM as well, for holding variables and fast-changing data. But instead of "loading" programs from "disk" into "RAM" every time you want to use them, a program loads once, and then it's there in memory forever, no matter if there's a power cut, no matter if you turn your computer off for a week's holiday. Turn it back on, and all your apps are still right there in memory.
No more installing OSes, no more booting up. No more apps. The OS sits in memory all the time, and so do your apps. And if you have a terabyte or two of nonvolatile memory in your computer, what do you need SSDs for? It's all just memory. One small section is fast and infinitely rewritable, but its contents disappear when the power goes. The other 95 per cent holds its contents forever.
Sure, if the box is a server, you can have some spinning disks so you can manage petabytes of data. Data centers need that, but very few personal computers do.
Linux, of course, supported this. This particular vulture wrote the documentation for how to use it on a prominent enterprise distro. But Linux being Linux, everything must be a file, so it supported it by partitioning it and formatting it with a filesystem. Using primary storage to emulate secondary storage, in software.
No current mainstream OS understands the concept of a computer that only has primary storage, no secondary storage at all, but it's split between a small volatile section and a large nonvolatile section. It's hard to even describe it to people familiar with how current computers work. I have [14]tried .
How do you find a program to run if there are no directories? How do you save stuff, if there's nowhere to save it to? How do you compile code, when there is no way to #include one file into another because there are no files, and where does the resulting binary go?
There are ideas out there for how to do this. The Reg [15]wrote about one of them 13 years ago. There is also [16]Twizzler , a research project investigating how to make it look enough like a Unix system for existing software to use it. When a [17]lab boffin at HP invented the memristor , HP [18]got very excited and [19]came up with some big plans … but it takes a long time to bring a new technology to the mass market, and eventually, [20]HP gave up .
But Intel made it work, produced this stuff, put it on the market… and not enough people were interested, and now it is giving up, too.
The future was here, but when viewed through the blurry scratched old lenses of 1960s minicomputer OS design, well – if everything is a file, this Optane was just a sort of really fast disk drive, right?
No, it wasn't. It was the biggest step forward since the minicomputer. But we blew it.
Goodbye, Optane. We hardly knew you. ®
Get our [21]Tech Resources
[1] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/storage&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Yuf4shOdCV3a6-m74BgSIAAAAA4&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/storage&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Yuf4shOdCV3a6-m74BgSIAAAAA4&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/storage&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Yuf4shOdCV3a6-m74BgSIAAAAA4&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[4] https://www.cs.utah.edu/~elb/folklore/mel.html
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/storage&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Yuf4shOdCV3a6-m74BgSIAAAAA4&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[6] https://www.theregister.com/2014/04/07/ibm_s_360_50_anniversary/?page=3
[7] https://www.theregister.com/2011/09/16/ramac_55_year_anniversary/
[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_onprem/storage&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Yuf4shOdCV3a6-m74BgSIAAAAA4&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[9] https://www.theregister.com/2013/03/13/feature_the_sinclair_zx_microdrive_story/
[10] https://www.theregister.com/2022/07/29/intel_optane_memory_dead/
[11] https://www.theregister.com/2022/07/29/intel_q2_earnings/
[12] https://www.theregister.com/2022/05/31/samsung_intel_ceo_meeting/
[13] https://www.theregister.com/2022/03/07/intel_agilex_fpga/
[14] https://archive.fosdem.org/2021/schedule/event/new_type_of_computer/
[15] https://www.theregister.com/2009/02/03/phantom_russian_os/
[16] https://twizzler.io/
[17] https://www.theregister.com/2010/04/08/hp_memristor/
[18] https://www.theregister.com/2014/06/11/hp_memristor_the_machine/
[19] https://www.theregister.com/2016/11/24/hpes_machinations_to_rewrite_server_design_laws/
[20] https://www.theregister.com/2016/11/29/hp_labs_delivered_machine_proof_of_concept_prototype_but_machine_product_is_no_more/
[21] https://whitepapers.theregister.com/
Optane was a big idea but it wasn't a good one.
Adding another layer of memory just introduced another layer of complexity - and a pretty massive one at that - for at best marginal value. All the while the inexorable progress of RAM, SSDs and distributed computing pinched out and then quickly obliterated the niche Optane was meant to occupy.
Farewell Optane, you won't really be missed. You never really existed.
It probably was a good idea. It just wasn't useful enough. To make it useful it would have needed a big change in OS design. Without that the niche didn't really exist.
>It probably was a good idea. It just wasn't useful enough.
Labeling things falling into this category "not good ideas" is a hill I am happy to die on. After all, every idea has some merit.
This one just didn't have very much in the real world.
The thing about files is that the provide pieces of storage with a purpose.
This collection of bytes is a cat picture, that is a letter and the one over there is a spreadsheet. I want to delete the cat picture and email the letter (or vice versa). Even as regards programs, this is the desktop manager and is in use pretty well all the time. That' one is dia and I only use it every few weeks or even months when I need to edit a diagram. By allocating names to them we're able to manage them.
Files are an essential part of managing data. Even without secondary storage we had files. They were boxes of cards or (probably) card images on tape.
One thing may be data files...
... but application files could be handled different.
Optane could keep the OS and applications "in memory" as some old computer did with them in ROM. Remember when you turned on a Spectrum or Commodore? It didn't need to "load the OS from disk" - the OS was already there. Some had applications too. Their limitation was it was ROM, so not changeable - Optane would sill allow to update the OS and applications, and load new ones.
Of course it becomes a different space and the old load/execute workflow is no longer useful. It becomes just a matter of mapping virtual addresses to memory addresses for execution. Because of that probably you need also security protections like those designed again forty years ago that allowed Intel CPU to have executable memory that was not readable by applications, and not writable. Again, ignored by OS designed for older CPU designs.
I agree with the author that IT made a great leap backwards in the past twenty years. People started stubbornly to look back instead of forward. Unluckily Unix was what was used in most academic institutions instead of more commercial oriented-systems like VMS - so most people wanted that and are still stuck in the 1970s - and its mantras - most of which really outdated today.
Insane
The power of Optane, that nobody seems to be talking about, was the ability to access small files with magnitude lower latency than regular SSDs.
Tasks that were I/O bound because required an access to large number of small files were on the next level more performant.
A laptop with an average CPU but equipped with Optane memory (I am talking about full Optane storage, not a regular SSD with Optane cache), could smoke a beefy desktop workstation (provided it didn't run Optane too ;-) ).
Re: Insane
In a way, I think Optane was a good idea poorly timed.
Ten years ago we all had spinning disks in our laptops and how transformative it was to replace the spinning disk with an SSD five years or so ago. Workloads had been disk-bound for decades while everything else on the system got orders of magnitude faster; suddenly, storage caught up several orders of magnitude. For most people, most of the time, their systems are now fast enough for their needs. Most people now look at their laptop and see how much slicker it is than five or seven years ago; the idea that storage could improve by another order of magnitude just doesn't hold that much attraction. If we'd had another ten years to get used to SSDs, we might be feeling the limits a bit more and faster storage would be more attractive.
To interact a bit with the author's ideas, they write this as though we could have jumped straight back to a 1960s paradigm because Octane appeared. Never mind that back then software amounted to hundreds of bytes and running a programme was expected to take hours or days; the idea of having more than one programme running at once simply didn't make sense to people then. Attacking the filesystem as an abstraction for managing storage is all very well, but unless your software is going to go back to being a single process of a few hundred bytes, you have to have *some* sort of abstraction for managing it. No-one really seems to have done any work towards figuring out what that abstraction could be. Saying you just install an application into primary memory and run it from there, where it maintains its state forever is all very well; how does that work if you want to run two copies of the same piece of software? If your answer is to separate data from code and have multiple copies of the data, how do you tell your computer to run a new one or pick up an old one? There is a new category of thing that is persistent process memory; how do you identify and refer to that thing? How does that model even work for something like a compiler, where you feed it a file and it produces another file in output? Is persistent state even useful there? If not, how does the abstraction work?
Re: Insane
>The power of Optane, that nobody seems to be talking about, was the ability to access small files with magnitude lower latency than regular SSDs.
Probably because this is a surprisingly small niche. If you're in this scenario with enough files to slow down an SSD you're already into unusual territory, and most often you'd be better served by compacting the files than you would introducing the magic go-faster layer Intel wanted you to buy. Which is exactly what happens in most of these circumstances these days.
Desktops already boot in seconds. We're deep into diminishing returns territory, which is why client space never adopted Optane.
Server land is far better served by the compaction route, which brings additional benefits in terms of improving compression efficiency and far superior TCO.
One foot in the past
> But Intel made it work, produced this stuff, put it on the market… and not enough people were interested
For all its supposed innovation and speed of new products (some of which actually work), the world of IT is actually quite conservative. It only likes change if that takes it further in the direction it is already going.
So the 8086 architecture was extended, embiggened and sped-up. But even a 5GHz i9 processor boots itself in 16-bit real mode. You might even (I haven't tried) get it to run code from the 1970s.
I would expect that it is impossible for hardware to make the break for the same reasons there is still COBOL being written today. The cost of radical change is just too high,
Drums
Apropos of not much
In the late 1950s, before there were disks, there were (a few) magnetic drums. The idea was to mount read/write heads for a row of bits -- typically a CPU word width of them plus a parity bit, then rapidly rotate a magnetic drum under them. Expensive. But quite reliable. Quite fast if the drum happened to be near the area one wanted to access. Sometimes, if you were very clever, you could make sure that happened and interleave drum access with computing. And they were easy to program -- feed the hardware a drum address, a buffer address and tell it whether to read or write. None of that moving heads, waiting, then waiting some more for the proper sector to appear that disks demanded. .. When the disks worked at all, which with the earliest units wasn't as often as one might like.
How big were they? It's been quite a few decades, but my memory says the USAF AN/FSQ7 computers had quite a few of them -- each with 4096 32 bit words. So, 16KB. Primarily, they were used to stage programs into memory in meticulously handcrafted pieces.
as cheap?
"Optane kit is as big and as cheap as disk drives."
Seems to be way off. A quick search indicates 128GB in 2019 was about $695 and 512GB was $7000.
If Optane was as cheap as drives it would of sold a lot more and Intel wouldn't be killing it. Augmenting a few hundred GB in a system obviously won't revolutionize storage in thr way the article implies. If the cost was cheap then all the storage could be replaced and moved to the "new" model of accessing storage.
I'm sure in the right application Optane had a place. The marketing people couldn't explain why I needed it, and I haven't found a use for it.
I'm not wholly convinced established organisational practises are wholly compatible with non-volatile RAM. Working copy of a document? Put it on a shared drive. Volatile copy actually being processed? Put it in local RAM.
A non-volatile, non-shared resource's purpose is somewhat unclear; beyond trying to accelerate boot times. Chucking "RAM" up as shared resources to a server cluster might have uses. But then you're limited by the network interconnect; so no advantage particularly to having your storage on the RAM bus.
What does booting from Optane do that booting from a solid state disk over a decent interface doesn't do? RAM bus speed advantage over PCI-express I suppose. Even PCI-express3 has enormous bandwidth of course.
Security concerns for persistent RAM are also a thing. The idea that RAM could be a place where malware could reside, persistent through even a complete power cycle is slightly disturbing for some applications.
So, yes, well done for Intel for trying new ideas, but they need to be able to explain why someone might want one for it to stick.
Re:- “Drums”
Some decades ago, a mate of mine told me a tale of when he worked at NPL in Teddington.
They had a very heavy, vertically mounted storage “disk”, much like a UPS centrifuge wheel (anyone remember them?). Apparently it had to rotate during the day, something to do with the Earths movement.
Anyway, one day it came loose, spun off the axle, zoomed across the computer suite (remember them?), bashed through a door, down the steps and into Teddington park.
At least that’s what he told me.
Solution seeking problem
Like many cool things... if the first step is 'change everything': you've failed.
Successful technology improves upon the previous generations or layers in a way that acknowledges the technical history and keeps the old stuff working. See also: Windows backwards compatibility (yes, yes - they seem to have lost their way here a bit... but it built an empire for sure). Unsuccessful technology asks you to first change everything and do something a new way. See also: IPV6.
The later _can_ work... but it has to be pretty damn compelling.
But it's not new
The concept of Optane as a second layer of memory had been tried before, and hasn't been successful each time it has been reinvented. It had only a niche appeal for a number of reasons.
And remember - it was cleared every time you rebooted. No storing stuff across boots. That could be a security issue, and you might not reboot the same OS and application right away, say if there was a failure in the node. You could end up with obsolete data you'd have to clear anyway.
It's both the idea and the implementation that have to work. Not the case here.
Intel are the problem
There are a number of things here.
It was developed by Intel, they have not got a clue how to talk to people, so they dumb stuff down and sell Optane as hard disk replacement (this is the first time I have seen a proper explanation of what was intended). They over promise (I remember 1000x faster that current disks). They develop stuff so slowly (discrete graphics cards anyone) they get bypassed by more mature technology by the time they get it to market (NAND just got faster and cheaper, they just had an SSD that had no USP) and the DIMM stuff just didn't turn up any time soon, was almost as expensive as RAM (which keeps dropping in price) and only ones that could afford it were enterprise and they didn't see the benefit of persistent middle tier storage that complicated things as servers are always on. They were the only ones selling it.
If they could have been at least price competitive with or at least 5x faster that NAND then they may have been able to make a case for it, or licenced it out to HP on the cheap to develop systems to support it say alongside SAP or some of those big Oak ridge super computers, no wait they screwed that relationship with Itanium another good idea looking for a problem to solve.
Amazing... But also a bit stupid
It's of course an amazing thing. But putting hardware on the market without a clear way towards using that hardware is rather dumb. You can't expect all abstractions to change immediately just because your have this REALLY COOL THING.
It was always going to bomb.