5 ms·
Let's break it down! (I'm no expert so sorry for any mistakes, and this is simplifying a lot) > improve the programmability of emerging heterogeneous hardware
by kroltan 6y ago
Let's break it down! (I'm no expert so sorry for any mistakes, and this is simplifying a lot)
> improve the programmability of emerging heterogeneous hardware
reducing the fiddlyness of developing for mixed hardware
> those with Instruction Set Architecture (ISA)-diverse cores
those with multiple CPUs speaking different machine code
> in both native and virtualized settings
both bare-metal and VMs
> automatically compile/synthesize/execute code on ISA-heterogeneous hardware
automatically translate between the different machine codes.
---
Now for what it actually means, is that Popcorn is a single Linux that can simultaneously run on a bunch of different processors (say, your mobile phone, a raspberry, and a desktop) all at once while being used just like a single Linux system to the end-user/programmer. I don't think it's meant to be used by consumers, but for servers or supercomputers, that kind of stuff.
- cbhl 6y agoPairing a big fast processor with a small energy-efficient processor is starting to get more common. You see it in a lot of higher end Android phones. I believe that the Touch Bar Macbooks also pair an x86_64 processor with an ARM coprocessor that runs the touch bar.
- yjftsjthsd-h 6y ago> I don't think it's meant to be used by consumers, but for servers or supercomputers, that kind of stuff. Why would servers/supercomputers care about heterogeneous hardware (including multiple ISAs, even!)? If I'm playing around at home, that's great; I'd love to make a cluster out of a couple of old laptops, an old phone, and a Raspberry Pi. But at work, I'd just... buy a dozen identical servers. Even across generations, x86 is mostly uniform enough to just ignore the changes (with some minor gotchas around extensions, but if you only migrate forward that should be fine too).
- derefr 6y agoA supercomputer cluster wouldn’t care. A cluster of supercomputer clusters might. Know those moments in movies where they put “all the computers in the world” onto the task of cracking some encryption before it’s too late? This could be used for the technical part of that (once you’ve got all the HPC labs’ cooperation.)
- owl57 6y agoCould an abstraction of "single Linux computer" be actually useful with Earth-scale latencies?
- emj 6y agoThink of it in a "Compute at home", "folding at home", blockchain-sense then latency doesn't matter as much, I do not know if anyone has tried solving things with big clusters separated by 40ms-60ms latencies.
- chongli 6y agoMaybe if you had some kind of amazing cache system that organized everything into one big tree so that data needed for different computations is as local as possible. It would be very challenging though.
- marcosdumay 6y agoSome ISAs can be way more effective at some parts of the problem than others, while still not being an optimum for the entire problem. That's why your computer has a GPU.
- ngcc_hk 6y agoCan it run on a gpu so to abstract always cuda
- marcosdumay 6y agoI imagine it can't (that would be way too good, everybody would be using it already). I also don't think there are many examples of supercomputers with diverse ISAs today. But a system like this is a requisite for non-uniform computers to exist. Thus it must exist without the other, at least for a while.
- convolvatron 6y agoat Cray, at one point we had custom vector processors, custom SMT(for lack of a better term) processors, FPGAs on the roadmap, GPUs, and commodity AMD processors...and a strong desire to ship them in the same frame that may have been the only time in history though