3 ms·
In some ways it is the environment the M1 was born from that helped. mobile space CPU's focus upon low power usage and that has seen many core software tasks g
by Zenst 6y ago
In some ways it is the environment the M1 was born from that helped. mobile space CPU's focus upon low power usage and that has seen many core software tasks get dedicated instructions and why you end up with the M1 in some tests utterly trouncing competition as it has dedicated hardware catering for the common niche things that software ends up doing - the hardware video encoding being a small area, but deep down, more than that. This along with advances in software/hardware integration and being able to synergies that at a level nobody else can. The way to think of it is - if Intel did an operating system from scratch, it would tap the CPU extremely well compared to others due to them knowing the internals better and fully. Then add the ability for them to see that adding some dedicated hardware to replace some software instruction combinations and you start to see a tightly integrated team of CPU and Operating system/software.
One area that I've always wished CPU's would take would be a dedicated core or two for the OS that is completely isolated from the other cores, which would be for the software/applications you run. Now if those ran about two different architectures - darn that would be the inner geek in me appeased.
- africanboy 6y agoThe project HydrOS aimed to build an Erlang operating system that way: one core for the OS, one scheduler per core other than the OS one. Unfortunately it looks the project is now abandoned
- Zenst 6y agoThank you, not heard of that, had a look https://www.youtube.com/watch?v=8OyRFbf6MDk https://www.youtube.com/watch?v=8OyRFbf6MDk Seems the main/only dev moved onto other things and it stagnated.
- stoat_meniscus 6y agoThe PS3 did something like this. One processing unit of the Cell processor was reserved for the OS while the rest could be used for games.
- setpatchaddress 6y agoWhat would your goal be? I think locking a modern, general-purpose OS to a small number of cores would artificially constrain performance, assuming a reasonable scheduler.
- Zenst 6y agoThe OS don't need that much grunt, some drivers maybe - hence one or two cores, isolated away from user software and secure. Scheduler wise it would become easier as no juggling cycles upon main core that the OS is running upon. Whilst not hitting real-time OS levels, it would be a nice middle ground in some area's as well. Also for cores, the OS and user software don't need the same OS when the OS is just API calls passing parameters, so would be viable to have the OS upon one core type and the user-space cores a totally different architecture. That again would add another level of security.
- billsnow 6y agoYou can already do this. There's a kernel boot parameter called isocpu or something and the kernel will only run on the logical cpus listed. Furthermore, you can isolate your user programs. The general benefit is latency, but there's a theoretical trade-off in scheduling bandwidth. The memory heirarchy will be utilized less efficiently too.