Review of Programming Semantics for Multiprogrammed Computations

From: Prasanna Kumar Jayapal (prasak_at_winse.microsoft.com)
Date: Mon Jan 12 2004 - 15:21:46 PST

  • Next message: Song Xue: "Review of "Programming Semantics for Multiprogrammed Computations""

    In this paper, the authors describe the meta-instructions of a
    Multiprogrammed Computer System (MCS) that mainly relate to parallel
    processing, object naming and protection of computing entities.
    The paper starts with an overview of the properties of a MCS which
    mainly touch upon concurrency, resource management and information
    sharing. Then it discusses the underlying concepts like segments (group
    of words), protection of segments, processes, computations, the
    association of each computation with a Capability List (or C-List, which
    is just a list of the various things the processes in the computation
    are allowed to do), and the association of the computation and it's
    C-List with a "sphere of protection," within which processes execute.
    Reading through this sections, the Computations and Processes sounded to
    me like the Process and threads of the Windows OS.
    Then, it talks about supervisor which seems to be the core of the system
    which takes care of the process management, resource allocation,
    scheduling and accounting, followed by a discussion of the primitive
    operations such as fork, quit, join, lock, unlock, etc. I was expecting
    to see more about the inter-process synchronization and communication
    techniques. The paper does point out the lock/unlock problem, however
    the authors do not attempt to give a good solution (I felt setting the
    time limit is a very primitive solution). It covers the scenario where
    one process spawns another and waits for the spawned process to
    complete, although nothing is mentioned about synchronizing of two
    independent processes.
    The next two sections of the paper discuss "Inferior Spheres of
    Protection" and "Protected Entry Points" which I thought were nice
    features. The idea behind an inferior sphere is that it is a distinct
    sphere, including distinct C-List, computation space, and processes,
    from the parent "superior" sphere that created it. This allows the
    superior sphere to debug another program without jeopardizing itself or
    the data and procedural segments in its sphere of protection, while also
    maintaining the ability to examine and control what the program is
    doing. In the case of a "protected entry point," a superior sphere is
    "granted" the capability to execute another sphere's procedural segment,
    but when it goes to execute it, an inferior sphere is created, wherein
    the procedure is executed exactly as the granting sphere intended.
    Lastly it talks about the "Directories and Naming". One thing that
    surprised me was that the naming scheme adopted does not allow the names
    of objects in the system to ever be changed. They could have considered
    some alternative approaches instead of just accepting it. Other than
    that, the concepts like the Directory structure, Ownership and Retained
    Objects were nice to read through.
    In general, it was a good paper with a lot of interesting ideas. But I
    had to concentrate a lot to understand the concepts and the usefulness
    of the meta-instructions.


  • Next message: Song Xue: "Review of "Programming Semantics for Multiprogrammed Computations""

    This archive was generated by hypermail 2.1.6 : Mon Jan 12 2004 - 15:21:46 PST