News for hackers. Stuff that matters.
Re:Popcorn Linux by gberger on Sunday May 03, 2020 @02:08PM (#23060765)
Can someone ELI5 what this is?
Re:Popcorn Linux by im_down_w_otp on Sunday May 03, 2020 @02:14PM (#23060813)
It's a single system image [1] platform built with Linux. The main idea being that the OS is running on multiple computers while presenting a single computer abstraction to the other software running on it. You write your program as though it's running on a monolithic machine, and the SSI platform manages it across multiple distributed machines.

The concept is more popular in HPC & scientific computing than it is in mainstream IT.

[1] https://en.m.wikipedia.org/wiki/Single_system_image

Re:Popcorn Linux by skellystudios on Sunday May 03, 2020 @02:36PM (#23060937)
You know, this is a great, clear description that they should definitely put on their homepage.
Re:Popcorn Linux by rasengan0 on Sunday May 03, 2020 @05:14PM (#23061895)
Great explanation; I can't stop watching the teaser http://popcornlinux.org/sources/video/sosp-19-tutorial.mp4
Re:Popcorn Linux by secondo on Sunday May 03, 2020 @08:37PM (#23063187)
This is off topic, but it's proving hard to google. What's the significance of the hand gesture the women in the video makes at 1:13 and again at 1:39?
Re:Popcorn Linux by neeleshs on Sunday May 03, 2020 @11:38PM (#23064326)
It is a prevalent hand gesture in the Indian subcontinent. Could mean a lot of things, and interpreted along with the facial expression. In this case, it means "That's pretty cool", looking at her facial expressions.

It could mean "What the heck is going on?", when accompanied with a different facial expression.

Re:Popcorn Linux by qubex on Monday May 04, 2020 @05:25AM (#23065996)
Exactly the same in Italy. Weird, that.
Re:Popcorn Linux by qubex on Monday May 04, 2020 @05:25AM (#23065989)
Surprisingly, as an Italian, I know exactly what this means: “wonderful, amazing, perfect”.
Re:Popcorn Linux by dariosalvi78 on Monday May 04, 2020 @07:07AM (#23066593)
as an Italian, I understand this as "to steal"
Re:Popcorn Linux by qubex on Monday May 04, 2020 @10:40AM (#23068611)
I’d denote stealing with my palm facing downwards.

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.

Re:Popcorn Linux by zabil on Monday May 04, 2020 @05:07AM (#23065893)
It means "wow, impressive".
Re:Popcorn Linux by uryga on Sunday May 03, 2020 @11:32PM (#23064297)
looks like that clip of her is looped, so it might just be a random hand movement that looks meaningful bc you see it twice
Re:Popcorn Linux by uryga on Wednesday May 06, 2020 @07:25PM (#23097664)
wow, i sure feel dumb about this now! thank you, sibling commenters who actually know stuff :)
[dead]
Re:Popcorn Linux by X6S1x6Okd1st on Sunday May 03, 2020 @07:42PM (#23062835)
I was far more distracted by the adorableness of very enthusiastic people that aren't really skilled at reading off a teleprompter than their accents.

Being able to understand ESL speakers seems like an increasingly important skill if you work in tech, was it really that hard for you?

Re:Popcorn Linux by teddyh on Monday May 04, 2020 @06:58AM (#23066546)
I judge the video not by the enthusiasm of the people involved, but by the actual contents of the video.

You know what is an important workplace skill (tech or not)? Speaking intelligibly.

Some people seem to think that all criticism of accents is bad, because racism. This is actually backwards. I myself am an ESL speaker, and therefore have some trouble understanding heavy accents. Using people with heavy accents in a video instead excludes people who speak English as a second language, since we, as a group, are not trained in it. Our experience of spoken English have mainly come from TV and movies, where people speak clearly. So when we see something like this video, we are effectively excluded from understanding it.

Saying things like “was it really that hard” is condescending. Yes, it’s hard if you don’t have a lifetime of training, which people in English-speaking countries do. We ESL speakers don’t. Producers of videos should be more considerate.

Re:Popcorn Linux by eternauta3k on Monday May 04, 2020 @07:45AM (#23066830)
I'm not sure that's entirely accurate. I know I have an easier time understanding History on Fire[1]'s thick Italian accent than Americans do. When learning English, you learn the correct pronunciation and also the "incorrect" pronunciation used by your classmates.

[1]http://historyonfirepodcast.com/

Re:Popcorn Linux by teddyh on Monday May 04, 2020 @07:58AM (#23066933)
None of the speakers in the video use my local version of what passes for English, and therefore I have no training in understanding the video. It is difficult for anyone who has not lived with people having all of those accents. Which is unlikely if you’re living in a non-English speaking culture.
Re:Popcorn Linux by gladskdks on Sunday May 03, 2020 @07:54PM (#23062894)
I can't agree more. Outside of the US you're interaction with ESL speakers varies wildly but it's a pretty essential skill nowadays.

I'm the only native English speaker at my company. Some folks speak perfectly, others don't.

The people in this video spoke though, even if they did have a fairly heavy accent.

Re:Popcorn Linux by brabel on Monday May 04, 2020 @03:14AM (#23065344)
> Outside of the US you're interaction...

* your interaction

Sorry, couldn't resist correcting it on a comment about interactions with ESL speakers :)

Re:Popcorn Linux by aspaceman on Sunday May 03, 2020 @07:48PM (#23062867)
They speak perfectly intelligible English, you just need to listen for a second to understand the accent. Subtitles would be great but come on, there's no reason to be a jerk about it.
Re:Popcorn Linux by eliaspro on Sunday May 03, 2020 @04:12PM (#23061511)
Sounds a bit like a Beowulf Linux cluster from about 20y ago. What's the major difference between the approach of those.
Re:Popcorn Linux by willtim on Sunday May 03, 2020 @06:33PM (#23062445)
Beowulf had no shared memory abstraction, programs had to be written using message passing, e.g. MPI.

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.

Re:Popcorn Linux by detaro on Sunday May 03, 2020 @04:18PM (#23061558)
Beowulf was just the idea of making a cluster of cheap commodity hardware using open software, typically not Single System Image.
Re:Popcorn Linux by nineteen999 on Sunday May 03, 2020 @05:52PM (#23062150)
Yeah I was thinking this sounds more like MOSIX, but with the added abstraction to handle executing the same code accross different architectures.

http://www.mosix.cs.huji.ac.il/txt_about.html

Re:Popcorn Linux by natmaka on Sunday May 03, 2020 @11:06PM (#23064153)
Re:Popcorn Linux by c3534l on Sunday May 03, 2020 @09:03PM (#23063393)
Ah! I've been saying we should do this for years now. Everyone in the cloud space is reinventing the wheel when what we need is a cloud OS that abstracts away multiple computers. I can see a bright future for a project like this.
Re:Popcorn Linux by Already__Taken on Sunday May 03, 2020 @04:45PM (#23061712)
I can't find it but that sounds like the model a platform company that works with CCP to host EVE online makes. They program one game but they shard different sectors of the universe out to hardware based on demand.

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.

Re:Popcorn Linux by bobbyi_settv on Sunday May 03, 2020 @07:58PM (#23062920)
In mainstream IT, you'd usually set up a Hadoop or Spark cluster on the machines and then write your code to run against one of those. What's the advantage of this approach over those?
Re:Popcorn Linux by zekrioca on Sunday May 03, 2020 @08:41PM (#23063222)
Automatic vertical scaling without changing applications. One needs to rewrite apps in order to get the advantages of Hadoop/Spark/MapReduce in general, and not all problems are solved by simply doing that.. It is a different thing/paradigm, really
Re:Popcorn Linux by jbj on Monday May 04, 2020 @01:01PM (#23070494)
Does this mean I can expand my thinkpad with one or more raspberry pi boards?
Re:Popcorn Linux by amachefe on Sunday May 03, 2020 @04:06PM (#23061474)
aka Linux Cluster. This was very popular concept about 15yrs ago. I have seen telecom servers run in such kind of clusters
Re:Popcorn Linux by SahAssar on Sunday May 03, 2020 @04:13PM (#23061514)
Are you referring to servers running OTP (erlang)?
Re:Popcorn Linux by choward on Sunday May 03, 2020 @02:18PM (#23060842)
You mean the intro paragraph isn't simple enough?

> 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!

Re:Popcorn Linux by kroltan on Sunday May 03, 2020 @02:55PM (#23061055)
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.

Re:Popcorn Linux by cbhl on Sunday May 03, 2020 @03:37PM (#23061275)
Pairing 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.

Re:Popcorn Linux by yjftsjthsd-h on Sunday May 03, 2020 @03:38PM (#23061283)
> 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).

Re:Popcorn Linux by derefr on Sunday May 03, 2020 @03:44PM (#23061327)
A 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.)

Re:Popcorn Linux by owl57 on Sunday May 03, 2020 @04:01PM (#23061437)
Could an abstraction of "single Linux computer" be actually useful with Earth-scale latencies?
Re:Popcorn Linux by emj on Sunday May 03, 2020 @05:22PM (#23061961)
Think 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.
Re:Popcorn Linux by chongli on Sunday May 03, 2020 @05:59PM (#23062195)
Maybe 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.
Re:Popcorn Linux by convolvatron on Sunday May 03, 2020 @04:04PM (#23061461)
at 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

Re:Popcorn Linux by marcosdumay on Sunday May 03, 2020 @03:46PM (#23061342)
Some 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.

Re:Popcorn Linux by ngcc_hk on Monday May 04, 2020 @12:19AM (#23064513)
Can it run on a gpu so to abstract always cuda
Re:Popcorn Linux by marcosdumay on Monday May 04, 2020 @01:57PM (#23071169)
I 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.

Re:Popcorn Linux by bdcravens on Sunday May 03, 2020 @02:31PM (#23060913)
I think I bingo'ed at least 3 times.
Re:Popcorn Linux by ealexhudson on Sunday May 03, 2020 @02:11PM (#23060786)
It looks like a multi-node version of Linux - a bit like a MOSIX or something - but without the limitation that the hardware needs to be the same on each node. E.g. you could have one X86, one ARM, one FPGA, and a single app could deploy threads across each of those "CPUs".

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.