6 ms·
Re: all the programming replies. Preface, I'm not a programmer, I'm a hardware guy. It's all well and good to make sure your programs and future programs are
by navjack27 9y ago
Re: all the programming replies.
Preface, I'm not a programmer, I'm a hardware guy.
It's all well and good to make sure your programs and future programs are able to be run in a parallel fashion but there is a big hole to that and it's the operating systems methods of handling cores and threads.
Let's use folding@home as an example. Very multithreaded. Now let's use, at first, Ryzen 1800x as the hardware we'll run it on. We have 8 physical cores. We also have two separate dies. Each die has four cores. Each die module has their own level 3 cache. As you use your system and you are also folding, even in the newest Linux kernel, data and instructions might get evicted and bounced around and take latency hits and thus performance hits. Nothing really locks the work to the cores or threads taking into account locality. You can adjust this with HTOP and set each thread of folding manually.
Beyond AMD, even Intel has similar issues still with the 8700k. Hell, in general just efficient multithreading seems like a tough compromise for OS development. "Users" want things to be smooth upon interaction, so you have preemption. Work wants to get done but it also wants to be a good citizen to the rest of the system.
Developers are going to have to learn about, and keep up to date with, much more then a fancy new language. You're going to have to learn each new CPU inside and out and how each OS treats it.
- vondur 9y agoHow did the BeOS designers make the BeOS so good at multiprocessing? I remember how well the operating system scaled with more than one CPU.
- da_chicken 9y agoProbably because it ran on PowerPC. If I remember my systems design class from 20 years ago, RISC makes implementing or scaling multiprocessing easier.
- nradov 9y agoIntel processors essentially are RISC now internally. They just expose more complex instructions as a higher level API.
- JetSetWilly 9y agoThey are not RISC internally. In fact I read an interview with an intel engineer that an intel cou has >10,000 uops. That’s not in any sense reduced! And it doesn’t make sense to apply the term ”risc” to internal CPU design anyway.
- GabeRicard 9y agoIt ran pretty well on Intel also. And it originally ran on AT&T Hobbit, whatever the hell that was.
- TickleSteve 9y agoApplications scale, not operating systems. There was nothing magic in BeOS, simply multithreading that seemed novel at the time in consumer-level hardware. Hate to say it, but there was no magic, just engineering that everyone now has.
- gone35 9y agoVery well put! Not an expert but, as far as I know, parallel OS development definitely seems to be a frequent blind spot in the systems literature...
- lmm 9y agoThe traditional OS is becoming increasingly irrelevant in these days of virtualisation. I predict that future high-performance systems will be built with unikernels.
- TickleSteve 9y agoIt's not a blind-spot, concurrency and parallelism are the core of every CS level operating system course at uni-level. There are mountains of white-papers discussing every aspect you can imagine. It's simply that all existing OS's are simply good enough. Applications scale, not operating systems. The problem is now in the application/algorithm level, not the OS level.