A look at The Machine
A look at The Machine
Posted Aug 27, 2015 2:19 UTC (Thu) by Paf (subscriber, #91811)Parent article: A look at The Machine
Perhaps the photonics are particularly special? The current generation of HPC interconnects (such as Aries from Cray, which is a few years old now) already use fibre for the longer distance runs... And they already do a lot of the memory stuff... I mean, you can address memory on remote nodes easily, it just has a cost. And consistency stuff gets complex (it can be enforced or not, basically, depending on the programming model and such).
This just sounds like a tightly integrated HPC style cluster with a fibre optic interconnect. Those exist already... Have I missed something really special here? I mean, sure, they're working on an OS for the whole machine, but some systems work that way already as well. SGI has multi thousand core machines that run a single OS image, if I remember right.
So does anyone see why this should be truly exciting?
Posted Aug 27, 2015 3:07 UTC (Thu)
by keithp (subscriber, #5140)
[Link] (16 responses)
A pure single-system-image multi-processor machine shares everything between nodes, and is cache coherent. A network cluster shares nothing between nodes and copies data around using a network.
The Machine is in-between these worlds; sharing 'something', in the form of a large fabric-attached memory pool. Each SoC runs a separate operating system out of a small amount of local memory, and then accesses the large pool of shared memory purely as a data store, not part of the main machine memory. So, it looks like a cluster in many ways, with an extremely fast memory-mapped peripheral.
The first instance we're building holds 320TB of memory (80 nodes of 4TB each), which is larger than ARM or x86 can address, so we *can't* make it look like a single flat address space, even if we wanted to.
Memristor will make the store persistent, silicon photonics will allow us to build a far denser system. What we're building today is designed to help get the rest of the hardware and software ecosystem ready for that.
Posted Aug 27, 2015 14:09 UTC (Thu)
by Paf (subscriber, #91811)
[Link] (1 responses)
I don't actually know how current HPC systems in global shared memory mode handle the addressing. I can think of a few ways, but none of them are the OS directly. (It's a little like a peripheral, as you describe memory in The Machine.)
As a distributed file system developer, I'm particularly interested in persistent memory, especially in a distributed access model like the one you describe.
Thanks for the reply and good luck!
Posted Aug 27, 2015 14:10 UTC (Thu)
by Paf (subscriber, #91811)
[Link]
Posted Aug 27, 2015 17:30 UTC (Thu)
by smoogen (subscriber, #97)
[Link] (10 responses)
Posted Aug 27, 2015 17:48 UTC (Thu)
by gioele (subscriber, #61675)
[Link] (8 responses)
In addition I wonder in how many places one can already find the trick "I will use these extra 16 bits for my own business" based on the justification that "all architectures discard the top 16 bits anyway".
Posted Aug 27, 2015 18:01 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Aug 27, 2015 18:13 UTC (Thu)
by keithp (subscriber, #5140)
[Link]
Posted Aug 30, 2015 1:21 UTC (Sun)
by mathstuf (subscriber, #69389)
[Link] (4 responses)
Posted Aug 30, 2015 22:54 UTC (Sun)
by keithp (subscriber, #5140)
[Link] (1 responses)
Just give us enough bits to address every particle in the universe and we'll be happy, right?
Posted Aug 30, 2015 23:15 UTC (Sun)
by mathstuf (subscriber, #69389)
[Link]
Looking back at the slides[1], it appears that there is virtual memory addressing, but there is only one address space. This allows them to put the TLB behind the cache (slide 52). Not sure if that would change things for The Machine.
Posted Sep 4, 2015 18:39 UTC (Fri)
by adler187 (guest, #80400)
[Link] (1 responses)
The MI architecture has special instructions for manipulating pointers, which prevent casting back and forth between int and if you try it, the tag bit will become unset by the hardware and attempting to dereference the pointer will cause a segmentation fault. This is similar to the CHERI CPU: https://lwn.net/Articles/604298/, though CHERI differs in that it has pointers and "capabilities" and you have to opt-in to capabilities, so applications that assume pointer == long continue to work, but you can get better protection by using capabilities - on IBM i there is no such luck, you have to update your application.
Posted Sep 11, 2015 12:12 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link]
Posted Sep 3, 2015 7:04 UTC (Thu)
by oldtomas (guest, #72579)
[Link]
Since a while, tagging implementations tend to (mis-) use some lower bits out of the realisation that a pointer "to something useful" is divisible by four (gives you tow bits) or even by eight (gives you three).
Guile Scheme is an example, but surely not the only one.
Perhaps time has come to address memory in bigger chunks than 8 bit bytes?
Posted Aug 28, 2015 11:15 UTC (Fri)
by justincormack (subscriber, #70439)
[Link]
Posted Aug 28, 2015 9:14 UTC (Fri)
by skitching (guest, #36856)
[Link] (1 responses)
In that software design, applications running on a cluster of servers can "connect to a shared memory space" using a library. The library api provides some reasonably standard data-structures (particularly key/value maps and queues).
In practice, the storage is usually distributed across the nodes belonging to the cluster (ie there is no "central server" with lots of memory). In the case of "the machine", perhap tuple-spaces might be a useful way to access this central memory (which would _really_ be central rather than distributed), to reduce the problems related to coherency?
Posted Aug 28, 2015 17:30 UTC (Fri)
by keithp (subscriber, #5140)
[Link]
Posted Oct 19, 2015 11:11 UTC (Mon)
by pabs (subscriber, #43278)
[Link]
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
tuple spaces
tuple spaces
A look at The Machine