[mod.techreports] tr-input/stanford4

leff@smu.CSNET.UUCP (02/20/87)

                                Naomi Schulman
                                 Publications
                          COMPUTER SYSTEMS LABORATORY
                              STANFORD UNIVERSITY
                              Stanford, CA 94305

                            RECENT REPORTS & NOTES
                                    LIST #7
                                  JUNE, 1986

                To order reports see end of this announcement.

                                   ABSTRACTS

CSL TR-85-282
Partitioning of Function in a Distributed Graphics System
by William I. Nowicki
March 1985                                                  146 pages.....$9.80
Although  recent advances in graphics workstations promise much computing power
for the  future  needs  of  researchers,  traditional  approaches  to  software
organization  waste  much of this power.  Most systems treat the workstation as
either a fixed-function terminal or a self-contained personal  computer;  these
roles  have  limitations  that can be overcome by considering the workstation a
multi-function  component  of  a  distributed  system.    Traditional  standard
graphics   packages   and   object-oriented   window  systems  offer  important
functionality, but a third approach, virtual terminal  management  systems,  is
more appropriate for a distributed operating system.
The  Stanford  Distributed  Systems  Group  has  implemented such a distributed
system  for  graphics  workstations,  organized  as  a  collection  of  servers
providing  services  to  clients.   Major issues are how to partition functions
between the server and its clients, and physically partition the  server.    In
particular,  the  service that displays graphical objects is called the Virtual
Graphics Terminal Service (VGTS).  The VGTS architecture is described, as  well
as a prototype implementation.
This  thesis discusses the trade-offs involved in partitioning of function in a
distributed graphics system.  Performance is one important property traded  for
advanced functionality or decreased cost.  To provide adequate performance in a
distributed  system,  communication  costs  should  be kept low, as well as the
frequency of the communication.  By  providing  modeling  as  well  as  viewing
facilities,  the  VGTS  reduces the communication required between applications
and the service.
Measurements verify that performance is insensitive to network  bandwidth,  but
depends  heavily  on  CPU  speed and protocol characteristics.  Using structure
provides important speed improvements in some cases, but  other  basic  factors
such  as  inner  loop  optimization  and  proper batching of requests make even
larger differences.
Finally, conclusions are drawn regarding the partitioning approaches  taken  in
the  VGTS.  The VGTS is suitable for a large class of applications that perform
graphics as an aid to user interface, and  is  portable  to  a  wide  range  of
powerful  workstations.   Moreover, the VGTS can be used as a basis for further
research on many open questions in distributed systems.  
-------------------------------------------------------------------------------
CSL-TR-85-283
Message-Passing on a Local Network
by Willy Zwaenepoel
October 1985                                                110 pages.....$8.00
This thesis focuses on  understanding  the  cost  of  transparent  interprocess
communication in a distributed system consisting of a set of machines connected
by a local network.  Interprocess communication is transparent if processes can
communicate   without   regard   to  physical  host  boundaries.    Transparent
interprocess communication is a very powerful tool because it allows us to view
the collection of different machines as a single,  logically  unified  computer
system.    We concentrate on the efficiency aspects of transparent interprocess
communication on a local network.
In  order  to  obtain  experimental  evidence,  a  transparent  message-passing
mechanism  has  been  implemented  as  part  of  the distributed V kernel. This
message-passing mechanism has been used as the basis  for  various  distributed
applications.    In  particular,  it  has  been  used extensively for providing
transparent file access from diskless workstations to a  set  of  network-based
file  servers.   Based in part on experience gained from the implementation and
use of the distributed V kernel, this thesis presents four contributions:

   1. An empirical evaluation of high-performance  message  passing  on  a
      local network.
   2. A  queueing  network model of file access from diskless workstations
      over a local area network to a set of file servers.
   3. An analysis of the protocol  used  to  support  the  V  interprocess
      communication on a broadcast network.
   4. The integration of the broadcast and multicast capabilities of local
      area networks into message-based interprocess communication.

