Review of 'Programming Semantics for Multi-programmed computations' paper

From: Praveen Rao (psrao_at_windows.microsoft.com)
Date: Mon Jan 12 2004 - 02:10:31 PST

  • Next message: Tarik Nesh-Nash: ""Programming Semantics for Multiprogrammed Computations." Review"

    This paper defines semantics for a number of meta-instructions which
    relate to parallel processing, protection of separate computations,
    debugging and sharing of memory and other objects.

     

    The paper starts with predicting prevalent usage of multi-programmed
    computer systems and provides examples. Time, of course, proved this
    prediction absolutely correct.

     

    The paper cites 5 properties of multi-programmed computer systems:

    1) Computation processes are in concurrent operation for more than one
    user

    2) Many computations share pool of resources in a flexible way (as
    opposed to pre-allocation)

    3) Individual computations vary widely in their demand for computational
    resources

    4) Reference to common information by separate computations is a
    frequent occurrence

    5) System must evolve in the face of changing requirements.

     

    Authors think of a computation to proceed within some sphere of
    protection. This protection sphere is specified by a list of
    capabilities (called C-List). During the execution of computation,
    capabilities are frequently added and deleted using meta-instructions.

     

    Authors define process as a locus of control within an instruction
    sequence and computations as a set of processes working towards the same
    job (and consequently have the same C-List). Principal is defined as a
    user or a group of users to whom charges are made for the expenditure of
    system resources.

     

    Supervisor denotes the combination of h/w and s/w resources that for the
    core of the system and is responsible for things like allocation and
    scheduling of computing resources, accounting for and controlling the
    use of resources and implementing meta-instructions.

     

    The paper then describes the primitive operations for parallel
    programming e.g. fork, quit, join. It describes lock and unlock
    meta-instructions for synchronization.

     

    The paper introduces a notion of inferior sphere of protection which
    allows a computation to launch another computation with different
    (restricted) privileges. This facilitates debugging and running
    developmental system without worrying about the harm it may cause to
    computational resources. The paper talks about exception conditions and
    mechanism for handling them.

     

    The paper then introduces a notion of protected entry points providing a
    mechanism for changing the C-List of a process while calling a procedure
    that handles data shared between computations.

     

    The paper then describes retained objects (that persist across
    computations) and a hierarchical naming of them.

     

    The meta-instructions described in the paper seem reasonably simple to
    be implemented while semantics and access model (in terms of protection)
    are pre-determined (in contrast to HYDRA where various
    systems/sub-systems can be built on top of the kernel).


  • Next message: Tarik Nesh-Nash: ""Programming Semantics for Multiprogrammed Computations." Review"

    This archive was generated by hypermail 2.1.6 : Mon Jan 12 2004 - 02:10:33 PST