Central processing units have two or more groups of in each case one processor, one memory and one coupler, the processor and memory are connected to exactly one coupler and the couplers are connected to one another. A memory area distributed uniformly over the address space is allocated disjointedly to each group by address interleaving and each coupler itself meets an access to the memory area allocated to its group and meets other accesses via the connection to the coupler concerned. The central processing units are provided with interfaces for building up multiple systems.
A method includes hooking a critical operating system function, stalling a call to the critical operating system function originating from a call module, determining a location of the call module in a kernel address space of a memory, and determining whether the location is in a driver area of the kernel address space. Upon a determination that the call module is not in the driver area, the method further includes taking protective action to protect a host computer system. In this event, it is highly likely that the call module is malicious code that has been injected into the kernel stack/heap through a malicious kernel mode buffer overflow attack. By taking protective action, exploitation, damage or destruction of the host computer system is prevented.
A system including at least two processing units embedded on a chip able to communicate with each other and to generally independently control access to data from memory on the chip.
A method of managing requests in a multi-node system. A first request associated with a location in a memory address space is sent to a first node. A second request associated with the same location in the same location in the memory address space is received before a response is received from the first node to the first request. If the received second request had been received from the first node, a retry message is sent to the first node requesting resending of the second request.
A method of sending messages from a node to a receiving agent. In one embodiment, if a outbound message that is stored in a buffer in the node is unsuccessfully sent to the receiving agent more than a threshold number of times, outbound messages currently stored in the buffer are sent to the receiving agent. It is determined that these outbound messages have been successfully sent before any other outbound messages are sent to the receiving agent. In a further embodiment, an outbound message is successfully sent if a success confirmation message is received for the outbound message from the receiving agent. In a still further embodiment, a retry response is received from the receiving agent for an outbound message if a buffer in the receiving agent that stores incoming outbound messages does not have room for the outbound message.
A method for reducing memory latency in a multi-node architecture. In one embodiment, a speculative read request is issued to a home node before results of a cache coherence protocol are determined. The home node initiates a read to memory to complete the speculative read request. Results of a cache coherence protocol may be determined by a coherence agent to resolve cache coherency after the speculative read request is issued.