[HN Gopher] Popcorn Linux
       ___________________________________________________________________
        
       Popcorn Linux
        
       Author : telotortium
       Score  : 148 points
       Date   : 2020-05-03 17:58 UTC (5 hours ago)
        
 (HTM) web link (popcornlinux.org)
 (TXT) w3m dump (popcornlinux.org)
        
       | gumby wrote:
       | I note some comments saying that this is more for HPC. I'll point
       | out that most mobile ARMs have different kinds of cores on the
       | same die (the so-called big.LITTLE approach), and of course often
       | have utterly different functional units (GPU) as well.
        
       | gberger wrote:
       | Can someone ELI5 what this is?
        
         | ealexhudson wrote:
         | 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.
        
         | im_down_w_otp wrote:
         | 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
        
           | eliaspro wrote:
           | Sounds a bit like a Beowulf Linux cluster from about 20y ago.
           | What's the major difference between the approach of those.
        
             | detaro wrote:
             | Beowulf was just the idea of making a cluster of cheap
             | commodity hardware using open software, typically not
             | Single System Image.
        
               | nineteen999 wrote:
               | 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
        
             | willtim wrote:
             | 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.
        
           | rasengan0 wrote:
           | Great explanation; I can't stop watching the teaser
           | http://popcornlinux.org/sources/video/sosp-19-tutorial.mp4
        
             | teddyh wrote:
             | That video desperately needs subtitles. Or, preferably,
             | people who can speak intelligible English.
        
           | skellystudios wrote:
           | You know, this is a great, clear description that they should
           | definitely put on their homepage.
        
           | Already__Taken wrote:
           | 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.
        
           | amachefe wrote:
           | aka Linux Cluster. This was very popular concept about 15yrs
           | ago. I have seen telecom servers run in such kind of clusters
        
             | SahAssar wrote:
             | Are you referring to servers running OTP (erlang)?
        
         | choward wrote:
         | 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!
        
           | kroltan wrote:
           | 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 wrote:
             | 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.
        
             | yjftsjthsd-h wrote:
             | > 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 wrote:
               | _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.)
        
               | owl57 wrote:
               | Could an abstraction of "single Linux computer" be
               | actually useful with Earth-scale latencies?
        
               | chongli wrote:
               | 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.
        
               | emj wrote:
               | 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.
        
               | marcosdumay wrote:
               | 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.
        
               | convolvatron wrote:
               | 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
        
           | bdcravens wrote:
           | I think I bingo'ed at least 3 times.
        
       | p4bl0 wrote:
       | Very interesting project, thanks for sharing!
       | 
       | 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://popcornlinux.org/index.php/positions
        
       | [deleted]
        
       | qubex wrote:
       | Very interesting... my first (and last) encounter with
       | heterogeneous OSes was back in the mid nineties with TaOS (best
       | reference found online is http://www.uruk.org/emu/Taos.html but
       | the website is rather wonky).
       | 
       | Honest question: I'm not the only one who confused this for the
       | Popcorn Time torrent streaming player, am I?
        
         | KenanSulayman wrote:
         | My first thought was: wow, they took this idea so far now they
         | made an OS out of it.. I imagined an OS preconfigured with
         | torrent clients, easy-to-use VPN client, fancy Netflix-like
         | media center...
        
         | belzebalex wrote:
         | You're not!
        
       | cmeacham98 wrote:
       | This seems to be old and possibly abandoned, given that:
       | 
       | - 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.
        
         | OJFord wrote:
         | The homepage (the submission URL as I write, but perhaps you
         | saw something different?) leads with News:                 -
         | March 2020 ...       - [x3]       - [big font] October 2019 ...
         | 
         | I think it's kicking.
        
         | christoph-heiss wrote:
         | The project seems still alive and active, at least according to
         | its recent RFC'ing from LKML [0].
         | 
         | 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-...
         | 
         | [2] https://github.com/ssrg-vt/popcorn-kernel
        
           | cmeacham98 wrote:
           | Ah, you're right, it does appear to be still alive. If anyone
           | from the popcorn linux team sees this, please consider
           | updating the outdated portions of your website (and getting
           | an HTTPS certificate). Had I never read this comment I would
           | have gone on unaware that the project was not dead.
        
             | warent wrote:
             | The homepage has a "News" section front and center with
             | articles created as recently as March of this year.
        
       | t3po7re5 wrote:
       | Whoa! I interviewed to work on this project back in my undergrad
       | days. Was wondering what happened to this.
        
       | nunoferreira wrote:
       | So joomla + http is still a thing in 2020....
        
         | elcomet wrote:
         | Why would it not? It's still very convenient to use a CMS like
         | Joomla for non tech people.
         | 
         | Http is a shame of course, nowadays most web hosting providers
         | do it automatically.
        
           | nunoferreira wrote:
           | Made my first money as web developer in ~2006 with joomla
           | actually
        
       | dang wrote:
       | An announcement from a few days ago was posted here:
       | https://news.ycombinator.com/item?id=23060692 (no comments
       | though)
       | 
       | A thread from 2017: https://news.ycombinator.com/item?id=14605882
        
       | amachefe wrote:
       | Linux Clustering OS
        
       ___________________________________________________________________
       (page generated 2020-05-03 23:00 UTC)