Browse Prior Art Database

Dynamic Allocation of Processes and Threads for Transaction Processing

IP.com Disclosure Number: IPCOM000122906D
Original Publication Date: 1998-Jan-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 2 page(s) / 62K

Publishing Venue

IBM

Related People

Greenfield, JS: AUTHOR

Abstract

Disclosed is an efficient method to dynamically allocate processing resources for transaction processing. The number of system processes used to process transactions is automatically adjusted to match the transaction load, without incurring the overhead of spawning a new system process for each transaction.

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

Dynamic Allocation of Processes and Threads for Transaction Processing

      Disclosed is an efficient method to dynamically allocate
processing resources for transaction processing.  The number of
system processes used to process transactions is automatically
adjusted to match the transaction load, without incurring the
overhead of spawning  a new system process for each transaction.

      Disclosed is a method to efficiently allocate processes and
threads for a dynamically-varying transaction processing load.  The
technique uses low-cost thread creation to process most
transactions.  The number of system processes used for transaction
processing is automatically adjusted to match the current transaction
load.  A pre-forking technique can be used to improve efficiency and
avoid restrictions imposed by POSIX-compliant and similar systems.

      A typical embodiment starts with an initial thread of an
initial system process acting as a server and awaiting the beginning
of a transaction.  This server process is called active.

      Upon the beginning of a transaction, the initial thread of the
active server process spawns a new thread to process the remainder of
the transaction.  If a new thread cannot be spawned because of a
system- or application-defined limit on the number of threads in a
single process, the server creates a new system process to handle new
transactions.  At this point, the initial server process ceases to be
active.  It stops accepting new transactions, and moves into a
completion phase.

      The new syste...