Hasn't considering the hardware that will execute code sort of always been pretty important to code-monkeys? I'm obviously not a programmer, so there is most likely a disconnect between what I think and reality.
It seems to me that if you're going to invest yourself heavily in a project for months/years, you would try to ensure that your efforts are as performant as possible to as wide of a market as is reasonable. What I'm getting at is that I think it's pretty much a core responsibility to make accommodations to your market within reason.
Cost, if you are gonna do that you need to account for ALL cpus and try to build the software on top of it. Them tomorrow a 2 more cores cpus shows up and your code is outdated. The way is done today is the correct way, let the operative system decide were to place threads, the scheduler also do load balancing, that you cant do.. this is the correct and most efficient way, they just need to get rid of the main thread bottleneck and we are home free.