Claims
- 1. A server, comprising:
multiple application processor chips, each of the multiple application processor chips having multiple processing cores; multiple memories corresponding to the multiple processor chips such that one processor chip is associated with one memory; and a plurality of fabric chips enabling each of the multiple application processor chips to access any of the multiple memories, wherein data associated with one of the multiple application processor chips is stored across each of the multiple memories.
- 2. The server of claim 1, wherein each of the multiple processor chips include,
a remote direct memory access (RDMA) and striping engine, the RDMA and striping engine configured to store data in a striped manner across the multiple memories.
- 3. The server of claim 1, wherein one of the multiple memories functions as a parity block for data recovery.
- 4. The server of claim 1, wherein a number of application processor chips is equal to four, a number of processing cores on each application processing chip is equal to 8, and a number of fabric chips is equal to 16.
- 5. The server of claim 3, wherein the data in the parity block is recreated through an exclusive or operation.
- 6. The server of claim 1 wherein the multiple memories are dynamic random access memories.
- 7 The server of claim 1, wherein the processing cores are based on Scalable Processor Architecture
- 8. The server of claim 3, wherein a failure model of n+1 for the application processor chips is achieved through the parity block.
- 9. A method for allowing multiple processors to exchange information through horizontal scaling, comprising:
providing multiple processor chips having multiple processing cores, each of the multiple processor chips associated with a memory, such that one processor chip is associated with one memory; enabling each of the multiple processor chips to communicate with each other; identifying a block of data to be stored in memory; subdividing the block of data into segments; and interleaving the segments across each memory associated with each processor chip.
- 10. The method of claim 9, wherein the method operation of interleaving the segments across each memory associated with each processor chip includes,
parity striping the segments to allow for data recovery.
- 11. The method of claim 9, wherein the method operation of enabling each of the multiple processor chips to communicate with each other includes,
linking each of the multiple processor chips with a plurality of fabric chips.
- 12. The method of claim 11, wherein transaction requests can be independently sent out through the plurality of fabric chips.
- 13. The method of claim 11, wherein a remote direct memory access protocol is implemented through communication links between the multiple processor chips.
- 14. The method of claim 9, wherein the method operation of interleaving the segments across each memory associated with each processor chip alleviates hot spot contention.
- 15. The method of claim 9, further including:
detecting an error when accessing data from one of the multiple memories, the error rendering the data unavailable; and recreating the unavailable data from an other one of the multiple memories.
- 16. The method of claim 15, wherein the method operation of recreating the unavailable data from an other one of the multiple memories includes,
accessing the other one of the multiple memories; performing an exclusive or operation on data within the recreating the unavailable data from an other one of the multiple memories; and recovering the unavailable data.
- 17. The method of claim 15, wherein the other one of the multiple memories functions as a parity block.
- 18. The method of claim 9, wherein the multiple memories are dynamic random access memories.
- 19. The method of claim 9, wherein the multiple processors are configured to execute a server application.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional Patent Application No. 60/345,315 filed Oct. 22, 2001 and entitled “High Performance Web Server”. This provisional application is herein incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60345315 |
Oct 2001 |
US |