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

Parallelized Management of Advanced Program-to-Program Communications / VM in a Server Superstructure

IP.com Disclosure Number: IPCOM000114899D
Original Publication Date: 1995-Feb-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 108K

Publishing Venue

IBM

Related People

Wade, BK: AUTHOR

Abstract

Disclosed is a method for letting multiple threads of execution running in parallel on multiple Central Processing Units (CPUs) (with shared storage) manage a set of Advanced Program-to-Program Communications/VM (APPC/VM) conversations without requiring either a static number of threads or a static assignment of conversations to threads.

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

Parallelized Management of Advanced Program-to-Program Communications
/ VM in a Server Superstructure

      Disclosed is a method for letting multiple threads of execution
running in parallel on multiple Central Processing Units (CPUs) (with
shared storage) manage a set of Advanced Program-to-Program
Communications/VM (APPC/VM) conversations without requiring either a
static number of threads or a static assignment of conversations to
threads.

The apparatus is deployed in a programming environment providing:
  o  Multithreading in a single application program
  o  Multiprocessing in a single application program
  o  A method for associating a named interrupt handler with a
      specific type of interrupt
  o  A message queueing system with which an interrupt handler or
      thread can place messages in a queue and with which threads of
      execution can take specific messages out of the queue
  o  A parallelization facility where a given subroutine is
designated
      as the routine which will remove messages from a queue and
where
      a software algorithm runs that subroutine on a
      dynamically-changing number of threads, the number of said
      threads varying according to the message arrival rate in the
      associated queue

The apparatus is made up of the following components:
  o  A message queue and associated subroutine, defined to the
      programming environment's parallelization facility.  The queue
      will be used for recording APPC/VM events needing servicing.
The
      parallelization facility will run the associated subroutine on
a
      number of threads, the number being determined by the queue's
      message arrival rate.
  o  An interrupt handler.  One instance of this handler is
registered
      for each APPC/VM resource being managed.  When APPC/VM activity
      happens, the activity is reflected via interrupt; when the
      interrupt handler is driven, it makes a copy of the APPC/VM
      External Interrupt Buffer (EIB), stamps the copy with a
per-path
      sequence number, and sends the EIB copy to the message queue.
  o  A data structure representing the overall state of the set of
      APPC/VM conversations being managed.  The data structure is an
      array of control blocks, one block per possible path ID.  Each
      element of the array contains:
     -  A lockword for protecting the path via the System/390 Compare
         and Swap instruction.  Any thread wanting to manipulate the
         path must acquire this lockword.
      -  A pointer to a path control block.  If the path is not in
         use, this pointer is zero.
      -  A pair of sequence numbers (next one to use, next one
         expected).  These are used for maintaining sequentiality for
         interrupts presented for the path and toge...