Unless they are used for multi-processing in classical UNIX fashion, or proper microkernels, most applications will hardly take advantage of them.
Managed languages runtimes are probably the ones that would be better equipped to take advantage of them, for distributed JIT, GC and asynchronous code.
The Connection Machine style with StarLisp.
Very few devs can write optimal multi-threaded code that explores the single digit count of cores on their laptops or phones already.
IMO we are still far from discovering a truly usable concurrency paradigm (if one even exists).