HPE Unveils The Machine, a Single-Memory Computer Capable of Addressing 160 Terabytes (venturebeat.com)
An anonymous reader quotes a report from VentureBeat: Hewlett Packard Enterprise announced what it is calling a big breakthrough -- creating a prototype of a computer with a single bank of memory that can process enormous amounts of information. The computer, known as The Machine, is a custom-built device made for the era of big data. HPE said it has created the world's largest single-memory computer. The R&D program is the largest in the history of HPE, the former enterprise division of HP that split apart from the consumer-focused division. If the project works, it could be transformative for society. But it is no small effort, as it could require a whole new kind of software. The prototype unveiled today contains 160 terabytes (TB) of memory, capable of simultaneously working with the data held in every book in the Library of Congress five times over -- or approximately 160 million books. It has never been possible to hold and manipulate whole data sets of this size in a single-memory system, and this is just a glimpse of the immense potential of Memory-Driven Computing, HPE said. Based on the current prototype, HPE expects the architecture could easily scale to an exabyte-scale single-memory system and, beyond that, to a nearly limitless pool of memory -- 4,096 yottabytes. For context, that is 250,000 times the entire digital universe today.
That's the first question. The second, is this like 10 years out? This sounds exciting on the surface.
michaelgautier dot wordpress
> it could require a whole new kind of software.
Huh? You mean it not a von Neumann or Harvard architecture because the article doesn't lead me to _that_ conclusion:
So basically 4 TB / node. Is each node have independent memory or not?
Because they're going on and on about how it's going to be the best thing ever for Big Data... So...
Why couldn't they build "The Machine" for good instead?
I'll have to allocate an entire 1.6 TB drive for swap space.
It must have been something you assimilated. . . .
Then it's dead already. Unless it comes with some kind of magical recompiler.
160 TB...
32000 seconds or just under 9 hours at 40Gb/s assuming you have a storage array that can saturate that link.
I would wager to guess that each node lives in some subregion of the memory address. And that each OS instance (or one giant distributed OS) accesses all addresses uniformly.
It's certainly not infeasible even without memristor tech. But I wonder what benefits it has. The whole point of having localized nodes is to take advantage of the travel latency. Unless this is optimized specifically for embarrassingly parallel data feed-forward tasks, which even modern GPU workloads aren't anymore.
Huh? You mean it not a von Neumann or Harvard architecture because the article doesn't lead me to _that_ conclusion:
I think what HP means is that you no more have to compress/pack your database tuples into 4K-sized pages because they "just stay in memory". The same for other formerly-disk-based structures like B-trees and such. Also, changes in latencies on their own might change algorithm preferences massively.
Ezekiel 23:20
Into Zettabyte & Yottabyte range? They'll need new compilers (128-bit capable in whatever's used) is my guess.
See - I'm not sure there are 128-bit capable ones currently! C++11 std. doesn't even address it in compilers afaik.
(Yes, you can deal w/ 128-bit data but not "directly" in 1 chunk afaik but rather in specialized function registers in pieces)
FOR REFERENCE:
64 bit = 18,446,744,073,709,551,616 (16 Exabytes = 16* 1,024 to 6th power) addressable memory range. 160 terabytes (TB = 1,024 to 4th power) of memory in this prototype.
APK
P.S.=> Correct me where I'm 'off'/wrong here boys... apk
Maybe.
160 TB of RAM ought to be enough for anybody
It seems to imply more than just persistent memory, though. It sounds like they're distributing processors in the data-path of the connected memory. Instead of the OS determining which context to put on a CPU and fetching the necessary data from memory/disk, the context and code will be decided by what data resides in memory that is closest to the processor node.
A rather natural result of persistent, high-capacity memory for non-interactive compute tasks.
What can this do that you couldn't when storing things on disk? Sure, it'll be faster than accessing disk but is there anything we couldn't do before that this thing can do now?
It's almost enough to store all the data their keylogger stole.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
If it were running Windows 3.1 it would recommend a 480TB swap file.
Hey, it sure as hell worked for Pink Floyd.
4096 yottabytes = 4.096e27 bytes; 2^n=4.096e27, solve for n ... n = 92. Now we know the market for these 128-bit processors!
"Re:"The Machine" could they get any more non-descript"
I think they meant "The Machine That Goes Ping!"
I don't recall them announcing this the last time this concept was in the news, but if they're doing that, then yes, that's an even bigger change. (I admit I'm still sort of fond of the Connection Machine...)
Ezekiel 23:20
It would have been a lot more interesting, and a lot more paradigm shifting, if it was 160TB of ultra-fast next-gen M.2 sticks with 0MB of traditional RAM and 0MB of traditional storage. That would be a truly unique machine to work on. If you read the article, this isn't even a single machine. It's actually 40 nodes with high speed interconnects. Basically, HP is now running Linux on their VMS clusters.
That's like...1 trillion tweets!
While the size is awesome, it is hardly revolutionary more evolutionary. It isn't like we could not handle datasets of that size previously, we simply couldn't have it ALL in memory at the same time.
Track and analyze your life to the smallest fraction we will. Soon. sooooooooon. MMHEHEHEHE!
it isn't the size that matters. It is how well it works its magic.
The article contradicts itself multiple times.
First, the start of the article (and the summary) say it's a prototype computer with a single bank of memory. Later they report that the machine has the 160TB spread across 40 nodes. It might be logically contiguous but it's hardly a "single bank".
Secondly, the start of the article describes the architecture as memory-centric, but HP later states: "the Machine is an attempt to build, in essence, a new kind of computer architecture that integrates processors and memory seamlessly using a flexible interconnect scheme"
Wat?
Having huge banks of memory and passing them through a "single computer" bottleneck is a colossal waste.
If it is anything like the HPs I have owned, some major part will go out in 2 to 3 years.
This will be able to load a webpage in Firefox?
Memory integrated architectures (PRISM, MPA, etc, etc..) have long been a twinkle in our collective eye, but I doubt HPE has the critical mass to pull this one across the finish line. Gone are the days when HP Labs held any credible sway in architecture. When was the last time HP(no E) told us they knew best in things architectural? Remember the Itanic!
Addressing 160 TB just requires a 48 bits bus, which most recent 64 bits architectures have. So "simultaneously" is probably missing from the title..
Slashdot, fix the reply notifications... You won't get away with it...
Being able to do an operation on an entire huge dataset in memory instead of a pile of fetching and carrying to do it on disk.
Since the alternative is an order of magnitude (or several) slower a bit of latency isn't a terrible price to pay.
You are being watched...
#DeleteChrome
From HPE site: "The company has run new software programming tools on existing products, illustrating improved execution speeds of up to 8,000 times on a variety of workloads"
Well, I'll believe it when I see it. Seems just too good to be true.
Also makes a good particle detector.
"4,096 yottabytes ought to be enough for anybody.".
My question is different. Which CPU does it use? Xeon? Or does HP try to leverage what's left of the Itanium? And if it's Itanium, I doubt it'll be Linux: HP/UX would be the only game in town. Linux abandoned it long ago, and even FreeBSD didn't port their LLVM/Clang compiler to this platform.
CLICK ME
CAPTCHA: records
This page:
https://news.hpe.com/memory-driven-computing-explained/
has more helpful information about how the architecture works. It's neat.
Who cares what it runs, the NSA has already ordered a dozen of them.
In unrelated news, you may want to switch to a minimum password length of 32 characters for any account you care about. Just saying...
... that the entire memory space works essentially like registers and that operations on data are built into the transfer process meaning that it's massively parallel and allows billions of ops per second on billions of locations per second.
This is the same HP that hasn't come up with a hit since the bubble jet printer, people. The same HP that pushed a cloud computing solution that was so pig-fucking awful that The Onion mocked them about it. I worked at HP at the time, and I really have to think that The Onion had someone on the inside...because their parody was unbelievably on target. "We have 4G, 5G, 6G...we have all the Gs. We have app." That's literally as bad as what some of the people at HP were about it...it defied belief. This is the same HP that came up with a small microchip that could hold information and push it to your phone...but alas, as good as it sounded to have them talk about it, the phone's receiver had to stay within an inch of the thing, and the data transfer rate was literally as bad as a modem from the late 80s. This is the same HP that couldn't come within billions of dollars of precision as they tried to evaluate the price of another company they bought...and then effectively sued themselves when they realized that they fucked up on the offer they'd made, had accepted, and consummated. HP had to state on their SEC filings that flight of talented people had become a major impediment to their achieving their business goals...starting several years ago. And it hasn't gotten better since. These are stupid motherfucking people.
Oh, in more recent news, this is the same HP whose business-grade laptops (since we're talking HPE here, really) had a keylogger built into the audio driver.
So yeah...I doubt that this "machine" is all that. I'm curious...have they ever actually managed to CONNECT it to 160 terabytes of RAM at once, or is this a theoretical capability? Because they lie like a rug about this kind of silly detail. I can't help but notice that those 160 TB all have to be in a "single bank of memory." Wow, that must be one long-ass DIMM!
For your security, this post has been encrypted with ROT-13, twice.
Obviously a tribute to Person of interest. Rip John Reese 2016
They call it simple "the machine" so that they don't have to tell you what it will be use for.
Such a system is used for MASSIVE data collection and data mining of YOU, your every purchase, every movement, every phone call, every photo text chat video etc.... ALL OF YOU.... mined and mapreduced into various priceless morsels of control they can instantiate over you, never having given you a dime for the "value" (ahem, control and your soul) they reap.
You are getting soooo FUCKED, you, your wife, your children, families and grandkids,
yet you still refuse to rise up and do anything about it.
Sad, so very sad and stupid you are.
AI using multidimensional data sets. I work with cubes in the tens of terabytes that could be sped up thousands of times if they could be held in memory.
It is a massive NUMA thing. It uses a ridiculous number of special ARMv8 cores. RFA and all that jazz...
No more disk crunching
Don't load OS stuff into the higher memory space, like MSDOS did. Otherwise, In 200 years, gamers will have to fuck around with himem.sys all over again.
Basically they took 10 PCs and put the PC boxes in another box, then labelled that box "The Machine".
A box of boxes. It'll change the world!
10s of TB? 'nough said
The critical number missing in TFA is the memory access speeds at various tiers of the NUMA.
Take a 4GHz computer. How far can a memory access go in one cycle given the speed of light? The answer is "not even to the other side of a 19 inch server rack. Not even halfway across a laptop." You can fetch cache lines in bulk, sure, but at some point this fact will intrude into your code, demanding you keep local registers local and tightly coupled calculations on physically close nodes... we can't tell how drastic a relief "The Machine" provides from such constraints without those numbers.
Also where the RAM design sits between a modern day HPCC and an ideal nonblocking multiport mesh is critical to know... and whether it automatically adapts by moving memory to more efficient banks transparently to the OS/app.
Someone had to do it.
Why didn't you bother reading the second line of my post before spending so much time writing what you did? What you wrote is all true but kind of irrelevant without a massive leap in technology.
Multiple nodes is certainly not as fast as having it on one board, but try reading that second line to find out why it's still useful.
You mean Cocoa Puffs? (aka root)
In Russia 160 Terabytes * IS * you. Yet, so true.
I think they should have called it "the jet engine." I once made the mistake of entering the room it is in without hearing protection and holy crap is that thing loud!
You'll note even in the PR video they were wearing acoustic earmuffs.
Pretty cool technology though. I've always been the kind of person who loves to see the "top" output on an enormous SSI...
Welcome my son...welcome to the machine...where have you been? It's alright...we know where have you been.
AI using multidimensional data sets. I work with cubes in the tens of terabytes that could be sped up thousands of times if they could be held in memory.
Indeed. I wonder how useful it would be for someone like the NSA or NRO for analyzing large datasets in near-realtime like, for instance, all the cellphone communications "metadata" (and contents?) in an area and cross check it against other datasets to destroy privacy, reveal networks of association of political/ideological opponents, etc etc? "Predict" crime a la 'Minority Report'?
Seems like just the kind of cutting edge mass-data analysis technology leaders of a surveillance state would soil themselves over at the thought of the possibilities for control of the population it could bring to life.
We must always be careful to remember that the atomic age brought bombs that could end humanity as well as reactors and other tech. This tech I feel has a second edge to that sword with almost equal potential for being used for evil as any weapon of war I know of. This "bomb" could possibly be a key tool in the enslavement of an entire society.
Strat
Progressivism (aka US 'Liberalism'): Ideas so good they need a police/surveillance-state to enforce.
Amiga did this back in 1985 with the Amiga 1000...
https://en.wikipedia.org/wiki/Amiga_1000
The Machine is the first modern computing concept that has been able to mimic and surpass the power of the fully dynamic amiga ramdisk back in the day...
The Machine and Quantum computers are the future maybe coupled with bio and optical curcuits!
Isn't this just IBMs iSeries reborn? That was / is a 64-bit address space that addresses physical memory and disk in one single-level storage. Granted, in the real world we don't often put 160TB into a machine, and the balance may be made up of spinning disks, but as far as the software is concerned it is the same, surely?
If it were AIX it would have recommended a swap space 2.5x physical memory ..
but then, that memory space being part of the universe...
Slashdot, fix the reply notifications... You won't get away with it...
The old version of that machine (more than 10 years ago) was using 384 Itaniums with 2GB of RAM per CPU and custom SGI interconnects so that the operating system saw one single memory space an all the CPUs.
No big news here.
It looks like HP wants to take something out of the effort that was put into the whole Itanium business, now that it is being discontinued.
The new version of Cosmos uses x86 CPUs and GPUs as accelerators.
If you need to address more than 16 exabyte-scale single-memory system, we'll need 128bits arch, not to mention yottabytes...
They call it simple "the machine" so that they don't have to tell you what it will be use for.
Such a system is used for MASSIVE data collection and data mining of YOU, your every purchase, every movement, every phone call, every photo text chat video etc.... ALL OF YOU.... mined and mapreduced into various priceless morsels of control they can instantiate over you, never having given you a dime for the "value" (ahem, control and your soul) they reap.
You are getting soooo FUCKED, you, your wife, your children, families and grandkids, yet you still refuse to rise up and do anything about it. Sad, so very sad and stupid you are.
lol. They already do all of that, you numpty.
I do not want your cheap brainburning drugs. They are useless for work. And I am a working man today.
Basically they took 10 PCs and put the PC boxes in another box, then labelled that box "The Machine". A box of boxes. It'll change the world!
That's your take-home from this? lol.
Stick to playing with the worms in your garden mate.
I do not want your cheap brainburning drugs. They are useless for work. And I am a working man today.
Shared memory = a single pool of memory that can be accessed by multiple threads or CPU's simultaneously (as in the System V shmget manual). But to avoid cache coherency problems and to avoid latency, the memory is managed as if it were a network server (high performance fabric protocol).
that's a lot of keylogging storage!
I think they don't want to miss a thing!
Seriously, are we still using books as a unit of comparison? Why not say it can process 80% of the internet, etc.?
but, if power is interrupted (because that NEVER happens, even with UPS, right?), do you have to start over from scratch, and reinstall the OS, databases, etc?
I wonder how useful it would be for someone like the NSA or NRO for analyzing large datasets in near-realtime like, for instance, all the cellphone communications "metadata" (and contents?) in an area and cross check it against other datasets to destroy privacy, reveal networks of association of political/ideological opponents, etc etc? "Predict" crime a la 'Minority Report'?
Well, they did call it The Machine, so I assume they're trying to make it easy for the government to connect the dots on that idea.
But can it run Crysis?
Doubtful.
Read-ahead protocols allow you to identify further data sets and bring them in and out of memory faster than algorithmic performance. The fastest pattern is a giant linear read, and you can issue a DMA to read in the next several hundred megabytes and expire the prior without the CPU being further involved.
Algorithms that process more-complex data sets generally need instrumentation code to identify where the next addresses are, which can be ordered to occur before processing: instead of identify an array of 300, process it, then read off the next address and move your attention there, you would identify the array of 300, skip it, read the next address, issue the read-ahead, and process. This ordering only really adds the call for read-ahead (an OS madvise() call, really) on top of all other work.
For sufficiently-small data sets, issuing readaheads at every junction is brutal. For large datasets, scattering across RAM would incur an incredible amount of lag due to long RAS/CAS cycles, and CPU prefetch calls are required for performance. A "large data set" is one that your CPU is not sufficiently fast enough to process in a small time.
Support my political activism on Patreon.
This will do more to enable true AI than all the neural networks of the last 5 years'.
They cut a turd in two. Now there's two turds!
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
It sounds like it is not SMP architecture. It sounds more like a NUMA architecture. I have questions about whether the processors can crank through all that memory in a reasonable amount of time. I also question how long it would take to load up data into that memory.
Ignoring that...
It sounds like someone read this article:
http://spectrum.ieee.org/computing/hardware/a-radical-proposal-replace-hard-disks-with-dram
Summary of the article is that if you build a computer system based around RAM instead of non-volatile storage, there is much that can be done. This is especially true if you have a compute model that treats disks as backup to RAM.
In terms of requiring new software, it is a non-x86 platform and will need to address NUMA memory that exceeds what a typical processor ever expects to see. In fact, you would be hard pressed to find a processor that can support 4TB of RAM. A 64-bit memory address can only access 16TB of RAM. So you need a system that can handle larger pointer sizes.
What a nightmare. Imagine how long memtest would take to run to identify just ONE goddamn back memory stick! What are you thinking, HP?
I asked the technical lead Kirk Bresniker (chief architect at Hewlett Packard Labs) about this exact thing at the launch yesterday, and he said no, that you should be able to use conventional software (I specifically asked about Python), with the speed-up occuring under the hood.
I am not entirely convinced that it will be that easy...
Sooooooooo scary!!!!!
Lol.
Grow up. This simply speeds up what's already being done.
Your life has to be a real disaster thinking like this. What medications are you on?
Isn't that what these guys do?
http://www.emutechnology.com/
Read-ahead protocols allow you to identify further data sets and bring them in and out of memory faster than algorithmic performance. The fastest pattern is a giant linear read, and you can issue a DMA to read in the next several hundred megabytes and expire the prior without the CPU being further involved.
Yes, because it hides the fact that the smallest block you can fetch is hundreds of bytes in size at least, and possibly several kilobytes.
Algorithms that process more-complex data sets generally need instrumentation code to identify where the next addresses are, which can be ordered to occur before processing: instead of identify an array of 300, process it, then read off the next address and move your attention there, you would identify the array of 300, skip it, read the next address, issue the read-ahead, and process. This ordering only really adds the call for read-ahead (an OS madvise() call, really) on top of all other work.
And how does that help you with data structures in which the access sequence is data-dependent even over smaller pieces of data? Spatial trees, for example? Unless of course you're tacitly limiting yourself to all the others that aren't. And madvise, isn't that for memory-mapped files on block devices? Since I don't see how madvise could tweak CPU cache logic which is apparently hard-coded. Somehow I can't shed the feeling that you're reasoning circularly, i.e., that we're doing things like this mostly because we were given the tools for them that were provided for us to do these things because that's all we could back then.
Ezekiel 23:20
Didn't Crays use something like this where the memory was central to the operating structure of the computer? Can anyone enlighten me?
And how does that help you with data structures in which the access sequence is data-dependent even over smaller pieces of data?
Generally, if you're scattering over different row selects in RAM, you stall the CPU about 200 FSB cycles or 2,000 cycles for a 10x multiplier when you jump around in RAM. That means if the data is all in RAM to begin with and you spend 20 cycles processing, then jump to some data 40 megabytes away, you spend roughly 99.0099% of your time stalled waiting for CPU cache miss. To get around this, you'd have to use CPU prefetch instructions to load the upcoming data into L1.
Access structures as such tend to be packed to consider CPU cache for that reason--see Judy Trees--and, as such, you'd be fetching blocks of at least 4K if not stuff packed localized to 4M (huge pages) to take advantage of the required packing.
In other words: structures that aren't decently optimizable by reading the data in from disk ahead of time are hella slow even if in RAM.
Since I don't see how madvise could tweak CPU cache logic which is apparently hard-coded
madvise() lets you mmap() 128TiB of disk-backed data (files) and then tell the kernel that span A is no longer needed (so discard it from memory) and span B will be needed very soon (so read it into RAM now instead of waiting for the upcoming read() call). You'll need a separate CPU-level prefetch instruction after that read due to cache flushing on the context switch, except on modern architectures which can context switch to supervisor and back without a thread switch and not flush all user-context cache.
Support my political activism on Patreon.
Umm not, a 64-bit memory address addresses 16 exabytes, not terabytes.
2^40 is a terabyte, 16 terabytes is 2^44. (and so mnemonically : 2^30 is a gigabyte, 2^50 a petabyte, 2^60 an exabyte)
Though you can certainly run into addressing limits e.g. original x86-64 can physically address 40 bits only, 1TB physical RAM, and 48 bits logically, which is a 256 TB limit.
The physical addressing limit was since extended (CPU implementation detail rather than hard limit), for the logical limit I am sure x86 can use more if the CPU implements it but old software and OS might not like it (if they did dumb weird things). As you say, a non-x86 platform is used there.
I give you that this HPE thing is right at any putative 48 bit addressing limit, which is a bit fascinating. If it ramps up in capacity or even right now you could run into file system limitations trying to back it up. Incidentally wikipedia says the max file size for ext4 is 16TB (unless maybe you use block sizes larger than 4KB like FAT did)