4 ms·
What you said sounded in my head more like you’re describing a cooperatively scheduled OS rather than a novel hardware architecture.
by binary132 3y ago
What you said sounded in my head more like you’re describing a cooperatively scheduled OS rather than a novel hardware architecture.
- temporarely 3y ago(This has been a very low priority background thread in my head this morning so cut me some slack on hand waving.) Historically, the H/W folks addressed (pi) memory related architectural changes, such as when multicore came around and we got level caches. Imagine if we had to deal at software level with memory coherence in different cores [down to the fundamental level of invalidating Lx bytes]. There would be NUMA like libraries and various hacks to make it happen. Arguably you could say "all that is in principle OS responsibility even memory coherence across cores" and we're done. Or you would agree that "thank God the H/W people took care of this" and ask can they do the same for processing? The CPU model afaik hasn't changed that much in terms of granularity of execution steps whereas the H/W people could realize that d'oh an execution granularity in conjunction with hot context switching mechanism, could really help the poor unwashed coders in efficiently executing multiple competing sequences of code (which is all they know about at H/W level). If your CPU's architecture specs n+/-e clock ticks per context iteration, then you compile for that and you design languages around that. CPU bound now becomes heavy CPU usage but is not a disaster for any other process sharing the machine with you. It becomes a matter of provisioning instead of programming ad-hoc provisioning ..
- binary132 3y agoIf our implementations are bad because of preemption, then I’m not sure why the natural conclusion isn’t “maybe there should be less preemption” instead of “[even] more of the operating system should be moved into the hardware”.
- marcosdumay 3y agoIf you have fewer threads ready to run than CPU cores, you never have any good reason to interrupt one of them.