Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> today's insanely powerful hardware you should not ever be constrained in your programs to ever have to consider setting core affinity

That is wrong in HPC environment.

Most programs tailored for HPC will set core affinity manually. And they have very good reason to do so (cache affinity, memory bindings).

The correct abstraction depend of your domain. There were indeed very little incentive up to know to play with core affinity and the scheduler in a classical desktop environment.

The story is different on systems with strong constraints on efficiency.



I don't want you to determine where my programs on my computer run though. I want my operating system, which has much more context about the hardware available, a very smart scheduler in place, and honors my user preferences for how to operate on AC or battery power, and takes into account my scheduling overrides I want via AppTamer or similar. You as the developer of the application I'm running shouldn't mess with what cores it runs on, you should just make sure your program is able to be used across all of them, and that's where your reach should end. That's where my reach should end if I am writing a program you will run. The execution of the process is up to the user running the process and the OS, not the person who wrote the program. Maybe that's not an opinion may people share with me though


Yep but that has nothing to do with HPC. Those are super computing applications and you're not running those on your laptop or desktop. In HPC scenarios the developer knows more than the operating system.


Ah, I missed that we were talking about super computers. I thought we were talking about consumer gear


Also applicable for smaller scale HPC applications running on a single workstation, like an M2 Ultra.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: