Home | Links | Contact Us | More About Intellectual Property | Bookmark
Search patents:
Home Processing Data Method-and-apparatus-for-dispatching-tasks-in-a-non-uniform-memory-access-NUMA-computer-system

 Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
OF THE INVENTION In the following description, for purposes of explanation and not limitation, ...


 Method and system for automatically measuring resource needs in a computer
It is an object of the present invention to provide a system and method that dynamically ...


 System and method for operating a packet buffer
The present invention incorporates a technique that enables implementation of a high-speed, high-...


 Method for efficient serialized transmission of handshake signal on a digital bus
In accordance with the preferred embodiment of the present invention, a method is provided for ...


 Method and system for reducing the number of connections between a plurality of semiconductor devices
It is therefore an object of the present invention to provide a method and system for reducing the ...


 Receive deserializer for regenerating parallel data serially transmitted over multiple channels
A receive deserializer which regenerates parallel data words that have been broken into smaller ...


 Method and apparatus for transmitting control information across a serialized bus interface
The preferred embodiment present invention provides a scheme that can be used to transmit control ...


 On chip network with memory device address decoding
OF EMBODIMENT(S) OF THE INVENTION As used herein, the terms "assert" and "negate" are used when ...


 Data packet switching
To overcome these problems, the present invention provides a telecommunications packet switch ...


 Ethernet system
We claim: 1. In combination for use in a system providing signals having individual ones of a ...


 Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system

Details
Inventors: McDonald, Jarl Wendell;
Assignee: International Business Machines Corporation (Armonk, NY)
Primary Examiner: Bullock, Jr.; Lewis A.
Assistant Examiner: Tang; Kenneth
Attorney, Agent or Firm: Truelson; Roy W. Cockburn; Joscelyn G.

A dispatcher for a non-uniform memory access computer system dispatches threads from a common ready queue not associated with any CPU, but favors the dispatching of a thread to a CPU having a shorter memory access time. Preferably, the system comprises multiple discrete nodes, each having a local memory and one or more CPUs. System main memory is a distributed memory comprising the union of the local memories. A respective preferred CPU and preferred node may be associated with each thread. When a CPU becomes available, the dispatcher gives at least some relative priority to a thread having a preferred CPU in the same node as the available CPU over a thread having a preferred CPU in a different node. This preference is relative, and does not prevent the dispatch from overriding the preference to avoid starvation or other problems.

DETAILED DESCRIPTION In accordance with the present invention, a dispatcher for a non-uniform memory access computer system dispatches all threads from a single, common ready queue (also known as a run queue), which is not preferentially associated with any CPU or group of CPUs.
The dispatcher considers the physical placements of CPUs when dispatching threads, and specifically, preferentially favors the dispatching of a thread to a CPU having a shorter memory access time for accessing a memory subset likely to contain a relatively larger share of thread required data.
In the preferred embodiment, the NUMA system is designed as a system of multiple discrete nodes, each having a local memory, one or more CPUs, an internal node bus, and an interface for communicating with other nodes.
System main memory is a distributed memory comprising the union of local memories in each node.
Memory access to a location within the node of the processor is faster than memory access across a node boundary.
In the preferred embodiment, a respective preferred CPU may be associated with each thread.
When a CPU becomes available, the dispatcher gives at least some relative priority to a thread having a preferred CPU in the same node as the available CPU over a thread having a preferred CPU in a different node.
This is a relative priority, and not an absolute constraint.
It is still possible to select a thread for dispatch to a CPU which is not in the same node as the thread's preferred CPU, and thus avoid starvation or other problems which may arise from too rigidly constraining the thread dispatching choice.
In the preferred embodiment, a preferred node, called an "ideal node", is generally assigned to user processes.
When a process spawns a thread, the thread inherits the ideal node of the process.
Additionally, a CPU in the ideal node is selected as the "ideal processor" for the thread.
The selection of ideal processors for threads spawned by a single process is generally rotated on a round-robin basis.
Other selection criteria being equal, threads are preferentially dispatched to ideal processors first, and to ideal nodes second



Related patents
  Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control
A client-side application-classifier has an upper interface to a higher-level network-socket library. The higher-level network-socket library provides high-level network ...
  Radio communication system using frequency hopping, and method of controlling same
An object of the present invention is to provide a method through which notification is given of hopping patterns in simple fashion and in a short period of time. A...
  Call admission control system for wireless ATM networks
The present invention addresses the foregoing needs by providing a call admission control protocol, for use in a network base station or the like, which determines ...
  Vehicle tracker, mileage-time monitor and calibrator
These needs are met by the invention, which provides a vehicle location determination system, optionally linked to the vehicle odometer, that: (1) tracks vehicle ...
  Health monitoring and diagnostic device and network-based health assessment and medical records maintenance system
The present invention meets the needs described above in a health monitoring and diagnostic device referred to as a LIFESTREAM cholesterol meter. This meter is ...
  Method and apparatus to throttle connections to a H.323 multipoint controller by receiver terminals in a loosely-coupled conference
The present invention is a method of throttling connections to a multipoint controller in a loosely-coupled conference. The loosely-coupled conference includes at least ...
  Multipoint digital simultaneous voice and data system
The present invention facilitates the sharing of data and the exchange of voice information over a network of DSVD modems, including a first remote digital simultaneous ...
  Speaker identifier for multi-party conference
A multi-party conferencing method and system in accordance with our invention identify the participants who are speaking and send an identification of the speaking ...
  Asynchronous transfer mode (ATM) system having an ATM device coupled to multiple physical layer devices
What is claimed is: 1. An asynchronous transfer mode (ATM) system comprising: an asynchronous transfer mode (ATM) layer device, the ATM layer device having both a ...
  Data bus for a plurality of nodes supplying optical signals
The invention relates to a data bus for a plurality of nodes which are connected to one another. A data bus of this type is known from the German Patent Application 19720...

0.014

Archive: All patents - Links

Copyright (c)2006 Eipa-patents.org - All rights reserved