1. 41

In the ticket that spawned this lobster’s story the author quotes that switching to Rust removes support for a number of platforms, some of them being alpha, hppa, ia64, m68k, s390.

I’m really curious how much are non x86/arm platforms used these days, especially as daily drivers for people? What about production systems, are there any big deployments?

    1. 28

      MIPS is everywhere, still. Including in network gear, wireless, IoT, and other embedded applications.

      1. 8

        This. While it seems to me that most high-end network gear is slowly migrating towards ARM, MIPS keeps turning up in odd places. I recently dug around in the weird world of handheld video game consoles designed to run emulators, and found this spreadsheet compiled by the fine folks here. I was surprised to see a relatively large number of CPU’s with “XBurst” architecture, which MIPS32 plus some DSP extensions.

        I have a friend who recently got an internship at a company to help optimize their AS/400-based database infrastructure, and it looks like the current IBM systems are still backwards-compatible with S/390 programs. So while you might not see s390 much it’s probably not going away quickly.

        I believe Alpha, PA-RISC and IA-64 are officially deprecated these days, so nobody is making new ones and nobody seems to want to. To my surprise, it appears that people are still manufacturing SPARC hardware though.

        1. 3

          Mostly Fujitsu, but even they are doing more aarch64.

        2. 3

          it looks like the current IBM systems are still backwards-compatible with S/390 programs

          My understanding is that IBM Z stuff today is extremely compatible with System/360 programs from the mid-’60s.

        3. 2

          So while you might not see s390 much it’s probably not going away quickly.

          For legacy applications on MVS and friends, yeah, but IBM basically killed 31-bit Linux.

          To my surprise, it appears that people are still manufacturing SPARC hardware though.

          There’s still a market for legacy Solaris systems.

          1. 1

            How frequently are these legacy Solaris systems updated? How frequently are IBM Z systems updated? I heard (might be unsubstantiated) that some mainframes still run 20 year old Perl, even though the OS gets updates.

            1. 1

              Depends how much they care; if they do, they’ll keep their ancient application onto newer Solaris on newer hardware (i.e M8).

              The 20-year-old-Perl makes me think you’re talking USS on z/OS (aka MVS); that’s a world I know very little of.

        4. 1

          IBM i (née AS/400) is all on PowerPC these days. It’s a very different system from s390/mainframe/zOS

    2. 19

      I work on porting software to IBM i; that’s a platform you might know better as OS/400. It’s popular with businesses, usually in the retail/financial/logistics/etc spaces. Those kinds of shops are usually pretty isolated from trends in the tech industry, but they’re everywhere. Chances are you’ve worked with or seen them and never really thought of it.

      Most of the software I target runs in the AIX compat layer; AIX itself is technically POSIX compliant, but it really stretches the boundaries of compliance. All that AIX stuff is PowerPC; the CPUs are actually relevant/competitive. Actual native software is even weirder and is basically EBCDIC WebAssembly, to tl;dr it.

      1. 2

        Do you work for IBM? What type of system do you run that on?

        Floodgap’s main server has been AIX (first on an Apple Network Server 500 and now on a POWER6) since its first existence, and I used to do work on a workstation with 3.2.5. There’s also a ThinkPad “800” and 860 around here. However, IBM’s kind of hostile to us AIX hobbyists and I dislike having to dig out an HMC to do any reconfiguration with the LPAR. And IBM i (and OS/400) are worse, given that the entire system is one big vendor lock-in.

        1. 4

          I don’t work for IBM. The box I use is a hosted LPAR on a POWER9.

          I never got into AIX except as a faster way to cross-compile; smit is a poor substitute for real administration on a 5250 (It’s still better than HP-UX though.). One dirty secret is as much as IBM wants you to use the HMC, you don’t really have to for single systems; due to the screaming of i users who don’t want to use VIOS, let alone an HMC, you can totally do basic administration without an HMC.

          I don’t know if there’s AIX hobbyists, but I’m involved with a community for i hobbyists.

          1. 1

            If there’s not an AIX hobby club, then let it begin with me. (Jokes aside, someone used to call themselves the “MCA Mafia.”) But how would you reconfigure RAM allocation and so forth? On this POWER6, ASMI doesn’t really have any options for that.

            smit happens, but smit is definitely better than sam, I agree!

            1. 1

              Oh, the Ardent Tool of Capitalism?

              It’s been a long while since I looked at ASMI. If you’re running i as the dom1, then i can actually act as a mini-VIOS, with some limitations (i.e no SEAs, you have to bridge virtual ports to something).

      2. 2

        AS/400 is a neat system. Very high uptimes.

        Also, I was always impressed with AIX on rs/6000s or HP PA RISC hardware (hpux was not so good).

    3. 18

      RISC-V has gotten significant traction in embedded, largely killing off everything that isn’t ARM for new projects.

      There are a number of RISC-V Linux SBCs in the Raspberry Pi class coming out during 2021, although mostly at $100 to $150 price-points, so several times the price of Pis (as are many of the more serious ARM-based Pi competitors). Allwinner is reportedly currently manufacturing 5 million Linux-capable RISC-V SoCs using the Alibaba C906 core. That’s small compared to the 30 million Raspberry Pis that have been sold in the last eight years but it’s a pretty good number for a single manufacturing run. Seeed has said their board using this chip will sell starting from $12, able to run Linux, though possibly with only 256 MB of RAM like the first Pi.

      1. 19

        Just so folks know, Bruce Hoult is ex-SiFive.

        1. 3

          Yup, I left Samsung R&D to join SiFive to help make RISC-V real and significant. It’s a year since I stopped being at SiFive, but I’m still involved with several RISC-V Extension Working Groups and in other ways and try to keep abreast of what is going on.

          I’m stoked to see other companies such as Alibaba and Allwinner get into RISC-V with low cost high volume products.

          It’s a wonderful thing to have a major ISA that can’t be killed by corporate whim or by any one company or group of companies going out of business.

          1. 0

            Perhaps you could recommend a board? I’m looking for something with a usable amount of ram (a gig would be nice), and the ability to output HDMI, with a fully documented GPU. Doesn’t need to be a fancy GPU for games or anything, I just wanna do basic 2d UI work, and I want to run it bare-metal, so anything requiring a linux and/or binary blobs doesn’t interest me. Is there something like this available now, or announced that I should get on their mailing list?

            1. 6

              Nothing has GPUs right now. I’m not personally aware of any fully-documented GPU in the world, on any system, but maybe you have something in mind.

              The Beagle-V and PicoRio are promised with PowerVR GPUs with open-sourced drivers later this year –yes, from Imagination Technologies. You can imagine the skepticism around that. The PicoRio is supposed to also have open-source CPU cores. But the project has gone silent.

              The Microchip Icicle board has a PCIe slot you can plug your own fully documented GPU into (if you have one). It also has the RISC-V cores embedded in a pretty big 250k LUT FPGA, so you could implement your own simple frame-buffer graphics with VGA or DVI output if you’re handy with FPGAs. There are designs on github.

              The HiFive Unmatched also has a PCIe slot and an M.2 slot so you could bring your own fully documented GPU to either of those slots also. Radeon graphics cards are known to work and have an open-source driver. SiFive demos the board with a $300 150W RX 580, but cheaper boards will no doubt work also.

              1. 1

                Great, thanks for that. FWIW what I’m after in the realm of graphics isn’t political, I don’t really care if it has a bunch of extra stuff in there I can’t use, I just want to be able to do useful UI drawing without having to run Linux.

      2. 4

        largely killing off everything that isn’t ARM for new projects.

        Citation Needed? This statement immediately makes me think of ESP32, which seems very common in IoT gear — my home WiFi has several clients reporting themselves as made by Espressif — and is very big in the Maker/hobbyist world.

        You refer to RPi, but that’s a whole different ballpark from the embedded world I’m semi-familiar with, where RAM maxes out at about 300KB and MMUs are nonexistent.

        1. 9

          Check the ESP32-C3, a new ESP8266 replacement with a RISC-V core replacing the 8266’s Xtensa core.

          And the ESP32-S2 released a few months ago with one Xtensa core and one RISC-V core. If you guess that the next version will have two RISC-V cores then you’ll probably be correct.

          Espressif is a prime example of a company that is quickly dumping other ISAs for RISC-V. Citation provided :-)

    4. 10

      I use daily Talos workstation, which is powerpc64 / powerpc64le, but I guess it doesn’t count since Rust is available for that.

      1. 2

        wow, those are not cheap. What made you buy one of those instead of a beefed up x86_64 workstation?

        1. 4

          I actually got it for free for development purposes, but I would have bought Blackbird anyway.

          I basically wanted FOSS firmware, I already used coreboot and didn’t like what AMD and Intel did with requiring blobs.

          1. 1

            Out of curiosity: How often do you run into problems where something does not work b/c you are on PowerPC?

            1. 7

              It really depends on what you want to run.

              If you pretty much use only FOSS software, you’re all set. So e.g. Skype, Steam or Zoom won’t work.

              Obviously, that also rules out Wine, but there is PPC64LE port in progress, which will be able to run amd64 Windows binaries when used with Hangover.

              There is also box86 port in progress, which will help with Linux i386 binaries.

              This is all on Linux.

              If you use FreeBSD or OpenBSD, the experience is worse. On FreeBSD, there’s currently no graphic acceleration, but things are pretty much usable (I’m actually a FreeBSD ports dev).

              I have no info about OpenBSD, but I think they still don’t have Rust working, which rules out Firefox at the moment.

              TLDR; It will work just great, if you’re already on Linux and running everything FOSS.

        2. 4

          I bought mine because I have more money than sense, I like PowerPC, and I wanted to support an alternative that actually is comparable in terms of performance. Plus, it’s not an exceptionally exotic architecture. People think it disappeared after the last G5 rolled off the production line and that’s hardly the case. It did largely disappear from the workstation market but it’s not that hard to bring sexy back.

          Your next question is why not buy ARM, and the simple reason is there wasn’t anything I liked as an ARM workstation at the time that was in that performance class, and anyway, ARM will survive just fine.

    5. 8

      Daily drivers for workstations? Yeah it’s pretty much x86/x86_64/ARM/ARM64, with a smattering of POWER and SPARC.

      Production systems? There’s a ton of IBM z in critical business environments. MIPS is popular as an embedded processor, especially in the networking space. POWER and SPARC are still around in the server space and it wasn’t that long ago that I remember large installations of PA-RISC. The M68k still floats around as an embedded or cheap processor.

      But for workstations, I’d be willing to guess you’d cover 99.5% of people with x86/x86_64/ARM/ARM64.

      (What’s gonna happen to HP-UX? There doesn’t seem to be any plans to port it to anything and the only supported architectures are both discontinued…)

      (There’s also the Longsoon architecture that is required to be used in certain things in China, and is used in those places and nowhere else really. Same goes for a few very specific avionics/process control architectures in the rest of the world.)

      (Oh and the plethora of embedded processors with Harvard architectures or weird word sizes or what-have-you. It’s a whole different world there.)

      1. 4

        I have a big soft spot for PA-RISC. My first job out of college was on a K250 running 10.20 (I’m OLD! I’m SO OLD!).

        1. 6

          My youngest coworker at my current job asked me who Johnny Cash was. I died inside a little.

          1. 1

            So, who is that ?

            1. 7

              The inventor of money. That’s why we sometimes call it cash.

    6. 7

      Typing this on a Talos II with Firefox 85 running in Fedora. There are examples of every one of those CPUs (except s390x, eheheh, and I’m working on landing a cheap Itanium) in this room, but the T2 is my daily driver. It has two 8-core POWER9 CPUs.

      Rust works fine on ppc64le, but there isn’t a Rust for 32-bit PowerPC on OS X, which is why TenFourFox won’t advance further (it’s possible with a lot of compromises to make Firefox 52 work, but not anything after Firefox 54). Maintaining toolchains sucks.

      1. 1

        wasm2c

        1. 2

          How would that help? I still have to compile the Rust to wasm, and on top of that right now wasm generally assumes little-endian and no version of PowerPC Mac OS X has thread-local storage. Something like mrustc might be better but it’s not really ready for primetime.

          1. 1

            Rust to wasm is trivial. I know folks that used wasm to get modern LLVM based code onto old unix systems (AIX, Ultrix)

            mrustc was only designed to bootstrap the compiler. It can be used for other purposes, but that wasn’t its goal.

    7. 6

      Can’t think of anything in terms of big computers, but in deeply embedded stuff, the 8051 is just not going away. So many “2.4GHz wireless” dongle+device combos are using Nordic nRF24s, but 8051s also keep popping up in way more interesting places.

    8. 4

      I just ordered a Cavium ThunderX server for HardenedBSD’s build infrastructure. It should hopefully arrive before this time next week. :)

      1. 2

        Cavium ThunderX

        Isn’t this an ARM platform? I’m genuinely curious.

        1. 5

          Oh, shoot. I misread the title. Sorry! It is indeed arm64. In our next round of funding, I plan to acquire a RISC-V system to develop and test HardenedBSD’s exploit mitigations and security hardening techniques.

          1. 1

            Curious how Wasm plays into HardenedBSD’s defense in depth plans?

            1. 3

              What does wasm have to do with the main topic of conversation?

              1. 1

                No response would have been better than this rude comment. I asked a question out of curiosity.

                1. 1

                  Your original question read as a non sequitur, so I’m not surprised by the response to it.

      2. 1

        That’s ARM tho isn’t it?

    9. 4

      Server-side I would bet that in this day and age the POWER fleet is probably the largest after x86/arm. Z might not be weighing much in terms of raw population count but it’s powering a lot of large, critical systems. In the deep-embedded world STM chips are pretty widespread.

      1. 1

        deep-embedded world STM chips

        This is ARM (Cortex-M) though.

        1. 1

          The larger STM32, yes. Not the 8-bit/16-bit micro-controllers. That being said, the generations I was used to are now marked “legacy” (ST7/ST10), so I might very well be wrong.

          1. 4

            I get the impression new designs aren’t using the 8 or especially 16-bit MCUs anymore. Cortex-M0 (and soon RISC-V) ate their lunch. Of course, they’ll be around forever, as embedded designs tend to be.

    10. 4

      As daily drivers, people tend to stick with the big boys. However, in embedded or industrial control, old platforms remain forever. In some regulated industries, it’s possible that changing hardware is as difficult a certification task as the original deployment, where changing versions of software may just be a testing process away.

      Consider this: you can still source new 3 1/2 inch floppies. 1.44 megabytes of “we can not do the process to upgrade” goodness.

    11. 3

      Many semis used for dsp are built on Xtensa. In general, specialized chips use whatever their manufacturer used 20+ years ago so alot of old platforms are still very alive.

      1. 1

        ESP32, made by Espressif but using a licensed Xtensa ISA, is pretty big in embedded. You get a lot of HW functionality, including a dual-core CPU and WiFi and BT, at a really low price point, plus very low standby power draw.

    12. 3

      I’m certainly no expert, but let me share some of what I do know.

      My father was a COBOL mainframer for 30+ years. One of the things I learned about government systems is that change is particularly bound by beaurocratic influencers. Even in situations where getting newer servers is an obvious move, there’s code to think about that’s decades old, and the programmers have had time to dig into the books and crannies of the platform, perhaps making use of novel but obscure functionality of some then-considered fancy mainframe ISA.

      All this to say, I imagine it’s not easy to pivot architectures, despite the fragile monolith effect that happens from building on such platforms in the first place.

      There’s other concerns, like licensing, extreme reliability questions, and of course the market factor of finding someone to write the latest Blub in an old codebase at little notice if something takes a shit.

      Again, I’m not expert in low level architectures and such things, but generally when I’ve seen engineers get heated in this way, there’s usually been a concrete and pragmatic reason why.

      1. 4

        Don’t necessarily discount that fragile monolith.

        My last job pushed nine figures of revenue through one, and was 10 years and hundred millions of dollars into a project to replace a homegrown ERP from the 70s with an Oracle solution (shudder)

        It’s super hard to pivot away, as evidenced by the size of the team that was trying to do just that, but in the meantime that legacy system kept humming along while a dozen people worked to keep it going.

        1. 3

          Is it really “humming along” if that requires a team of 12 people to babysit it?

          1. 8

            A modern replacement might require just as many or more

          2. 4

            I wish I could get the same ROI out of the teams babysitting the kubernetes and serverless solutions that are in vogue today.

    13. 2

      It’s not my main workhorse, but I do still use my Amiga (m68k) every day.

      Primarily used for recreational programming and (music) trackers.

      1. 2

        Which one do you have? I’ve always wanted one, but they’re getting hard to find and I can’t seem to get a good answer as to which one is the most useful.

        1. 5

          Likely too many. A500, A500+, A600 and A1200.

          I switch them once in a while. I currently use the A500, as something I’m working on absolutely needs to work on them. Several weeks ago, I had the A1200 set up instead. I do use A500+ and A1200 the most.

          Usefulness-wise, the A1200’s best among these, due to builtin IDE interface, faster stock CPU and AGA chipset. Compatibility with older games and demos is well taken care of by WHDLoad. But they’re dramatically more expensive than the other keyboard form factor models.

          Cost-efficiency wise, I’d aim at an A500+. They don’t cost much more than the A500, but have full ECS and support 2MB “chip ram”, with near perfect compatibility with anything not requiring AGA. There’s no HDD controller, but it is cheap to add a modern one. There’s more and cheaper peripherals and expansions for A500/+ than any other Amiga computer. Just ensure you’re getting one that is working, and get rid of the battery on the motherboard as soon as you possibly can, before it leaks and destroys the board. Very common issue with these. It’s the only model I listed which stocks a battery.

          A600 takes little space, is also full ECS and has builtin IDE, but is unfortunately hell to expand.

          There’s also the big box Amiga models, but I do not have any. They take up more space and are tend to be much more expensive, even more so when shipping is considered, thus they are ideal if you can collect them in-person. Specs-wise, A1000 is the original model and very limited, A2000 is same generation to A500, A3000 is full ECS like A500+/A600 but has 32bit expansion bus, and A4000 is the top Amiga model, with AGA like A1200.

          Best solution for display, short of a SCART cable and an old CRT, is the OSSC.

          If you’re into programming, you’ll definitely appreciate building yourself a NMI switch. You’ll need to short the IPL0-2 interrupt lines into ground, thus you’ll need 3 diodes and a switch. On A500/+, these are available on the left expansion slot, thus if you get a 86pin edge connector somewhere (e.g. aliexpress), you won’t need to solder anything.

          Another tip is to basically ignore the classic peripherals and expansions. They’re not worth the hassle, when compared to the modern ones, particularly the open hardware ones.

          1. 2

            Sweet, thanks for this

            1. 1

              It’s the only model I listed which stocks a battery.

              Correction: A2000/3000/4000 also have batteries. I had added these later and forgot to edit that part.

    14. 2

      I’m trawling through the GH thread in question, and this comment contains some stats regarding Python downloads: https://github.com/pyca/cryptography/issues/5771#issuecomment-775236290

      I tried looking for a Netcraft report about what machines are used to host websites as a good proxy for “production” but wasn’t able to easily find it.

    15. [Comment removed by author]

    16. [Comment removed by author]

    17. [Comment removed by author]