After 8+ weeks of thinking about it I finally figured it out. It's actually kinda simple in a complex sort of way. One way is to mark async calls and run them on a second proc (spell check on Proc A, grammar check on Proc B) or to separate class methods and run some methods on Proc A and some on Proc B ( Class A has Method A, Method B Method C, Method D Method E. Method A calls method B, Method C Calls D which calls E.
By running Method A on Proc A, and Method B on Proc B, if they are independent and synchronous, the process will run faster - an example would be a game where physics code can run on one chip, rendering methods go to another, joystick feedback can run on another, internet connection, (all have entry points). SInce every app has a main thread it would be possible to mark methods with Proc Affinity with a low level header. When programs load paths are computed and affinity is assigned to each entry point with independent results. Of course devs would have to do SOME of the work but it's a good tech for improving the "single threaded" code paradigm.