Russel Winder gave a presentation at UKUUG Summer 2009 conference entitled Shared-memory Multithreading is the Wrong Way to do Parallelism, the slides can be found here. As well as emphasizing the move towards lightweight processes and message passing, cf. Erlang, Scala, etc., the session raised the question of whether current operating systems would be up to the task of managing systems with multiple processors, each of which had thousands of cores all using distributed memory – single central memory architectures are untenable in the presence of very large numbers of processors/cores.