• barsoap@lemm.ee
    link
    fedilink
    English
    arrow-up
    8
    ·
    4 hours ago

    I definitely wouldn’t mind soldered RAM if there’s still an expansion socket. Solder in at least a reasonable minimum (16G?) and not the cheap stuff but memory that can actually use the signal integrity advantage, I may want more RAM but it’s fine if it’s a bit slower. You can leave out the DIMM slot but then have at least one PCIe x16 expansion slot. A free one, one in addition to the GPU slot. PCIe latency isn’t stellar but on the upside, expansion boards would come with their own memory controllers, and push come to shove you can configure the faster RAM as cache / the expansion RAM as swap.

    Heck, throw the memory into the CPU package. It’s not like there’s ever a situation where you don’t need RAM.

    • enumerator4829@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 hour ago

      All your RAM needs to be the same speed unless you want to open up a rabbit hole. All attempts at that thus far have kinda flopped. You can make very good use of such systems, but I’ve only seen it succeed with software specifically tailored for that use case (say databases or simulations).

      The way I see it, RAM in the future will be on package and non-expandable. CXL might get some traction, but naah.

      • barsoap@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        15 minutes ago

        The cache hierarchy has flopped? People aren’t using swap?

        NUMA also hasn’t flopped, it’s just that most systems aren’t multi socket, or clusters. Different memory speeds connected to the same CPU is not ideal and you don’t build a system like that but among upgraded systems that’s not rare at all and software-wise worst thing that’ll happen is you get the lower memory speed. Which you’d get anyway if you only had socketed RAM.

        • Jyek@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          15 minutes ago

          In systems where memory speed are mismatched, the system runs at the slowest module’s speed. So literally making the soldered, faster memory slower. Why even have soldered memory at that point?

          • barsoap@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            6 minutes ago

            I’d assume the soldered memory to have a dedicated memory controller. There’s also no hard requirement that a single controller can’t drive different channels at different speeds. The only hard requirement is that one channel needs to run at one speed.

            …and the whole thing becomes completely irrelevant when we’re talking about PCIe expansion cards the memory controller doesn’t care.

      • Mister Bean@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        45 minutes ago

        Couldn’t you just treat the socketed ram like another layer of memory effectively meaning that L1-3 are on the CPU “L4” would be soldered RAM and then L5 would be extra socketed RAM? Alternatively couldn’t you just treat it like really fast swap?

        • barsoap@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          18 minutes ago

          Using it as cache would reduce total capacity as cache implies coherence, and treating it as ordinary swap would mean copying to main memory before you access it which is silly when you can access it directly. That is you’d want to write a couple of lines of kernel code to use it effectively but it’s nowhere close to rocket science. Nowhere near as complicated as making proper use of NUMA architectures.