Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Node Spill Task Creation

IP.com Disclosure Number: IPCOM000118852D
Original Publication Date: 1997-Aug-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 1 page(s) / 31K

Publishing Venue

IBM

Related People

Olszewski, BR: AUTHOR

Abstract

A class of system architectures, as exemplified by CCNUMA-SMPs (Cache Coherent Symmetric Multiprocessors), have performance characteristics which vary with locality to resources such as memory. On such a system, a balancing must occur between the desire to maintain locality and the need to load balance a system. For example, consider a CCNUMA-SMP containing two unique nodes. Each node has a local memory and access to the memory on the other node. The cost of accessing local memory is less (often considerably less) than accessing the memory on the remote note.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 93% of the total text.

Node Spill Task Creation

      A class of system architectures, as exemplified by CCNUMA-SMPs
(Cache Coherent Symmetric Multiprocessors), have performance
characteristics which vary with locality to resources such as memory.
On such a system, a balancing must occur between the desire to
maintain locality and the need to load balance a system.  For
example, consider a  CCNUMA-SMP containing two unique nodes.  Each
node has a local memory and  access to the memory on the other node.
The cost of accessing local memory is less (often considerably less)
than accessing the memory on the  remote note.  Thus, when creating a
thread of execution, which may share  memory with an existing thread
of execution, a choice must be made between starting the thread on
the local node (hence, close to the memory  it will share with its
parent) or starting the thread on the remote node,  which may have
less overall system utilization.  The problem is the criteria used to
make the decision.

      A solution is to use a "node-spill" technique.  The thread
will be created on the local node if the local node is judged to be
unbusy.  If the local node is judged to be busy, the thread will be
created on a less busy remote node.  One nice way of evaluating how
busy a node is to use the number of current dispatchable (ready)
threads.  This gives an instantaneous indication of how much load is
on the node and is particularly applicable to transaction
environments (such as on-line...