Browse Prior Art Database

Synchronization And Control of Distributed Tasks Via Binary Signals

IP.com Disclosure Number: IPCOM000100443D
Original Publication Date: 1990-Apr-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 2 page(s) / 96K

Publishing Venue

IBM

Related People

Cohn, DL: AUTHOR [+2]

Abstract

A flexible and elegant method of task synchronization and control for distributed computing systems is disclosed here.

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

Synchronization And Control of Distributed Tasks Via Binary Signals

       A flexible and elegant method of task synchronization and
control for distributed computing systems is disclosed here.

      Processes in distributed computing systems consist of
autonomous, cooperating tasks which need flexible synchronization and
inter-task control mechanisms. Synchronization services allow tasks
to regulate access to shared resources and critical code sections
while control services permit one task to terminate another.

      In typical existing systems, task synchronization is achieved
via semaphores.  Before entering a critical section of code, a task
requests the associated semaphore.  If the semaphore is owned by
another task, the requester waits until the owner releases the
semaphore.  Usually, semaphores are obtained one at a time.  This can
result in race conditions and indefinite postponement when a task
needs more than one resource.

      Operating systems also provide other mechanisms by which tasks
can be forced into wait state.  For example, tasks might wait for a
lock on some shared data, for an interrupt to occur, or for a message
to arrive.  Typically, tasks cannot wait for a combination of these
events.  The new technique allows semaphores and system-defined
events be handled in a uniform manner.

      A control mechanism allows one task to terminate another.
Cooperating tasks can have a variety of relationships, both
hierarchical and non-hierarchical.  The continued existence of each
task might depend on a combination of circumstances. Thus, the
control mechanism should be as flexible as the synchronization
mechanism.

      The new approach to this problem uses binary-valued signals.
These are divided into two categories:  output signals and input
signals.  Every task has a set of input and output signals.  It
manipulates its output signals to influence other tasks and its input
signals allow its operation to be influenced by other tasks.

      A task can attach an output signal from another task to one of
its input signals.  This signal can then cause the task to be
switched between the RUNNING and SLEEPING states. It can also cause
the task to be TERMINATED.  Thus, the binary-valued signal mechanism
possesses at least as much power as the standard semaphore approach.

      A task itself determines how it is influe...