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

Parallel Processing of Requests and Data Transfer in Computer Input/Output

IP.com Disclosure Number: IPCOM000115321D
Original Publication Date: 1995-Apr-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 184K

Publishing Venue

IBM

Related People

Cook, RB: AUTHOR [+3]

Abstract

In a computer system consisting of a client and multiple parallel servers, there is a need to send the request message from one client to all the servers. In systems consisting of point to point links and/or disjoint broadcast networks, each of which does not have full connectivity, software must send the same message multiple times, leading to large performance overheads. In addition, notifying software of the arrival of each individual response message has significant overhead.

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

Parallel Processing of Requests and Data Transfer in Computer Input/Output

      In a computer system consisting of a client and multiple
parallel servers, there is a need to send the request message from
one client to all the servers.  In systems consisting of point to
point links and/or disjoint broadcast networks, each of which does
not have full connectivity, software must send the same message
multiple times, leading to large performance overheads.  In addition,
notifying software of the arrival of each individual response message
has significant overhead.

      In a computer system in which data is transferred in long
streams, latency due to data transfer time may be reduced by
"striping," by means of which portions of the data are transferred
concurrently via multiple physical paths.  Systems which control the
striping by means of software treat the transfer of each portion of
the data as a separate Input/Output (I/O) operation, thereby
multiplying
the software path length by the number of concurrent streams.

      Disclosed is a method of extending computer I/O to enable a
single I/O transaction to involve multiple parallel server nodes
and/or multiple concurrent data transfers on different
interconnection paths.

      Addressing of messages sent between communicating processes may
be described in terms of a logical connection, which may be
statically or dynamically created.  The logical connection defines an
association between two processes and is denoted by a Logical
Connection Identifier (LCID).  The LCID which represents the target
process of the I/O operation is a parameter of the I/O instruction
used for sending a message.  The I/O subsystem translates the LCID
into the interconnection network address of an adapter at the node
containing the destination process.  This invention extends the
logical connection to a logical connection group, which can encompass
more than two processes.  Any process in the group can send a message
to any other or can broadcast a message to all others.  The processes
in the group are referred to as extensions.  When a process requests
creation of a logical connection group, it assigns a label, called an
extension number, to each endpoint of the logical connection.  The
destination address of a message, provided by a requesting process,
is the combination of LCID and extension number.  Associated with the
logical connection group, at each node, are:
  o  A pointer to a Broadcast Transmission Group (BTG) routing table,
      as will be discussed below.
  o  Separate information for each extension including routing
      information for extensions which are in other nodes, and
arrival
      queue information (or equivalent) for extensions which are in
the
      same node.

      Broadcast from one process to all others in a logical
connection group is performed as follows:  The sending process issues
the I/O instruction which sends the messag...