1. A method of performing symmetric multiprocessing (SMP) computing, the method comprising: forming a cluster of SMP compute nodes (servers), with the memory in each node similarly divided into a local and global partition, where the global partitions of each node combine together to form a single global memory; starting and executing an application program in the local memory partition of the head SMP node in the cluster; allowing additional threads of the program to be launched and executed by processor cores in the head node or in worker nodes; identify and copy a given memory page from the global memory to the local memory partition of a given SMP node when needed by the executing program thread; and enabling a thread to lock for exclusive access a given memory page in the global memory.