Yes there are scheduling issues, Numa problems , etc caused by the cluster in a box form factor.
We had a massive performance issue a few years ago that we fixed by mapping our processes to the numa zones topology . The default design of our software would otherwise effectively route all memory accesses to the same numa zone and performance went down the drain.
Modern AMD processors are basically a bunch of smaller processors (chiplets) glued together with an interconnect. So yes single chip nodes can have many numa zones.
Wrong level of abstraction. NUMA is an additional layer. If the program (script, whatever) was written with a monolithic CPU in mind then the big picture logic won't account for the new details. The kernel can't magically add information it doesn't have (although it does try its best).
Given current trends I think we're eventually going to be forced to adopt new programming paradigms. At some point it will probably make sense to treat on-die HBM distinctly from local RAM and that's in addition to the increasing number of NUMA nodes.
The kernel tries to guess as well as it can though - many years ago I hit a fun bug in the kernel scheduler that was triggered by numa process migration ie the kernel would move the processes to the core closest to the ram. It happened that in some cases the migrated processes never got scheduled and got stuck forever.
Disabling numa migration removed the problem. I figured out the issue because of the excellent ‘a decade of wasted cores’ paper which essentially said that on ‘big’ machines like ours funky things could happen scheduling wise so started looking at scheduling settings .
The main numa-pinning performance issue I was describing was different though, and like you said came from us needing to change the way the code was written to account for the distance to ram stick. Modern servers will usually let you choose from fully managed ( hope and pray , single zone ) to many zones, and the depending on what you’ve chosen to expose, use it in your code. As always, benchmark benchmarks.
Guessing this is especially hard to automate with peripherals involved. I once had a workload slow severely because it was running on the NUMA node that didn't share memory with the NIC.
Isn't high grade SSD storage pretty much a memory layer as well these days as the difference is no longer several orders of magnitude in access time and thoughput but only one or two (compared to tha last layer of memory)?
Optane was supposed to fill the gap but Intel never found a market for this.
Flash is still extremely slow compared to ram, including modern flash, especially in a world where ram is already very slow and your cpu already keeps waiting for it.
That being said, you should consider ram/flash/spinning to be all part of a storage hierarchy with different constants and tradeoffs ( volatile or not, big or small , fast or slow etc ), and knowing these tradeoffs will help you design simpler and better systems.
Often the Linux scheduling improvements come a year or two after the chip. Also, Linux makes moment-by-moment scheduling and allocation decisions that are unaware of the big picture of workload requirements.
My kids make fun of me because I know the shopkeepers around me by first name, along with the details of their businesses , and that shopping takes forever because I talk to everyone, customers included.
I just love it, it’s easy and I get a lot in return - from perks to incredible encounters. At work it’s been very helpful.
I developed that skill while traveling alone for a year , and it boils down to practicing and reading whether the person you’re talking to is ok with your talking or not.
And now because I know them I go there because I can buy my stuff but also spend five minutes chatting and that makes going grocery shopping a real joy. And because I go there and chat they do nice things like give me a couple of tomatoes or “you’ve got to try this cake” or the wine shop where I automatically get a 15% discount, or the butcher where they let me in when are already closed but they know I’ve come over specially.
And some of those people have become real friends, like go and have dinner together friends. We have very different lives but we get on because we get on. I think everyone benefits from reaching out of their bubble a bit.
If I’m feeling a bit glum I’ll go out to buy bread or something because I know just seeing the people I see regularly will lift me up.
It's interesting, because while having that skill is helpful I think part of the issue a lot of people have is an overturned sense for it - they will be worried they are getting judged for wasting their counterparts time.
It's good to have, but don't let not having it (yet) stop you!
Cold approaches worked better before social media and smartphones . now your awkward encounters can live forever online and cause humiliation for years to come , or some stranger looking for clout may step in. This is has become so common now , because everyone wants to be a hero.
Imagine Lolita with a future seer twist. The adolescent girl knows she will be lovers with the adult male main character in a future time and teases him by bathing with him among other interactions while she is still an adolescent. It's teased at in the third book and fourth book until finally it's revealed to be a love story with a power ala The Stars My Destination.
The intonation is different, there are harsher sounds, but there are diphtongs everywhere in Dutch, and to me thisbis what makes it sound like English. French, Spanish, German etc don’t have diphtongs ( or they’re quite rare )
A couple of days ago a colleague of mine was talking about very old rts games he still liked to play , and mentioned red alert. It turned out he had never heard of dune 2, Warcraft 1 and 2!
My favourite one ( still happens ) is having to mute then unmute at the beginning of the conversation otherwise nobody can hear me. It was so common, with people fiddling with their headset, calling again etc that I eventually asked everyone exhibiting audio issues to start with this
Another interesting one is that if you’re not connected properly , you send messages , but never get notified that they never left, and are never notified that you’re not connected.
It’s also a resource hog and will eat your machine for breakfast.
We had a massive performance issue a few years ago that we fixed by mapping our processes to the numa zones topology . The default design of our software would otherwise effectively route all memory accesses to the same numa zone and performance went down the drain.