-------------------------------------------------------------------------------
CSL-TR-85-284
Taliesin: A Distributed Bulletin Board System
by Judy L. Edighoffer & Keith A. Lantz
September 1985                                               12 pages.....$3.10
This  paper  describes  a  computer bulletin board facility intended to support
replicated bulletin boards on a network that may frequently be in  a  state  of
partition.   The two major design issues covered are the choice of a name space
and a replication algorithm.  The impact of the  name  space  on  communication
costs  is  explained.    A special purpose replication algorithm providing high
availability and response despite network partition is introduced.  
-------------------------------------------------------------------------------
CSL-TR-85-285
Architectural Elements for Bitmap Graphics
by Cary D. Kornfeld
April 1985                                                  133 pages.....$9.15
This  dissertation   examines   two   closely   related   aspects   of   bitmap
graphics-- methods for manipulating bitmap images and techniques for displaying
these  images.    First,  it  looks  at  the  implementation of three primitive
operations useful when manipulating  images  -  Mirror,  Rotate  and  Translate
(BitBlt).    When  implemented on conventional bitmap systems these fundamental
operations tend to be  awkward  (inefficient)  to  implement,  often  requiring
extensive  memory  and processor activity.Several new alternative architectures
for bitmap graphic systems are explored.  Two new architectural  elements  that
significantly  improve system performance are defined, designed and implemented
in VLSI.  The first,  a  RasterOP  unit,  combines  four  bitmap  images  under
arbitrary  merging  operations at video data rates.  The second element, called
an Image Prism, generates orthogonal image  transformations  on  bitmap  images
within the memory system without requiring processor interaction.  As a result,
these fundamental operations can be performed several hundred times faster than
before.    Fast  VLSI  implementations  of  each are described and their actual
behavior and performance is reviewed.
The second thrust of this research focuses on the design and development  of  a
research  display  device.  Three major architectural components of traditional
CRT-based bitmap display systems - frame buffer, display controller and display
device - are combined and integrated into a single,  exceptionally  thin,  flat
panel  display device of which several working prototypes have been built.  The
entire display device is  constructed  using  conventional  microelectronic  IC
fabrication   processing  technology  so  that  all  required  electronics  are
integrated onto a single silicon wafer which is then coated  with  a  layer  of
electrophoretic  display material.  A number of interesting research topics are
explored including new techniques  for  controlling  display  material  at  low
voltage  and  a  novel new approach to defect tolerant wafer scale VLSI design.
The behavior of the fabricated display devices is reviewed and analyzed.  
-------------------------------------------------------------------------------
CSL-TR-85-286
Towards a Universal Directory Service
by K.A. Lantz, J.L. Edighoffer & B.L. Hitson
August 1985                                                  21 pages.....$3.55
Directory services and name servers have been discussed and implemented  for  a
number  of  distributed  systems.    Most have been tightly interwoven with the
particular distributed systems of which they are a part; a few are more general
in nature.  In this paper we survey recent work in this area  and  discuss  the
advantages and disadvantages of a number of approaches.  From this, we are able
to extract some fundamental requirements of a naming system capable of handling
a  wide variety of object types in a heterogeneous environment.  We outline how
these requirements can be met in a universal directory service.  
-------------------------------------------------------------------------------
CSL-TR-85-287
An Empirical Study of Distributed Application Performance
by K.A. Lantz, W.I. Nowicki, & M.M. Theimer
October 1985                                                 24 pages.....$3.70
A  major  reason  for  the  rarity  of  distributed  applications,  despite the
proliferation of networks, is the sensitivity of their performance  to  various
aspects   of   the  network  environment.    We  demonstrate  that  distributed
applications can run faster than local ones, using common hardware.    We  also
show  that  the primary factors affecting performance are, in approximate order
of importance: speed of the user's workstation, speed of the  remote  host  (if
any),  and  the  high-level  (above  the  transport  level) protocols used.  In
particular, the use  of  batching,  pipelining,  and  structure  in  high-level
protocols reduces the degradation often experienced between different bandwidth
networks.    Less  significant,  but  still noticeable improvements result from
proper  design  and  implementation  of  the  underlying  transport  protocols.
Ultimately,  with  proper application of these techniques, network bandwidth is
rendered virtually insignificant.  
-------------------------------------------------------------------------------
CSL-TR-85-288
Preemptable Remote Execution Facilities for the V-System
by M.M. Theimer, K.A. Lantz & D.R. Cheriton
September 1985                                               17 pages.....$3.35
A remote execution facility allows a user of  a  workstation-based  distributed
system  to  offload programs onto idle workstations, thereby providing the user
with access to computational resources beyond that  provided  by  his  personal
workstation.    In  this  paper,  we describe the design and performance of the
remote execution facility in the V  distributed  system,  as  well  as  several
implementation  issues  of  interest.    In  particular,  we  focus  on network
transparency of the execution environment, preemption and migration of remotely
executed programs, and avoidance of residual dependencies on the original host.
We argue that preemptable remote execution allows idle workstations to be  used
as  a  ``pool  of processors'' without interfering with use by their owners and
without significant overhead for the normal execution of programs.  In general,
we conclude that the  cost  of  providing  preemption  is  modest  compared  to
providing  a  similar  amount of computation service by dedicated ``computation
engines''.  
-------------------------------------------------------------------------------
CSL-86-289
MIPS-X Instruction Set and Programmer's Manual
Paul Chow
May 1986                                                     98 pages.....$7.40
MIPS-X  is  a  high  performance  second  generation  reduced  instruction  set
microprocessor.    This  document  describes  the  visible  architecture of the
machine, the basic timing of the instructions, and the instruction set.  
-------------------------------------------------------------------------------
CSL-86-290
High-Resolution Printing Without a Frame Buffer
Carolyn F. Bell
December 1985                                               125 pages.....$8.75
Laser printers have become popular because of the high quality of their output.
This thesis analyzes the characteristics of high-quality text as resolution  is
varied,  introduces a new algorithm for scan conversion, and proposes a printer
controller  using  edge  descriptions.    The  resulting  method  of   printing
represents  characters with edges, which are simple to generate and manipulate,
provides an algorithm which uses  the  slope  of  the  edge  to  key  the  scan
conversion,  and  uses  a hardware data structure which describes an image with
edges rather than pixels.  The propsed  controller  is  not  as  general  as  a
controller  using  a frame buffer, since a page too complex for it to print can
always be specified.  However,  for  a  page  containing  4000  characters  and
printed  at  2000  pixels  per  inch, the edge buffer controller requires about
one-fortieth the memory, one-tenth the memory accesses, and  one-twentieth  the
running time of a frame buffer controller.  
-------------------------------------------------------------------------------
CSL T.R. 86-291
Lisp and Prolog Memory Performance
Evan Tick
January 1986                                                 37 pages.....$4.35
This  report presents a comparison between a Lisp and Prolog architecture based
on memory performance.  Four Lisp programs were translated into Common Lisp and
Prolog abstract  machine  instruction  sets.    The  translated  programs  were
emulated  and  memory  reference  counts  collected.    Memory usage statistics
indicate how the two languages do fundamental computations different ways  with
varying efficiency.  Additional measurements of production systems running on a
conventional host are presented.  
-------------------------------------------------------------------------------

                                     NOTES


