Popcorn Linux
popcornlinux.org
popcornlinux.org
Honest question: I’m not the only one who confused this for the Popcorn Time torrent streaming player, am I?
A thread from 2017: https://news.ycombinator.com/item?id=14605882
The concept is more popular in HPC & scientific computing than it is in mainstream IT.
It could mean "What the heck is going on?", when accompanied with a different facial expression.
I actually had to try it out in real life... I can’t think of gesticulating in the abstract.
Seems like you can take the Italian out of Italy but not Italy out of the Italian.
I'm not convinced a shared memory abstraction is a good thing for distribution across machines. Some Beowulf clusters actually had much lower latency interconnects than ethernet, e.g. Quadrics, but we still needed to carefully optimise the traffic. With a shared memory abstraction, such optimisation is out of our hands.
They either host it or it was just a tech demo they did with eve online. Wish I could remember it was a super cool job advert, not my skill set though.
> The Popcorn Linux project is exploring how to improve the programmability of emerging heterogeneous hardware, in particular, those with Instruction Set Architecture (ISA)-diverse cores, from node-scale (e.g., Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGAs) to rack-scale (e.g., Scale-out processors, Firebox, The Machine), in both native and virtualized settings. Additionally, the project is exploring how to automatically compile/synthesize/execute code on ISA-heterogeneous hardware.
I know some of those words!
> 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.
I believe that the Touch Bar Macbooks also pair an x86_64 processor with an ARM coprocessor that runs the touch bar.
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).
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.)
that may have been the only time in history though
That's why your computer has a GPU.
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.
Equally, I guess it looks a bit like a Java application server in terms of function - applications appear to be compiled to whichever hardware target the application needs to run on.
Utility infrastructure like shared memory etc appears to be part of the design, so the underlying hardware systems are as transparent as possible.
PS. This distribution sure does sound like Beowulf
"The project is exploring a replicated-kernel OS model for the Linux operating system. In this model, multiple Linux kernel instances running on multiple nodes collaborate each other to provide applications with a single-image operating system over the nodes. The kernels transparently provide a consistent memory view across the machine boundary, so threads in a process can be spread across the nodes without an explicit declaration of memory regions to share nor accessing through a custom memory APIs. The nodes are connected through a modern low-latency interconnect, and each of them might be based on different ISA and/or hardware configuration."
Intuitively, I would think that the way to do this would be as follows:
First, we have the memory hierarchy, disk at the bottom, increasingly faster (but smaller) regions of memory closer to the CPU.
Now, if let's say a process shares memory across nodes, then what seems to make sense would be moving chunks of that memory, as needed, as "cache blocks" to the local machine that needs it.
Observation: That pattern is really not very different than what OS's do with swap files / virtual memory, except that the "swap file" is actually a larger memory region located on a remote node, across the network...
Of course there may be other issues with respect to locking, synchronization objects in memory, thread scheduling, etc., etc., but if you got the above memory access pattern right, then you'd go a long way to enabling such an OS...
The trouble with the way you're doing it is that it signals that the entire comment is an excerpt, and since you've done it a bunch of times, that makes your account look like a single-purpose account or a bot, neither of which are allowed here. I was going to post a totally different reply asking you not to do those things, and then I noticed that actually you're posting normal replies with a nonstandard header.
I would like to profusely apologize for using "Excerpt" in my comments for places I excerpt other content, although, I am hoping you'd understand that the reason I do that is for my own way of organizing my own notes... Yes, I understand that HN is a public forum, so in order to please the forum rules and regulations, so from this point forward I will try hard not use "excerpt". Even though I will try not to, if I do it in the future, then understand it was an old habit ingrained upon my stiumulus-response cortex, but nonetheless, I will make a concerted effort not to.
You're an awesome HN user. Don't sweat it for one second. Thanks!
If you simply put "> " in front of what you're quoting, it signifies the same thing. Or you can put it in double quotes, or put asterisks around it and it will get italicized.
Conversely, you are an awesome HN Admin! Keep up the great work with HN! <g>
The "open positions" page might interest some people here. They have two 2+ years postdoc positions open with no teaching duties at Virginia Tech.
Http is a shame of course, nowadays most web hosting providers do it automatically.
- The website is served using a self signed cert for a different domain created in 2011 (!)
- The last download is from March 2013 for linux 3.x
- The last commit to the git repo was in 2016
- The last post on the mailing list is an unanswered question from 2015
I would be interested to hear if anybody on HN knows of a similar project that is being maintained.
For some more information, Phoronix also recently wrote an article [1] about it, also the GitHub repo [2] seems to be somewhat active (last commit was 06-02-2020).
[0] https://lore.kernel.org/lkml/cover.1588127445.git.javier.mal...
[1] https://www.phoronix.com/scan.php?page=news_item&px=Popcorn-...
- March 2020 ...
- [x3]
- [big font] October 2019 ...
I think it's kicking.upstream-rfc Updated 5 days ago by ahughes12
upstream Updated 19 days ago by jnarf
nginx_heterogenous_fixes Updated last month by AshwinKrishn