[HN Gopher] Keeping Power relevant in the open source world
       ___________________________________________________________________
        
       Keeping Power relevant in the open source world
        
       Author : pabs3
       Score  : 98 points
       Date   : 2022-01-22 11:41 UTC (11 hours ago)
        
 (HTM) web link (peter.czanik.hu)
 (TXT) w3m dump (peter.czanik.hu)
        
       | marcodiego wrote:
       | Don't forget that POWER10 is no longer ryf-certifiable. Of course
       | the ryf certification may be questionable but it is an
       | established bar, POWER9 was able to cross it, POWER10 probably
       | won't: https://www.talospace.com/2020/08/power10-sounds-really-
       | grea...
       | https://twitter.com/RaptorCompSys/status/1435510763402244105...
        
         | unixhero wrote:
         | Any reference to the ryf certification?
        
           | Jasper_ wrote:
           | They're referring to the FSF's "Respects Your Freedoms"
           | programme, a frankly absurd specification that encourages
           | vendors to lock down closed source firmware into ROM rather
           | than actually make it free. RYF doesn't care about the
           | hardware designs themselves being open (no computer would
           | qualify in that case), so they treat closed-source firmware
           | ROM images as identical to closed-source hardware, which is
           | fine. But store that firmware on some sort of RAM, or
           | flashable ROM, and all of a sudden it's now closed-source
           | firmware, which is bad.
           | 
           | The end result is that systems that are the most locked down
           | are those which "Respects Your Freedoms".
        
             | unixhero wrote:
             | Ah thanks a lot. I asked because I had not heard of that
             | abbreviation.
        
             | fsflover wrote:
             | https://news.ycombinator.com/item?id=30036588
        
         | goodpoint wrote:
         | FSF RYF certification carries very little weight.
         | 
         | If you care about not having backdoors in your hardware, RYF is
         | not very relevant because it allows closed source hardware and
         | firmware blobs.
        
           | marcodiego wrote:
           | https://news.ycombinator.com/item?id=30036588
        
         | detaro wrote:
         | RYF allows various "tricks" of hiding blobs, so it is not what
         | I'd use as the benchmark here. Raptor's standards are likely
         | higher than what RYF would require...
        
           | marcodiego wrote:
           | I don't know if the firmware on embedded controllers in
           | currently ryf-certified laptops are open source, but that is
           | the only source of "trick" I can see that could be currently
           | explored to get ryf certification.
           | 
           | I've heard people saying things like "even a windows device
           | could be ryf-certified if it was in ROM", but I see nothing
           | even close to this when I look at currently ryf-certified
           | devices. People are probably influenced by this:
           | https://puri.sm/posts/librem5-solving-the-first-fsf-ryf-
           | hurd... where a Purism engineer describes a "trick" to store
           | a memory controller training firmware in ROM and run it on a
           | "secondary processsor" so it can get Librem 5 ryf-certified;
           | but to this day Librem 5 is still not certified and probably
           | won't because of this specific issue.
           | 
           | Also there are the people who correctly question that ryf is
           | silly because it accepts software without code available if
           | it is in ROM and only runs on a secondary processor. I
           | currently have no counter-argument to this and I think it
           | would be great if FSF explained it clearly. Nevertheless,
           | there are some reasonable points to consider that stance:
           | - AFAIK, the form of accepted code is only for "secondary
           | processors" and can't take over the system or compromise it,
           | - having things in ROM forces manufacturers to maximally
           | simplify it,            - having things in ROM forces
           | manufacturers to implement more features in software that can
           | be checked and            - having things in ROM forces
           | manufacturers to be extra careful when implementing it.
        
             | detaro wrote:
             | I'm not saying that RYF is entirely useless, just that "new
             | version requires firmware blobs, old one didn't" is a
             | clearer and stronger statement than mentioning RYF IMHO.
        
               | marcodiego wrote:
               | Hmmm... I understand.
               | 
               | I mentioned ryf certification because Tallos II and Talos
               | II Lite are the only ryf-certified modern systems
               | available. Also, I bet FSF is very strict when certifying
               | systems so we don't have to rely on the word of the
               | vendor only.
        
               | p_l wrote:
               | POWER10 could probably game RYF certification. Raptor is
               | really much stricter than everyone on that topic. If you
               | make bits of firmware non-upgradeable, I believe you can
               | pass them as RYF-certified even if they are blobs - they
               | are counted as part of the hardware.
               | 
               | Raptor didn't accept anything like that, closest is the
               | minimal (it's a RISC after all) microcode mask rom in
               | POWER9 core that AFAIK is effectively covering some hairy
               | and rarely used instructions as multiple standard Power
               | instructions. And it's so small thing that I am not
               | really sure it's there...
        
       | andrewf wrote:
       | At least Linux POWER can go little endian! Being big endian seems
       | pretty lonely in 2022 - AIX, Solaris and stuff on System Z?
       | https://community.ibm.com/community/user/ibmz-and-linuxone/b...
        
         | gnufx wrote:
         | I counted other big endian processors (probably looking at GCC
         | support) a while ago, but I don't remember what they were, and
         | probably only embedded processors.
        
       | hulitu wrote:
       | What was interesting at Power is that it used SDRAM at half the
       | processor speed which made processing of data from memory faster
       | unlike traditional PC when you read data in bursts.
        
       | DannyBee wrote:
       | IBM has had this argument internally for eons.
       | 
       | When i was there, _two decades ago_ , people were making
       | presentations internally saying the same thing - "without
       | affordable volume machines that random people can buy and use to
       | develop, this ecosystem will fail"
       | 
       | Then, like now, there were even organizations/companies people
       | thought might eventually take care of doing this that weren't IBM
       | (Spoiler alert: They didn't)
       | 
       | Given that it has been at least two decades, i'm not sure whether
       | that makes the doomsayers wrong or right.
       | 
       | But I am sure of one thing: IBM didn't care to do it then, and
       | doesn't seem likely to start caring to do it now
        
         | nix23 wrote:
         | Yeah IBM is crazy with z/OS too, give out free z/OS developer
         | images so everyone interested could play with it and maybe it
         | sparks interest in mainframe again? NONONO pay ~500$ every year
         | and you need a usb-dongle, and "master the mainframe" is just
         | open for 2 month a year...it's pure stupidity.
        
         | aidenn0 wrote:
         | PASemi was stopped by an acqui-hire. I don't like
         | counterfactuals, but that was a huge transfer of expertise from
         | Power to ARM
        
           | DannyBee wrote:
           | I mean, this is true, but it doesn't really change a lot of
           | what i said. It was always something :)
           | 
           | If your ecosystem is stopped in its tracks because someone
           | acquired a small company, it is not a particularly robust
           | ecosystem.
           | 
           | From what i was told (and i was very young and inexperienced
           | when i worked at IBM, so take it with a grain of salt), the
           | baseline issue was always the same on the IBM side - the chip
           | groups controlled most of the budget for the chips, and
           | didn't see any way that spending hundreds of millions to make
           | developer-friendly hardware would have positive ROI. Most of
           | their revenue was not derived from the customers they thought
           | this might ever attract.
           | 
           | It's similar to why they told Apple to go pound sand
           | repeatedly until Apple switched to Intel - Apple did not make
           | up a really meaningful part of the business of Power chips
           | from where they sat, so they didn't really care about giving
           | Apple what it wanted.
           | 
           | The software folks involved thought this was mostly insane
        
         | chithanh wrote:
         | Warning: rant (sorta)
         | 
         | I remember discussing with an IBM representative at one of the
         | last CeBIT shows (was it 2016?) that the community who did open
         | source development on non-x86 were gravitating away from
         | POWER/PowerPC towards ARM. The affordable hardware was a major
         | selling point.
         | 
         | His offered "solution" was that IBM granted free access to its
         | POWER cloud. But that is of course not interesting for someone
         | who runs a home lab and works on Linux distros.
         | 
         | And even so, the blog post still does not aim to where they
         | need to aim. Raptor systems are far from "affordable" for your
         | average CS undergraduate or hobbyist. Power Pi's $250 target
         | price is still off by almost an order of magnitude. The $250+
         | market is served by second-hand POWER servers, which are ok for
         | home labs. Unfortunately, Ubuntu and IBM in their infinite
         | wisdom decided to drop POWER8 support from upcoming releases,
         | which will drive away home labs and the open source community
         | further from Power.
         | 
         | https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-2...
        
           | nix23 wrote:
           | >His offered "solution" was that IBM granted free access to
           | its POWER cloud.
           | 
           | Yeah the mainframe community asked ibm to open some newer
           | systems >24bit but ibm told them they want to provide the
           | community with new "actual" software...out of that came that
           | stupid program called "master the mainframe" or "IBM Z
           | Xplore" it's unbelievable that they are so tone-deaf even to
           | the most loyal IBM fans...IBM is the perfect example of a
           | marketing/management and anti-engineer company (as of today),
           | they really deserve to have a slow death.
        
         | chasil wrote:
         | This is starting to feel a lot like the DEC Alpha, at least
         | from the perspective of the 3rd party motherboards.
         | 
         | The ubiquity of x86 and ARM does not leave much room for the
         | Power architecture in the general market.
        
       | mkj wrote:
       | At the other end of the scale, if anyone wants to play you can
       | run a little openpower CPU on an FPGA with completely open
       | source. https://github.com/antonblanchard/microwatt
       | 
       | It's capable of running Linux, some example docs are
       | https://shenki.github.io/boot-linux-on-microwatt/ The toolchain
       | consists of "apt install gcc-powerpc64le-linux-gnu" on Debian, no
       | funny downloads. And if you want to target a Lattice ECP5 board
       | even the FPGA tools are also all open, thanks to Yosys and
       | friends.
       | 
       | All the openpower ISA spec PDFs are available for perusing on the
       | openpower site.
        
         | berlinquin wrote:
         | Thanks for sharing. I've looked at getting a PowerPC dev board,
         | but didn't find anything at a reasonable price. I never made
         | the connection that microwatt plus and FPGA would get me there.
        
       | h2odragon wrote:
       | If i had a "different" ISA to market, I'd think the very first
       | priority would be to have excellent free compilers for it, be
       | they FOSS or not. Write our own and give them away if we gotta.
       | Remove every barrier to people using your product that you can.
       | 
       | IBM doesn't think that way. They're probably using "the longhair
       | hippies can't use this hardware" as a selling point.
        
         | detaro wrote:
         | TIL LLVM and gcc are not excellent free compilers and useless
         | for longhair hippies. What do your hippies use?
        
           | h2odragon wrote:
           | I know nothing of the support for the POWER arch out there
           | now... if you do, would you say it could be improved? is
           | "corporate whim" stifling open support for them? Last I
           | messed with POWER i couldn't find docs for what I needed and
           | so just stuck with Intel Sparc and Alpha. (The last two were
           | still viable market presences then; to give an idea of how
           | long ago this was)
        
             | nix23 wrote:
             | >Last I messed with POWER i couldn't find docs
             | 
             | You can use google nowadays.
        
             | detaro wrote:
             | ... so you "know nothing", but started the discussion by
             | making a strong claim to the contrary, seriously?
             | 
             | The article already lays out the field: The infrastructure
             | groundwork is done (compilers, linux distros, ...), in no
             | small part thanks to IBM funding such efforts. The main
             | limit is hardware availability and overall mindshare, not
             | infrastructure. If you have a reason to develop for POWER
             | it's easy and reasonably well documented in my experience,
             | the problem for the ecosystem is that few people have such
             | reasons. (i.e. you're either an enterprise supplier like
             | SAP or a bunch of nerds at an uni or with a raptor box at
             | home, little inbetween)
        
         | ballen wrote:
         | The IBM XL compilers have had a free to download community
         | version for a little while now [1]. They also appear to be
         | adopting LLVM [2].
         | 
         | 1. https://www.ibm.com/products/xl-cpp-linux-compiler-power
         | 
         | 2. https://community.ibm.com/community/user/power/blogs/si-
         | yuan...
        
           | DannyBee wrote:
           | In some ways, #2 is sad to me. Don't get me wrong, I have
           | worked a ton on LLVM and love it.
           | 
           | But at least when i was there, IBM's interprocedural middle-
           | end (TPO) was some of the nicest and well structured C++
           | compiler code i had seen in a long time. It was well written,
           | well commented, and well architected.
        
             | IainIreland wrote:
             | It may have changed since I left, but my understanding as
             | of a few years ago was that IBM was replacing the front-end
             | with Clang but continuing to use TPO (at least for now).
        
       | Lammy wrote:
       | > "Old Macs are big-endian, just as network processors from NXP.
       | Some Power developers still want big-endian systems to keep the
       | dream alive. But support for big-endian systems is mostly gone
       | from Linux distributions, and when it comes to developing common
       | utilities or even programming languages, most developers are no
       | more even aware that a world exists outside of little-endian. As
       | much as I love the PowerPC laptop project, I see it now as a dead
       | end: producing hardware for an ever shrinking software
       | ecosystem."
       | 
       | Note that PowerPC itself is bi-endian and always has been since
       | the PPC601, configurable via a special register. POWER gained
       | this capability in POWER3 when it subsumed the PowerPC ISA. Old
       | PowerPC Macs are explicitly big-endian because they needed to
       | maintain compatibility with everything written for the earlier
       | MC680x0-based Macs whose CPUs were big-endian-only. Windows NT
       | ran on PowerPC in little-endian mode!
       | 
       | https://www.cs.umd.edu/~meesh/cmsc411/website/projects/outer...
       | 
       | https://catfox.life/2018/11/03/clearing-confusion-regarding-...
        
       | goodpoint wrote:
       | IBM had the opportunity of being the royalty-free ISA that RISC-V
       | is. Or even release the cores "IP". They squandered it.
        
         | classichasclass wrote:
         | The ISA _is_ open and royalty free.
         | 
         | There are at least three open cores, all IBM funded or
         | designed:
         | 
         | https://github.com/antonblanchard/microwatt
         | https://github.com/openpower-cores/a2o
         | https://github.com/openpower-cores/a2i
         | 
         | The last two are older but they work. Microwatt is developing
         | by leaps and bounds.
        
           | goodpoint wrote:
           | I'm aware. The problem is that the ecosystem has been opened
           | up too late, while the RISC-V ship has sailed and also
           | missing the opportunity to disrupt datacenters and phones.
        
         | google234123 wrote:
         | Anything to back up this assertion? Like some key
         | dates/moments?
        
         | smarx007 wrote:
         | "squandered [..] the opportunity of being the royalty-free ISA"
         | 
         | Last time I checked, IBM was a business. I don't think losing
         | an "opportunity" to give away the ISA for free sounds like a
         | loss to them.
        
           | tyingq wrote:
           | They open sourced the ISA in 2019.
           | 
           | https://openpowerfoundation.org/the-next-step-in-the-
           | openpow...
        
       | [deleted]
        
       | markphip wrote:
       | The most compelling argument for POWER was to make sure there is
       | competition to amd64/x86 and we do not develop a monoculture. I
       | think arm and risc-v have filled that hole nicely and taken over
       | for POWER. Without readily available and affordable hardware I do
       | not see much of a future for POWER in open-source. It seems
       | entirely dependent on IBM to keep it going unless this changes.
        
         | classichasclass wrote:
         | I'm not sure I agree about RISC-V. ARM is now indisputably in
         | the same performance ballpark as x86_64 (M1 most obviously but
         | there are others), as is Power, but RISC-V has a ways to go
         | before it can compete on the same turf. It hasn't even really
         | competed with ARM in embedded, despite its advantages there
         | (though it has all but killed the zombie corpse of neo-MIPS).
         | 
         | I do agree that without other processor makers, however, the
         | Power ecosystem is crucially overdependent on IBM policy. This
         | is not a new problem but it hasn't gotten any better with
         | OpenPOWER.
        
       | ashirviskas wrote:
       | Can someone tell me where I can read more on what Power exactly
       | is?
        
         | Nursie wrote:
         | Power is a processor architecture produced by IBM. It's been
         | pretty popular at times - server side it was up there with Sun
         | Sparc in popularity, before Linux on x86 ate the server market
         | for lunch. Client side, variants of it were in every console
         | for one of the generations - Wii/PS3/Xbox360. As pointed out by
         | another poster, the PowerPC variant used to be in apple
         | hardware too.
         | 
         | Variations of standard Power chips are also what runs IBM's
         | mainframes. For quite a long time they beat Intel in raw
         | performance on some benchmarks. The problem is it was 10x the
         | price.
         | 
         | The workstations and servers were always crazy expensive
         | compared to x86 hardware and that's one reason they remained
         | pretty niche.
         | 
         | Within IBM, Power systems were most frequently used to run
         | IBM's Unix - AIX.
         | 
         | https://en.wikipedia.org/wiki/IBM_Power_microprocessors
        
         | ngcc_hk wrote:
         | https://www.geeksforgeeks.org/powerpc-architecture/
         | 
         | Geek for geek. Otherwise try wiki.
         | https://en.m.wikipedia.org/wiki/PowerPC
         | 
         | Used in old apple before replaced by intel. In one console.
        
           | sidpatil wrote:
           | PowerPC is a derivative of the original POWER architecture by
           | IBM.
           | 
           | https://en.m.wikipedia.org/wiki/IBM_POWER_instruction_set_ar.
           | ..
        
             | chasil wrote:
             | Also used in the Xbox 360, and an exotic variant was also
             | in the PlayStation 3.
        
               | classichasclass wrote:
               | And GameCube, and Wii/Wii U.
        
       | redwood wrote:
       | Squeezed out my ARM frankly since it's captured the imagination
       | as the next server platform
        
       | huks wrote:
       | My experience using Voidlinux, on a Raptor POWER9 system, has
       | been excellent. The software support has just gotten better and
       | better. It would be a shame to lose this momentum.
       | 
       | Affordability and availability are major pain points. I've shared
       | my excitement about OpenPOWER with many and their excitement
       | evaporates when they are told what a modest system costs.
       | 
       | I am strong believer in FOSS and fully open owner controlled
       | hardware. I think this is far more important than it appears at
       | first glance. It sounds like tinfoil hat stuff, but the reality
       | is we're backed into a corner. The less control owners/users
       | have, the more vulnerable they are.
       | 
       | --edit typo s/that/than/..
        
         | classichasclass wrote:
         | Fedora on POWER9 for my daily driver, personally (a dual-8
         | Raptor Talos II). I like the architecture, having been an AIX
         | admin since the 3.2.5 days (still have a personal POWER6 with
         | it) and a long time Power Mac bigot, and I like Raptor's
         | commitment to openness. My HTPC is a Blackbird.
         | 
         | It shouldn't be a privilege to own a fully user-auditable
         | computer. Cost continues to be a problem, which is why I hope
         | Microwatt gets into more things. But the cost is primarily from
         | the motherboard, which has no economies of scale (CPU prices
         | are actually fairly competitive), and other than the processor
         | everything else is off-the-shelf. Fedora, Void and FreeBSD work
         | well in my personal experience, and there are other choices.
        
           | berlinquin wrote:
           | Unrelated, but thank you for your blog! I check in
           | occasionally, mostly looking for a reason to justify buying
           | one of the Raptor machines at work. I really enjoy the
           | articles on qemu/virtualization.
        
         | AlbertoGP wrote:
         | My main workstation is too a Raptor Power9 running Void since
         | November 2019, and I'm very happy with it although as the
         | article mentions, "My experience with firmware is that open
         | source does not mean necessarily better, rather the opposite".
         | OpenBMC (the firmware for the little ARM-based embedded
         | computer that boots the big one) has a number of rough edges.
         | 
         | From time to time I submit patches to software to make it work
         | (or work better) on this machine, last week it was these two
         | trivial ones:
         | 
         | https://github.com/ciao-lang/ciao/pull/45
         | 
         | https://github.com/janet-lang/janet/pull/915
         | 
         | Typically that's all that's needed, in some cases it's just
         | more of it:
         | 
         | https://github.com/oneapi-src/oneDNN/pull/767
         | 
         | But for most things, since it's Linux, it's just those small
         | changes: (one of my customers runs the software I write on AIX
         | and that's a little more work)
         | 
         | https://github.com/IntelRealSense/librealsense/pull/5586
         | 
         | https://sourceforge.net/p/speed-dreams/tickets/1022/
         | 
         | For Rust programs, many packages used i8 for C strings (to
         | interface with OpenGL for instance) which broke when running on
         | ppc64 and had to be changed to c_char, but that's not a problem
         | these days, I guess because many people now test on ARM.
         | 
         | https://github.com/femtovg/femtovg/pull/5
         | 
         | Before Power10 was done, IBM actually asked us Raptor users
         | about proposals for useful machine code instructions to add to
         | it. I replied that I'd like to have hardware UTF-8 de-/encoding
         | but they wanted a more detailed proposal and I never got around
         | to write it. I'm not even sure that this would be worthwhile,
         | but I see UTF-8 de-/encoding everywhere in the code I write and
         | would like it to approach memory read/write speeds.
         | 
         | I was very disappointed to learn that they had gone more
         | proprietary with Power10 so I would not have been able to use
         | those instructions anyway. What a pity! This machine still
         | covers my needs so I'm not planning to replace it any time
         | soon.
        
           | classichasclass wrote:
           | Interesting, never heard about them asking about ISA changes.
           | Where was that done?
           | 
           | There are some lovely new instructions in Power10 but until
           | they get the firmware source out fully I won't use them in
           | the Firefox JIT.
        
             | AlbertoGP wrote:
             | It was through the IRC channel. I sent a direct message as
             | response and exchanged a couple of sentences, then they
             | gave me their IBM email address to submit the detailed
             | proposal. My understanding was that it would have to be
             | justified and for that I would have to show that it could
             | be more efficient than an implementation based on the
             | existing SIMD instructions which I'm not familiar with. I
             | suspect that the kind of instructions that could actually
             | be put there might not perform better than that.
             | 
             | I regret not sending at least an amateurish proposal, I
             | still think it would be a good idea to have no-cost UTF-8
             | en-/decoding. Not just for text, but for general variable-
             | length encoding of other kinds of data.
        
               | classichasclass wrote:
               | Very interesting. Which channel specifically?
               | 
               | VSX is really where the new development is happening, but
               | it's become quite complete. The PC-direct instructions
               | first made available in P9 also really closed a gap
               | (beforehand you had to do bl with a weird flag to get PC
               | in LR without trashing the history table).
        
               | AlbertoGP wrote:
               | The IRC channel was #talos-workstation on FreeNet, now on
               | Libera.Chat.
               | 
               | Do you know of some minimal example of calling VSX
               | instructions from C?
               | 
               | Ideally just one .c file and one Makefile or README with
               | the exact GCC command to compile it, plus a pointer to
               | documentation describing each instruction. I've seen
               | assembler inserted into C source code with GCC, but I've
               | never done it and I assume there are some non-obvious
               | details to take into account.
        
               | gnufx wrote:
               | I don't know what you want of the VSX, but if you want
               | vectorized code, what do you expect to gain over letting
               | the compiler do it on your C? If you want an example,
               | there's the kernels in OpnBLAS and FFTW (and BLIS, but
               | that seems to be broken on POWER9).
               | 
               | There's an IBM web page somewhere with three(?)
               | alternatives for using VSX, one of which is just using
               | SSE intrinsics -- I don't know how well that works -- and
               | another is a library that's now in Fedora, whose name I
               | forget.
               | 
               | That said, it's obviously not competitive with AVX2 or,
               | presumably SVE, unless you can win on parallelization (or
               | plain clock speed, which you probably can't).
        
           | gnufx wrote:
           | I don't manage the system I work on, so I don't see OpenBMC,
           | but "a number of rough edges" sounds a lot better than the
           | proprietary BMCs it's been my misfortune to use, which appear
           | basically to be unsupported.
           | 
           | As far as rust goes, I've just asked around for rust
           | expertise to try to get a feel for whether it's worth
           | persisting with trying to make the stuff work that a user
           | wants, since I know nothing about it. (The first issue I
           | found was exactly i8 in a current crate.) That is rather the
           | exception in building free software for ppc64le, though, in
           | my experience of packaging HPC-type stuff. The real problems
           | are with Mellanox/NVIDIA proprietary stuff for GPU support.
        
       ___________________________________________________________________
       (page generated 2022-01-22 23:01 UTC)