[ont.events] SYSTEMS SEMINAR

voula@utcsrgv.UUCP (Voula Vanneli) (02/11/85)

                   UNIVERSITY OF TORONTO
               DEPARTMENT OF COMPUTER SCIENCE
  (SF = Sandford Fleming Building, 10 King's College Road)
(MC = McLennan Physical Laboratories, 60 St. George Street)
        (RS = Rosebrugh Building, Taddlecreek Road)

SYSTEMS SEMINAR - Tuesday, February 19, 10 a.m., SF 1105

                        Dr. Jim Gray
              Tandem Computers, Cupertino, CA

         "Approaches to Fault Tolerant Computing" *

                          ABSTRACT



     First an overview of the relative importance of  human,
software  and  hardware  faults  is presented.  I argue that
reliable hardware is a reality and that most system failures
are due to software and human errors.

     Simple  user  interfaces  are  the  solution  to  human
errors.

     Several approaches to tolerating  software  errors  are
presented;  transactions,  lock-step  process  pairs, shadow
process pairs, and persistent process pairs.  It  is  argued
that  software  errors  are soft and hence transactions plus
persistent process pairs are the best solution.

     Discussion then turns from fault tolerant execution  to
fault  tolerant  storage.  It is shown why data mirroring is
more relevant than exact replicas and why  majority  replica
schemes are not appropriate in a local or long-haul network.
I argue  that  schemes  for  long-haul  replication  require
inconsistency  and  then  present  the  Snap  Shot  and ASAP
replica approaches with examples.

wlrush@water.waterloo.edu (Wenchantress Wench Wendall) (05/11/89)

DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF WATERLOO
SEMINAR ACTIVITIES

SYSTEMS SEMINAR

                    -Friday, May 12, 1989

Motoshi  Saeki,  Tokyo Institute Technology, Faculty of
Engineering,  International  Institute, Fujitsu Limited,
will   speak  on  "Software  Development  Process  from
Natural Language Specification".

TIME:                 1:30 p.m.

ROOM:              DC 1304

ABSTRACT

A   process    to   derive    incrementally   a  formal
specification  from  an informal specification  written
in   natural   language  is  presented.   This  process
consists  of   two   major   activities,  "design"  and
"elaborate".    Through   the   design  activity,   the
structure  of  software  modules   based  on  an object
oriented  model  is  interactively  extracted  from the
informal  English description.  Each word such as nouns
and   verbs   in  the  natural-language  sentences   is
associated   with   a  software  concept,  e.g.  class,
attribute,  and  method.   Especially we concentrate on
types  of  verb patterns  occurring in the sentences to
increase   applicability   to    dynamic  system.   The
elaborate  activity  is one  to refine and  rewrite the
informal  specification  more  precisely  based on  the
derived  module  design document.  We can complete  the
formal   specification  through  the elaborate - design
activity  cycle.   Each document created in our process
is  called product.  The integration management  of the
various  kinds  of  the  products   are supported by  a
hypertext   system.    Furthermore   we   discuss   the
whole  of  software development  process  in which  the
design process  and  the elaborate  one are embedded.

wlrush@water.waterloo.edu (Wenchantress Wench Wendall) (11/17/89)

DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF WATERLOO
SEMINAR ACTIVITIES

SYSTEMS SEMINAR

                    -Thursday, November 23, 1989

Dr.  Mohammad  Malkawi, Dept. of Electrical Engineering
and Computer Science, University of Wisconsin-Milwaukee
will   speak   on   ``Load   Balancing  in  Distributed
Systems.''

TIME:                 3:30 p.m.

ROOM:                 DC 1304

ABSTRACT

In  a  distributed  network,  it is very  important  to
balance  the   load among the processors in the network
such  that the average response time in the system is
imroved.  A  new  load   balancing algorithm  has  been
developed based on graph coloring. Each link connecting
any  two nodes is assigned a color such that the  links
adjacent   to  any  one node are colored with different
colors.  To  balance the load of the  system,  adjacent
processors   connected  with   a link of color C  share
                                                i
the  loads between them such that their load difference
is  reduced  to  a value <^H_ 1. To  balance the  load  in
the   system,  all  colors  have  to be considered in a
cyclic  order.   The  process  of  balancing  continues
until   the difference  between  the  loads of adjacent
processors is no more than 1.

The   described  algorithm  is  distributed,   dynamic,
and   requires   no   global  knowledge  of  any  type.
Simulation  results  will  be  discussed. The algorithm
achieves  significant  improvements   in response  time
and  throughput.   Simulation  is  performed  for  both
static   and   dynamic  systems.  Different  networking
topologies   are considered including random graphs and
n-cube structures.

                   November 15, 1989

wlrush@water.waterloo.edu (Wenchantress Wench Wendall) (02/27/90)

DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF WATERLOO
SEMINAR ACTIVITIES

SYSTEMS SEMINAR

                    -Friday, March 2, 1990

Professor  Jay  Black,  Dept.  of Computer Science will
speak   on   ``Abstraction  for  Debugging  Distributed
Programs.'' (This is a joint work with W.H. Cheung).

TIME:                 10:30 a.m.

ROOM:                 DC 1331

ABSTRACT

Distributed  programs are evolving towards greater size
and  complexity.   A  non-trivial  distributed  program
consists  of  a  large  number  of  cooperating dynamic
processes.   Not  only  do distributed programs tend to
involve  more  code  than their sequential equivalents,
but   they   also  suffer  from  further  increases  in
complexity  due  to  the  presence of concurrency, non-
determinism,  and the possibility of partial failure of
processes,    nodes,    and   communication   channels.
Debugging  distributed  programs  is  thus  a difficult
endeavor,  and  new  techniques  are required to manage
this more complex environment.

One  of the most powerful tools we know for controlling
complexity  is  abstraction,  and we provide a rigorous
basis  for  the use of it in distributed debugging, and
hence  in  distributed  systems  in  general.   We will
discuss   how   abstraction  can  be  applied  both  to
processes  (forming  "clusters" or process groups), and
to events occurring in the system.

This  talk  will  serve  as  a  starting  point  for  a
discussion  on  current  and possible future directions
for  the Shoshin distributed debugger prototype design.
Any interested people are welcome.