Distributed symmetric multiprocessing computing architecture
First Claim
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.
0 Assignments
0 Petitions
Accused Products
Abstract
Example embodiments of the present invention includes systems and methods for implementing a scalable symmetric multiprocessing (shared memory) computer architecture using a network of homogeneous multi-core servers. The level of processor and memory performance achieved is suitable for running applications that currently require cache coherent shared memory mainframes and supercomputers. The architecture combines new operating system extensions with a high-speed network that supports remote direct memory access to achieve an effective global distributed shared memory. A distributed thread model allows a process running in a head node to fork threads in other (worker) nodes that run in the same global address space. Thread synchronization is supported by a distributed mutex implementation. A transactional memory model allows a multi-threaded program to maintain global memory page consistency across the distributed architecture. A distributed file access implementation supports non-contentious file I/O for threads. These and other functions provide a symmetric multiprocessing programming model consistent with standards such as Portable Operating System Interface for Unix (POSIX).
-
Citations
15 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
Specification