CSL-TN-85-283
PareseGen: A LALR(1 Parser Generator)
by Rob Chang
November 1985                                                3l pages.....$4.05
ParseGen is a LALR(1) Parser Generator.  Given a context free grammar, ParseGen
will generate an Ada package and a parsing table.  This information can then be
used by a parser skeleton - a shift-reduce parser - in order to parse input and
produce an associated abstract syntax tree.
Both  ParseGen  and  the  parser  skeleton  are  written in Ada and are able to
process large languages.  ParseGen has successfully processed language grammars
for Ada and extensions of Ada; the latter exceeds three hundred productions.  
-------------------------------------------------------------------------------

CSL-TN-86-286
Microprogram Control of a Prolog Machine
by Kiyomi Koyama
January 1986                                                 30 pages.....$4.00
A Prolog machine design and its control are described.   The  machine  features
two-stage  pipelining,  a  triple bus interconnection data path and support for
concurrent control of micro-operations.  The objective of  this  design  is  to
improve  execution  of a Prolog processor by simultaneously performing multiple
micro-operations.  Capabilities of concurrent operation support  are  described
in  detail  and  demonstrated  using  some example Prolog functions.  Two-stage
pipeline technique as applied to non-deterministic control  of  Prolog  program
execution will be presented.  
-------------------------------------------------------------------------------

                                 Publications

                          COMPUTER SYSTEMS LABORATORY

                              Stanford University

                              Stanford, CA 94305

                                 415-723-1430

                                  ORDER FORM

To Order Reports: Print or type your name and address in the space provided.
Check  or  circle  the  report(s)  you  wish  to  purchase, whether hardcopy or
microfiche.  All orders must be PREPAID.  CALIFORNIA RESIDENTS must  add  sales
tax  of  their  local  county.  Return this order form with your check or money
order made payable to Stanford University. FOREIGN ORDERS) must be paid with an
international money order or a check drawn on a U.S. bank, payable in dollars.
Please type or print your name and complete address:
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
Report #  Hardcopy  Microfiche     Report #  Hardcopy  Microfiche
--------  --------  ----------     --------  --------  ----------
TR 282      $9.80     $3.00        TR 287      $3.70     $2.00
TR 283      $8.00     $3.00        TR 288      $3.35     $2.00
TR 284      $3.10     $2.00        TR 289      $7.40     $2.00
TR 285      $9.15     $3.00        TR 290      $8.75     $3.00
TR 286      $3.55     $2.00        TR 291      $4.35     $2.00

TN 283      $4.05     $2.00        TN 286      $4.00     $2.00

                          Subtotal __________
          Your Local County CA tax __________
                             Total __________
-------