Offloading of computation for rack level servers and corresponding methods and systems
A method for handling multiple networked applications using a distributed server system is disclosed. The method can include providing at least one main processor and a plurality of offload processors connected to a memory bus; and operating a virtual switch respectively connected to the main processor and the plurality of offload processors using the memory bus, with the virtual switch receiving memory read/write data over the memory bus.
1. A method for handling multiple networked applications using a distributed server system, comprising:
executing a distributed network application on at least one main processor and a plurality of offload processors, the offload processors being mounted on at least one module that is directly connected to a memory bus of a system memory and having a different processing power than the at least one main processor;
executing first application code of the network application that is replicated on at least some of the offload processors;
executing second application code of the network application on the at least one main processor; and
operating a virtual switch respectively connected to the main processor and the plurality of offload processors using the memory bus, with the virtual switch receiving memory read/write data over the memory bus and directing the data to the offload processors.
2. The method of claim 1 , wherein the offload processors support a web server as the first application code and the at least one main processor supports one selected from group of: a server side script engine, a web page rendering engine, and a database engine as the second application code.
3. The method of claim 1 , wherein the offload processors support multimedia streaming data in the execution of the first application code and the at least one main processor supports an overlay control in the execution of the second application code.
4. The method of claim 1 , wherein the offload processors support a proxy server.
5. The method of claim 1 , wherein the offload processors are connected to memory, and execute coherent read out and write into a memory with a snoop control unit.
6. The method of claim 1 , wherein the offload processors execute zero-overhead context switching between threads of a networked application.
7. The method of claim 1 , wherein the offload processors are mounted with a computational field programmable gate array (FPGA) on an in line module connected to a dual-in-line-memory-module (DIMM) socket, the offload processors receiving data via the socket connection.