Had to deal with multi socket systems many years ago, so i have to deal with multi threading before multicore cpus were a thing.[*] => some programs won't use more than one core. End of story.
When that occurred (with almost all the software in the early days) i just run multi instances of the same software assigned to different cpu cores, not that difficult.
Yes obvious, but the background services, av, and scheduled tasks all hit the cpu, and having the scheduler correctly spreading the workload to different cpu cores is essential, you get a much responsive system.OS scheduler doesn't make programs run parallel. It merely assigns software threads to CPU threads.