Valid HTML 4.0! Valid CSS!
%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.81",
%%%     date            = "18 May 2024",
%%%     time            = "16:23:04 MST",
%%%     filename        = "tocs.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "https://www.math.utah.edu/~beebe",
%%%     checksum        = "63380 22260 115602 1165844",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography, BibTeX, ACM Transactions on
%%%                        Computer Systems",
%%%     license         = "public domain",
%%%     supported       = "no",
%%%     docstring       = "This is a COMPLETE BibTeX bibliography for
%%%                        the journal ACM Transactions on Computer
%%%                        Systems (CODEN ACSYEC, ISSN 0734-2071
%%%                        (print), 1557-7333 (electronic)), covering
%%%                        all journal issues from 1983 -- date.
%%%                        Publication began with volume 1, number 1, in
%%%                        1983. The journal appears quarterly, in
%%%                        February, May, August, and November.
%%%
%%%                        The journal has a World-Wide Web site at:
%%%
%%%                            http://www.acm.org/pubs/tocs
%%%
%%%                        Tables-of-contents are available at:
%%%
%%%                            http://www.acm.org/pubs/contents/journals/tocs/
%%%                            http://portal.acm.org/browse_dl.cfm?idx=J774
%%%
%%%                        There is currently coverage of all volumes,
%%%                        except 1 and 2 (1983--1984), at that site.
%%%
%%%                        Qualified subscribers can retrieve the full
%%%                        text of recent articles in PDF form.
%%%
%%%                        At version 1.81, the COMPLETE journal
%%%                        coverage looked like this:tocs.bib
%%%
%%%                             1983 (  24)    1997 (  16)    2011 (  12)
%%%                             1984 (  22)    1998 (  11)    2012 (  15)
%%%                             1985 (  15)    1999 (   9)    2013 (  12)
%%%                             1986 (  15)    2000 (  12)    2014 (   9)
%%%                             1987 (  18)    2001 (  13)    2015 (  13)
%%%                             1988 (  18)    2002 (  12)    2016 (  12)
%%%                             1989 (  13)    2003 (  13)    2017 (  13)
%%%                             1990 (  14)    2004 (  10)    2018 (   3)
%%%                             1991 (  15)    2005 (  13)    2019 (   9)
%%%                             1992 (  13)    2006 (  12)    2020 (   6)
%%%                             1993 (  13)    2007 (  11)    2021 (  19)
%%%                             1994 (  11)    2008 (  10)    2022 (   2)
%%%                             1995 (  12)    2009 (   8)    2023 (   5)
%%%                             1996 (  14)    2010 (   9)    2024 (   4)
%%%
%%%                             Article:        509
%%%                             Proceedings:      1
%%%
%%%                             Total entries:  510
%%%
%%%                        The initial draft was extracted from the
%%%                        ACM Web site, with manual corrections and
%%%                        additions from bibliographies in the TeX
%%%                        User Group collection, the author's
%%%                        personal bibliography files, the Compendex
%%%                        database, and a very large computer science
%%%                        bibliography collection on ftp.ira.uka.de
%%%                        in /pub/bibliography to which many people
%%%                        of have contributed.  Where multiple
%%%                        sources of a particular entry existed,
%%%                        field values have been manually merged to
%%%                        preserve maximal information.  Missing
%%%                        entries were identified by software
%%%                        developed for the TeX User Group and BibNet
%%%                        bibliography archive projects, and were
%%%                        then supplied from the original journal
%%%                        issues.  Questions arising from conflicting
%%%                        data were resolved by consulting the
%%%                        original journal issues.
%%%
%%%                        ACM copyrights explicitly permit abstracting
%%%                        with credit, so article abstracts, keywords,
%%%                        and subject classifications have been
%%%                        included in this bibliography wherever
%%%                        available.  Article reviews have been
%%%                        omitted, until their copyright status has
%%%                        been clarified.
%%%
%%%                        The bibsource keys in the bibliography
%%%                        entries below indicate the data sources,
%%%                        usually the Karlsruhe computer science
%%%                        bibliography archive for the first two
%%%                        volumes, or the journal Web site or the
%%%                        Compendex database, both of which lack
%%%                        coverage of this journal before 1985.
%%%
%%%                        URL keys in the bibliography point to
%%%                        World Wide Web locations of additional
%%%                        information about the entry.
%%%
%%%                        Spelling has been verified with the UNIX
%%%                        spell and GNU ispell programs using the
%%%                        exception dictionary stored in the
%%%                        companion file with extension .sok.
%%%
%%%                        BibTeX citation tags are uniformly chosen
%%%                        as name:year:abbrev, where name is the
%%%                        family name of the first author or editor,
%%%                        year is a 4-digit number, and abbrev is a
%%%                        3-letter condensation of important title
%%%                        words. Citation tags were automatically
%%%                        generated by software developed for the
%%%                        BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted in
%%%                        publication order, using ``bibsort -byvolume.''
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================
@Preamble{
    "\input bibnames.sty"
  # "\ifx \undefined \circled \def \circled #1{(#1)}\fi"
  # "\ifx \undefined \reg \def \reg {\circled{R}}\fi"
  # "\ifx \undefined \TM \def \TM {${}^{\sc TM}$} \fi"
}

%%% ====================================================================
%%% Acknowledgement abbreviations:
@String{ack-nhfb = "Nelson H. F. Beebe,
                    University of Utah,
                    Department of Mathematics, 110 LCB,
                    155 S 1400 E RM 233,
                    Salt Lake City, UT 84112-0090, USA,
                    Tel: +1 801 581 5254,
                    FAX: +1 801 581 4148,
                    e-mail: \path|beebe@math.utah.edu|,
                            \path|beebe@acm.org|,
                            \path|beebe@computer.org| (Internet),
                    URL: \path|https://www.math.utah.edu/~beebe/|"}

%%% ====================================================================
%%% Journal abbreviations:
@String{j-TOCS                  = "ACM Transactions on Computer Systems"}

%%% ====================================================================
%%% Publisher abbreviations:
@String{pub-ACM                 = "ACM Press"}
@String{pub-ACM:adr             = "New York, NY 10036, USA"}

%%% ====================================================================
%%% Bibliography entries:
@Article{Jones:1983:EI,
  author =       "Anita K. Jones",
  title =        "{Editor}'s Introduction",
  journal =      j-TOCS,
  volume =       "1",
  number =       "1",
  pages =        "1--2",
  month =        feb,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Reed:1983:IAA,
  author =       "David P. Reed",
  title =        "Implementing Atomic Actions on Decentralized Data",
  journal =      j-TOCS,
  volume =       "1",
  number =       "1",
  pages =        "3--23",
  month =        feb,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Clark:1983:CPV,
  author =       "Douglas W. Clark",
  key =          "Clark",
  title =        "Cache Performance in the {VAX-11\slash 780}",
  journal =      j-TOCS,
  volume =       "1",
  number =       "1",
  pages =        "24--37",
  month =        feb,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Oct 12 13:58:27 1984",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Math/sparse.linear.systems.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/storage.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "The performance of memory caches is usually studied
                 through trace-driven simulation. This approach has
                 several drawbacks. Notably, it excludes realistic
                 multiprogramming, operating system, and I/O activity.
                 In this paper, cache performance is studied by direct
                 measurement of the hardware. A hardware monitor was
                 attached to a VAX-11/780 computer, whose cache was then
                 measured during normal use. A producible synthetic
                 timesharing workload was also run. This paper reports
                 measurements including the hit ratios of data and
                 instruction references, the rate of cache invalidations
                 by I/O, and the amount of waiting time due to cache
                 misses. Additional measurements were made with half the
                 cache disabled, and with the entire cache disabled.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Shamir:1983:GCS,
  author =       "Adi Shamir",
  title =        "On the Generation of Cryptographically Strong
                 Pseudorandom Sequences",
  journal =      j-TOCS,
  volume =       "1",
  number =       "1",
  pages =        "38--44",
  month =        feb,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Cox:1983:ICP,
  author =       "George W. Cox and William M. Corwin and Konrad K. Lai
                 and Fred J. Pollack",
  title =        "Interprocess Communication, and Processor Dispatching
                 on the {Intel 432}",
  journal =      j-TOCS,
  volume =       "1",
  number =       "1",
  pages =        "45--66",
  month =        feb,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 9 09:46:02 1986",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/os.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "A unified facility for interprocess communication and
                 processor dispatching on the Intel 432 is described.
                 The facility is based on a queuing and binding
                 mechanism called a port. The goals and motivations for
                 ports, both abstract and implementation views of them,
                 and their absolute and comparative performance are
                 described.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
  owner =        "seufert",
}

@Article{Sauer:1983:CAS,
  author =       "Charles H. Sauer",
  title =        "Computational Algorithms for State-Dependent Queueing
                 Networks",
  journal =      j-TOCS,
  volume =       "1",
  number =       "1",
  pages =        "67--92",
  month =        feb,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1983.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  note =         "See corrigendum \cite{Sauer:1983:CCA}.",
  acknowledgement = ack-nhfb,
  annote =       "\ldots{} in this paper the author limits the material
                 reviewed to three forms of state dependency in queueing
                 networks which have the product form. The major part of
                 the paper address state-dependent routing, in which the
                 probability of entering a queue of a subnetwork depend
                 upon the quotient of a linear function of the number of
                 customers in that queue and another linear function of
                 the total number of customers in the subnetwork \ldots{}",
  country =      "USA",
  date =         "28/09/84",
  descriptors =  "Queueing network; method; state dependent queueing;
                 MVA; CONVOLUTION ALGORITHM",
  enum =         "2690",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
  language =     "English",
  location =     "RWTH-AC-DFV: TELL",
  references =   "26",
  revision =     "21/04/91",
}

@Article{Anonymous:1983:IA,
  author =       "Anonymous",
  title =        "Information for Authors",
  journal =      j-TOCS,
  volume =       "1",
  number =       "1",
  pages =        "93--95",
  month =        feb,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Schwetman:1983:PSI,
  author =       "Herbert D. Schwetman",
  title =        "Preface to the Special Issue",
  journal =      j-TOCS,
  volume =       "1",
  number =       "2",
  pages =        "97--98",
  month =        may,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Eager:1983:PBH,
  author =       "Derek L. Eager and Kenneth C. Sevcik",
  title =        "Performance Bound Hierarchies for Queueing Networks",
  journal =      j-TOCS,
  volume =       "1",
  number =       "2",
  pages =        "99--115",
  month =        may,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Agrawal:1983:ASM,
  author =       "Subhash C. Agrawal and Jeffrey P. Buzen",
  title =        "The Aggregate Server Method for Analyzing
                 Serialization Delays in Computer Systems",
  journal =      j-TOCS,
  volume =       "1",
  number =       "2",
  pages =        "116--143",
  month =        may,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1982.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/IMMD_IV.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  annote =       "An approximate, iterative method is presented to
                 estimate the delays caused by programs waiting to enter
                 critical sections and other software control structures
                 in which mutual exclusion is enforced (i.e.,
                 one-at-a-time or serialized processing). Some common
                 shares of such serialization delays include routines
                 that perform resource allocation, modify internal data
                 structures, or update external files and
                 databases \ldots{}",
  country =      "USA",
  date =         "02/12/83",
  descriptors =  "Queueing approximation; process management; aggregate
                 server method; serialization; resource allocation",
  enum =         "38",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  language =     "English",
  location =     "RWTH-AC-DFV: Bibl.",
  references =   "0",
  revision =     "19/03/92",
}

@Article{Chandy:1983:DDD,
  author =       "K. Mani Chandy and Laura M. Haas and Jayadev Misra",
  title =        "Distributed Deadlock Detection",
  journal =      j-TOCS,
  volume =       "1",
  number =       "2",
  pages =        "144--156",
  month =        may,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1983.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/Discrete.event.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  annote =       "Distributed deadlock models are presented for resource
                 and communication deadlocks. Simple distributed
                 algorithms for detection of these deadlocks are given.
                 We show that all true deadlocks are detected and that
                 no false deadlocks are reported. In our algorithms, no
                 process maintains global information; all messages have
                 an identical short length. The algorithms can be
                 applied in distributed database and other message
                 communication systems.",
  country =      "USA",
  date =         "00/00/00",
  descriptors =  "DISTRIBUTED SIMULATION; COMPUTER NETWORK; DEADLOCK",
  enum =         "8087",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
  language =     "English",
  location =     "UniS-IND-DS_C",
  references =   "15",
  revision =     "19/10/93",
  xxnote =       "Check author order??",
}

@Article{Cappello:1983:VLP,
  author =       "Peter R. Cappello and Kenneth Steiglitz",
  title =        "A {VLSI} Layout for a Pipelined {Dadda} Multiplier",
  journal =      j-TOCS,
  volume =       "1",
  number =       "2",
  pages =        "157--174",
  month =        May,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Math/computer.arithmetic.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  note =         "Reprinted in E. E. Swartzlander, {\em Computer
                 Arithmetic}, Vol. 2, IEEE Computer Society Press
                 Tutorial, Los Alamitos, CA, 1990.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "multiplication",
}

@Article{Blum:1983:HES,
  author =       "Manuel Blum",
  title =        "How to Exchange (Secret) Keys",
  journal =      j-TOCS,
  volume =       "1",
  number =       "2",
  pages =        "175--193",
  month =        may,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Theory/crypto.security.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  note =         "Previously published in ACM STOC '83 proceedings,
                 pages 440--447.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Hoshino:1983:PPM,
  author =       "Tsutomu Hoshino and Toshio Kawai and Tomonori
                 Shirakawa and Junichi Higashino and Akira Yamaoka and
                 Hachidai Ito and Takashi Sato and Kazuo Sawada",
  title =        "{PACS}: a Parallel Microprocessor Array for Scientific
                 Calculations",
  journal =      j-TOCS,
  volume =       "1",
  number =       "3",
  pages =        "195--221",
  month =        aug,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/ovr.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Schlichting:1983:FSP,
  author =       "Richard D. Schlichting and Fred B. Schneider",
  title =        "Fail-Stop Processors: An Approach to Designing
                 Fault-Tolerant Computing Systems",
  journal =      j-TOCS,
  volume =       "1",
  number =       "3",
  pages =        "222--238",
  month =        aug,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Distributed/distfs.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/SE/dependability.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Akl:1983:CSP,
  author =       "Selim G. Akl and Peter D. Taylor",
  title =        "Cryptographic Solution to a Problem of Access Control
                 in a Hierarchy",
  journal =      j-TOCS,
  volume =       "1",
  number =       "3",
  pages =        "239--248",
  month =        aug,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Bauer:1983:KDP,
  author =       "R. K. Bauer and T. A. Berson and R. J. Feiertag",
  title =        "A Key Distribution Protocol Using Event Markers",
  journal =      j-TOCS,
  volume =       "1",
  number =       "3",
  pages =        "249--255",
  month =        aug,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/misc.1.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Kemmerer:1983:SRM,
  author =       "Richard A. Kemmerer",
  title =        "Shared Resource Matrix Methodology: An Approach to
                 Identifying Storage and Timing Channels",
  journal =      j-TOCS,
  volume =       "1",
  number =       "3",
  pages =        "256--277",
  month =        aug,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Jones:1983:PSI,
  author =       "Anita K. Jones",
  title =        "Preface to Special Issue",
  journal =      j-TOCS,
  volume =       "1",
  number =       "4",
  pages =        "279--280",
  month =        nov,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Strecker:1983:TBC,
  author =       "William D. Strecker",
  title =        "Transient Behavior of Cache Memories",
  journal =      j-TOCS,
  volume =       "1",
  number =       "4",
  pages =        "281--293",
  month =        nov,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Kobayashi:1983:ORC,
  author =       "Hiroshi Kobayashi and Mario Gerla",
  title =        "Optimal Routing in Closed Queueing Networks",
  journal =      j-TOCS,
  volume =       "1",
  number =       "4",
  pages =        "294--310",
  month =        nov,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1983.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  annote =       "\ldots{} This paper addresses the problem of obtaining
                 the set of routing probabilities that will minimize
                 response time, or alternatively maximize the
                 throughput. An algorithm, called the flow deviation
                 (FD) algorithm, is already known for obtaining the
                 optimal routing probabilities for open queueing network
                 models \ldots{}",
  country =      "USA",
  date =         "28/11/84",
  descriptors =  "Closed queueing network; routing algorithm",
  enum =         "1726",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  language =     "English",
  location =     "RWTH-AC-DFV: Bibl.",
  references =   "0",
  revision =     "21/04/91",
}

@Article{Sloan:1983:MEB,
  author =       "Lansing Sloan",
  title =        "Mechanisms that Enforce Bounds on Packet Lifetimes",
  journal =      j-TOCS,
  volume =       "1",
  number =       "4",
  pages =        "311--330",
  month =        nov,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Shankar:1983:HPS,
  author =       "A. Udaya Shankar and Simon S. Lam",
  title =        "An {HDLC} Protocol Specification and Its Verifications
                 Using Image Protocols",
  journal =      j-TOCS,
  volume =       "1",
  number =       "4",
  pages =        "331--368",
  month =        nov,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Sauer:1983:CCA,
  author =       "Charles H. Sauer",
  title =        "Corrigendum: Computational Algorithms for
                 State-Dependent Queuing Networks",
  journal =      j-TOCS,
  volume =       "1",
  number =       "4",
  pages =        "369--369",
  month =        nov,
  year =         "1983",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Distributed/QLD/1983.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  note =         "See \cite{Sauer:1983:CAS}.",
  acknowledgement = ack-nhfb,
  country =      "USA",
  date =         "13/05/93",
  descriptors =  "Queueing network; product form; analysis",
  enum =         "7840",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  language =     "English",
  location =     "SEL: Wi",
  references =   "0",
  revision =     "16/01/94",
}

@Article{Anonymous:1984:I,
  author =       "Anonymous",
  title =        "Index",
  journal =      j-TOCS,
  volume =       "1",
  number =       "4",
  pages =        "370--371",
  month =        nov,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Jones:1984:PSI,
  author =       "Anita K. Jones",
  title =        "Preface to Special Issue",
  journal =      j-TOCS,
  volume =       "2",
  number =       "1",
  pages =        "1--1",
  month =        nov,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Schroeder:1984:EGG,
  author =       "Michael D. Schroeder and Andrew D. Birrell and Roger
                 M. Needham",
  title =        "Experience with {Grapevine}: The Growth of a
                 Distributed System",
  journal =      j-TOCS,
  volume =       "2",
  number =       "1",
  pages =        "3--23",
  month =        feb,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 15 14:49:51 1987",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold/1984.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Distributed/Danzig.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/os.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Grapevine is a distributed, replicated system that
                 provides message delivery, naming, authentication,
                 resource location, and access control services in an
                 internet of computers. The system, described in a
                 previous paper [1], was designed and implemented
                 several years ago. We now have had operational
                 experience with the system under substantial load. In
                 this paper we report on what we have learned from using
                 Grapevine.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Design; experimentation; Grapevine; reliability; TOCS
                 operating systems distributed systems database
                 systems",
  owner =        "manning",
}

@Article{Lindsay:1984:CCR,
  author =       "Bruce G. Lindsay and Laura M. Haas and C. Mohan and
                 Paul F. Wilms and Robert A. Yost",
  title =        "Computation and Communication in {R}: a Distributed
                 Database Manager",
  journal =      j-TOCS,
  volume =       "2",
  number =       "1",
  pages =        "24--38",
  month =        feb,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold/1984.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  note =         "Also published in/as: SOSP 9, Bretton Woods, Oct.
                 1983.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Rstar; TOCS",
}

@Article{Birrell:1984:IRP,
  author =       "Andrew D. Birrell and Bruce Jay Nelson",
  key =          "Birrell \& Nelson",
  title =        "Implementing Remote Procedure Calls",
  journal =      j-TOCS,
  volume =       "2",
  number =       "1",
  pages =        "39--59",
  month =        feb,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 15 14:59:58 1987",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bcp.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Distributed/networks.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/misc.1.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/IMMD_IV.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/os.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/SE/dependability.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Remote procedure calls (RPC) appear to be a useful
                 paradigm for providing communication across a network
                 between programs written in a high-level language. This
                 paper describes a package providing a remote procedure
                 call facility, the options that face the designer of
                 such a package, and the decisions we made. We describe
                 the overall structure of our RPC mechanism, our
                 facilities for binding RPC clients, the transport
                 level, communication protocol, and some performance
                 measurements. We include descriptions of some
                 optimizations used to achieve high performance and to
                 minimize the load on server machines that have many
                 clients.",
  acknowledgement = ack-nhfb,
  checked =      yes,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Design; distributed naming and binding;
                 experimentation; inter-process communication;
                 performance; performance of communication protocols;
                 remote procedure calls; RPC, Cedar; RPC, transport
                 layer protocol; security; TOCS; transport layer
                 protocols",
  memos =        "The idea of RPC was first suggested by J. E. White in
                 a paper entitled ``A high-level framework for
                 network-based resource sharing'' in the Proceedings of
                 the National Computer Conference in June 1976. The
                 implementation of RPC described in the paper is the one
                 from the {\em Cedar\/} project at Xerox.",
  owner =        "manning",
}

@Article{Berkovich:1984:CCT,
  author =       "Simon Y. Berkovich and Colleen Roe Wilson",
  title =        "A Computer Communication Technique Using
                 Content-Induced Transaction Overlap",
  journal =      j-TOCS,
  volume =       "2",
  number =       "1",
  pages =        "60--77",
  month =        feb,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Kameda:1984:OCP,
  author =       "Hisao Kameda",
  title =        "Optimality of a Central Processor Scheduling Policy
                 for Processing a Job Stream",
  journal =      j-TOCS,
  volume =       "2",
  number =       "1",
  pages =        "78--90",
  month =        feb,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/IMMD_IV.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Smith:1984:PSI,
  author =       "Alan Jay Smith",
  title =        "Preface to Special Issue",
  journal =      j-TOCS,
  volume =       "2",
  number =       "2",
  pages =        "91--92",
  month =        may,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Marsan:1984:CGS,
  author =       "Marco Ajmone Marsan and Gianni Conte and Gianfranco
                 Balbo",
  title =        "A Class of Generalized Stochastic {Petri} Nets for the
                 Performance Evaluation of Multiprocessor Systems",
  journal =      j-TOCS,
  volume =       "2",
  number =       "2",
  pages =        "93--122",
  month =        may,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/Discrete.event.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/IMMD_IV.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/SE/uni-do.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "GSPN",
}

@Article{Tantawi:1984:PAC,
  author =       "Asser N. Tantawi and Manfred Ruschitzka",
  title =        "Performance Analysis of Checkpointing Strategies",
  journal =      j-TOCS,
  volume =       "2",
  number =       "2",
  pages =        "123--144",
  month =        may,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Schneider:1984:BGA,
  author =       "Fred B. Schneider",
  title =        "{Byzantine} Generals in Action: Implementing Fail-Stop
                 Processors",
  journal =      j-TOCS,
  volume =       "2",
  number =       "2",
  pages =        "145--154",
  month =        may,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Distributed/distfs.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/IMMD_IV.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/SE/dependability.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Stamos:1984:SGS,
  author =       "James W. Stamos",
  title =        "Static Grouping of Small Objects to Enhance
                 Performance of a Paged Virtual Memory",
  journal =      j-TOCS,
  volume =       "2",
  number =       "2",
  pages =        "155--180",
  month =        may,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/gc.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Parallel/distmem.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Smalltalk is an object-oriented, interactive
                 programming environment that maintains sate between
                 user sessions. Because of the persistence of objects,
                 it is possible to use program restructuring techniques
                 to statically relocate objects in virtual memory.
                 Grouping related objects on the same disk page
                 increases locality of reference, reduces the number of
                 page faults, and improves performance. Five types of
                 static grouping algorithms along with the static
                 analysis performed on their outputs, and empirical
                 evidence of their performance are presented.",
  acknowledgement = ack-nhfb,
  comment =      "Using the garbage collector to improve performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "clustering TOCS",
}

@Article{McKusick:1984:FFS,
  author =       "Marshall K. McKusick and William N. Joy and Sam J.
                 Leffler and Robert S. Fabry",
  key =          "McKusick et al.",
  title =        "A Fast File System for {UNIX}",
  journal =      j-TOCS,
  volume =       "2",
  number =       "3",
  pages =        "181--197",
  month =        aug,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Feb 7 10:11:41 1985",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/unix.1.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "A reimplementation of the UNIX file system is
                 described. The reimplementation provides substantially
                 higher throughput rates by using more flexible
                 allocation policies that allow better locality of
                 reference and can be adapted to a wide range of
                 peripheral and processor characteristics. The new file
                 system clusters data that is sequentially accessed and
                 provides two block sizes to allow fast access to large
                 files while not wasting large amounts of space for
                 small files. File access rates of up to ten times
                 faster than the traditional UNIX file system are
                 experienced. Long-needed enhancements to the
                 programmers' interface are discussed. These include a
                 mechanism to place advisory locks on files, extensions
                 of the name space across file systems, the ability to
                 use long file names, and provisions for administrative
                 control of resource usage.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS; UNIX, file system organization, file system
                 performance, file system design, application program
                 interface",
}

@Article{Landwehr:1984:SMM,
  author =       "Carl E. Landwehr and Constance L. Heitmeyer and John
                 McLean",
  title =        "A Security Model for Military Message System",
  journal =      j-TOCS,
  volume =       "2",
  number =       "3",
  pages =        "198--222",
  month =        aug,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold/1984.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/bibsec.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Schwarz:1984:SSA,
  author =       "Peter M. Schwarz and Alfred Z. Spector",
  title =        "Synchronizing Shared Abstract Types",
  journal =      j-TOCS,
  volume =       "2",
  number =       "3",
  pages =        "223--250",
  month =        aug,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Chang:1984:RBP,
  author =       "Jo-Mei Chang and N. F. Maxemchuk",
  title =        "Reliable Broadcast Protocols",
  journal =      j-TOCS,
  volume =       "2",
  number =       "3",
  pages =        "251--273",
  month =        aug,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/gc.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/misc.1.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/SE/dependability.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  comment =      "Atomic multicast protocol.",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Consensus / Broadcast; Multicast; TOCS operating
                 distributed systems reliability networks
                 communication",
}

@Article{Anonymous:1984:IA,
  author =       "Anonymous",
  title =        "Information for Authors",
  journal =      j-TOCS,
  volume =       "2",
  number =       "3",
  pages =        "274--276",
  month =        aug,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:18:40 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Saltzer:1984:EEA,
  author =       "J. H. Saltzer and D. P. Reed and D. D. Clark",
  key =          "Saltzer et al.",
  title =        "End-to-End Arguments in System Design",
  journal =      j-TOCS,
  volume =       "2",
  number =       "4",
  pages =        "277--288",
  month =        nov,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Mar 6 11:12:06 1985",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/digital.library.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/os.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/SE/dependability.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "This paper presents a design principle that helps
                 guide placement of functions among the modules of a
                 distributed computer system. The principle, called the
                 end-to-end argument, suggests that functions placed at
                 low levels of a system may be redundant or of little
                 value when compared with the cost of providing them at
                 that low level. Examples discussed in the paper include
                 bit-error recovery, security using encryption,
                 duplicate message suppression, recovery from system
                 crashes, and delivery acknowledgement. Low-level
                 mechanisms to support these functions are justified
                 only as performed enhancements.",
  acknowledgement = ack-nhfb,
  comments =     "Argues that you should put functionality at the higher
                 app layers, rather than at low layers. Includes a
                 security example",
  entered-by =   "Andreas Paepcke",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "data communication; design; design principles;
                 protocol design; TOCS",
}

@Article{Smith:1984:DAE,
  author =       "James E. Smith",
  title =        "Decoupled Access\slash Execute Computer
                 Architectures",
  journal =      j-TOCS,
  volume =       "2",
  number =       "4",
  pages =        "289--308",
  month =        nov,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Math/sparse.linear.systems.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Tichy:1984:SSC,
  author =       "Walter F. Tichy",
  title =        "The String-to-String Correction Problem with Block
                 Moves",
  journal =      j-TOCS,
  volume =       "2",
  number =       "4",
  pages =        "309--321",
  month =        nov,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/allison.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/protein.pattern.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Uses block moves as the edit operation, seeks min'
                 number, gets a $O(n)$ linear algorithm if P. Weiner's
                 data-structure used. $S$ source string, $T$ target
                 string. Algorithm: find longest prefix of $T$ that is a
                 substring of $S$, this gives the first block move;
                 repeat until done. Proof: by induction on number of
                 block moves. One block move - $T$ must obviously be a
                 substring of $S$, alg' finds this. Suppose optimal is
                 $i$ block moves and alg' fails, i.e., finds $j > i$
                 moves.
                 T:----Opt1----$|$--Opt2--$|$---Opt3---$|$.....$|$--Algi--
                 T:-----Alg1-----$|$---Alg2---$|$.....$|$-----Algj------
                 NB. $|$Alg1$|$ $>$= $|$Opt1$|$ Delete the substring
                 Alg1. By induction the alg' would find the opt'
                 explanation of the rest of $T$ - but it doesn't :-
                 contradiction.",
  acknowledgement = ack-nhfb,
  comment =      "``An algorithm that produces the shortest edit
                 sequence transforming one string into another is
                 presented. The algorithm is optimal in the sense that
                 it generated a minimal covering set of common
                 substrings of one string with respect to another. Two
                 improvements of the basic algorithm are developed. The
                 first improvement performs well on strings with few
                 replicated symbols. The second improvement runs in time
                 and space linear to the size of the input. Efficient
                 algorithms for regenerating a string from an edit
                 sequence are also presented.'' longest common
                 sequence",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "longest common subsequence, LCS, LCSS, edit distance,
                 block, move, TOCS, string to strings, sequence,
                 alignment, linear, algorithm; TOCS",
}

@Article{Rom:1984:OSC,
  author =       "Raphael Rom",
  title =        "Ordering Subscribers on Cable Networks",
  journal =      j-TOCS,
  volume =       "2",
  number =       "4",
  pages =        "322--334",
  month =        nov,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Bryant:1984:MPA,
  author =       "Raymond M. Bryant and Anthony E. Krzesinski and M.
                 Seetha Lakshmi and K. Mani Chandy",
  title =        "The {MVA} Priority Approximation",
  journal =      j-TOCS,
  volume =       "2",
  number =       "4",
  pages =        "335--359",
  month =        nov,
  year =         "1984",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 11:57:59 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Os/IMMD_IV.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "TOCS",
}

@Article{Birrell:1985:SCU,
  author =       "Andrew D. Birrell",
  title =        "Secure Communication Using Remote Procedure Calls",
  journal =      j-TOCS,
  volume =       "3",
  number =       "1",
  pages =        "1--14",
  month =        feb,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-1/p1-birrell/",
  abstract =     "Research on encryption-based secure communication
                 protocols has reached a stage where it is feasible to
                 construct end-to-end secure protocols. The design of
                 such a protocol, built as part of a remote procedure
                 call package, is described. The security abstraction
                 presented to users of the package, the authentication
                 mechanisms, and the protocol for encrypting and
                 verifying remote calls are also described.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Xerox Corp",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer networks; cryptography; design;
                 experimentation; Protocols; remote procedure calls;
                 secure communication; security",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Cryptographic controls. {\bf C.2.0}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, General, Security and protection (e.g.,
                 firewalls). {\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture.",
}

@Article{Skeen:1985:DLP,
  author =       "Dale Skeen",
  title =        "Determining the Last Process to Fail",
  journal =      j-TOCS,
  volume =       "3",
  number =       "1",
  pages =        "15--30",
  month =        feb,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-1/p15-skeen/",
  abstract =     "A total failure occurs whenever all processes
                 cooperatively executing a distributed task fail before
                 the task completes. A frequent prerequisite for
                 recovery from a total failure is identification of the
                 last set (LAST) of processes to fail. Necessary and
                 sufficient conditions are derived here for computing
                 LAST from the local failure data of recovered
                 processes. These conditions are then translated into
                 procedures for deciding LAST membership, using either
                 complete or incomplete failure data. The choice of
                 failure data is itself dictated by two requirements:
                 (1) it can be cheaply maintained, and (2) it must
                 afford maximum fault-tolerance in the sense that the
                 expected number of recoveries required for identifying
                 LAST is minimized.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Cornell Univ, Ithaca, NY, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer systems, digital; cooperative
                 processes; database systems --- Distributed;
                 Distributed; event ordering; reliability; total
                 failure",
  subject =      "{\bf D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Reliability,
                 availability, and serviceability. {\bf D.4.5} Software,
                 OPERATING SYSTEMS, Reliability, Checkpoint/restart.
                 {\bf H.2.2} Information Systems, DATABASE MANAGEMENT,
                 Physical Design, Recovery and restart.",
}

@Article{Clark:1985:PVT,
  author =       "Douglas W. Clark and Joel S. Emer",
  title =        "Performance of the {VAX-11\slash 780} Translation
                 Buffer: Simulation and Measurement",
  journal =      j-TOCS,
  volume =       "3",
  number =       "1",
  pages =        "31--62",
  month =        feb,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-1/p31-clark/",
  abstract =     "A virtual-address translation buffer (TB) is a
                 hardware cache of recently used virtual-to-physical
                 address mappings. The authors present the results of a
                 set of measurements and simulations of translation
                 buffer performance in the VAX-11\slash 780. Two
                 different hardware monitors were attached to
                 VAX-11\slash 780 computers, and translation buffer
                 behavior was measured. Measurements were made under
                 normal time-sharing use and while running reproducible
                 synthetic time-sharing work loads. Reported
                 measurements include the miss ratios of data and
                 instruction references, the rate of TB invalidations
                 due to context switches, and the amount of time taken
                 to service TB misses. Additional hardware measurements
                 were made with half the TB disabled. Trace-driven
                 simulations of several programs were also run; the
                 traces captured system activity as well as user-mode
                 execution. Several variants of the 11\slash 780 TB
                 structure were simulated.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Digital Equipment Corp, Littleton, MA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "cache memories; computer simulation; computers,
                 digital --- Performance; data storage units; design;
                 experimentation; hardware monitor; measurement;
                 performance; trace-driven simulation; translation
                 buffer",
  subject =      "{\bf C.1.1} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Single Data Stream Architectures, VAX.
                 {\bf B.3.2} Hardware, MEMORY STRUCTURES, Design Styles,
                 Associative memories. {\bf B.3.2} Hardware, MEMORY
                 STRUCTURES, Design Styles, Cache memories. {\bf B.3.2}
                 Hardware, MEMORY STRUCTURES, Design Styles, Virtual
                 memory. {\bf B.3.3} Hardware, MEMORY STRUCTURES,
                 Performance Analysis and Design Aids**, Simulation**.",
}

@Article{Chandy:1985:DSD,
  author =       "K. Mani Chandy and Leslie Lamport",
  title =        "Distributed Snapshots: Determining Global States of
                 Distributed Systems",
  journal =      j-TOCS,
  volume =       "3",
  number =       "1",
  pages =        "63--75",
  month =        feb,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-1/p63-chandy/",
  abstract =     "This paper presents an algorithm by which a process in
                 a distributed system determines a global state of the
                 system during a computation. Many problems in
                 distributed systems can be cast in terms of the problem
                 of detecting global states. For instance, the global
                 state detection algorithm helps to solve an important
                 class of problems: stable property detection. A stable
                 property is one that persists: once a stable property
                 becomes true it remains true thereafter. Examples of
                 stable properties are `computation has terminated',
                 `the system is deadlocked' and `all tokens in a token
                 ring have disappeared. ' The stable property detection
                 problem is that of devising algorithms to detect a
                 given stable property. Global state detection can also
                 be used for checkpointing.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Texas at Austin, Austin, TX, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer programming --- Algorithms;
                 computer systems, digital; Distributed; distributed
                 deadlock detection; distributed snapshots; global
                 states",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Concurrency. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Deadlocks. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Mutual exclusion. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Scheduling. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Synchronization. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Backup procedures. {\bf D.4.5}
                 Software, OPERATING SYSTEMS, Reliability,
                 Checkpoint/restart. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Fault-tolerance. {\bf D.4.5}
                 Software, OPERATING SYSTEMS, Reliability,
                 Verification.",
}

@Article{Cheriton:1985:DPG,
  author =       "David R. Cheriton and Willy Zwaenepoel",
  title =        "Distributed Process Groups in the {V} Kernel",
  journal =      j-TOCS,
  volume =       "3",
  number =       "2",
  pages =        "77--107",
  month =        may,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-2/p77-cheriton/",
  abstract =     "The V kernel supports an abstraction of processes,
                 with operations for interprocess communication, process
                 management, and memory management. This abstraction is
                 used as a software base for constructing distributed
                 systems. As a distributed kernel, the V kernel makes
                 intermachine boundaries largely transparent. In this
                 environment of many cooperating processes on different
                 machines, there are many logical groups of processes.
                 In this paper we describe the extension of the V kernel
                 to support process groups. Operations on groups include
                 group interprocess communication. Aspects of the
                 implementation and performance, and initial experience
                 with applications are discussed.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Stanford Univ, Stanford, CA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer operating systems; computer
                 systems, digital --- Distributed; design; distributed
                 process groups; measurement; performance; V kernel",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf D.4.7} Software, OPERATING
                 SYSTEMS, Organization and Design.",
}

@Article{Even:1985:PCC,
  author =       "S. Even and O. Goldreich",
  title =        "On the Power of Cascade Ciphers",
  journal =      j-TOCS,
  volume =       "3",
  number =       "2",
  pages =        "108--116",
  month =        may,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-2/p108-even/",
  abstract =     "The unicity distance of a cascade of random ciphers,
                 with respect to known plaintext attack, is shown to be
                 the sum of the key lengths. At time-space trade-off for
                 the exhaustive cracking of a cascade of ciphers is
                 shown. The structure of the set of permutations
                 realized by a cascade is studied; it is shown that only
                 l. 2**k exhaustive experiments are necessary to
                 determine the behavior of a cascade of l stages, each
                 having k key bits. It is concluded that the cascade of
                 random ciphers is not a random cipher. Yet, it is shown
                 that, with probability, the number of permutations
                 realizable by a cascade of l random ciphers, each
                 having k key bits, is 2**l**k. Next, it is shown that
                 two stages are not worse than one, by a simple
                 reduction of the cracking problem of any of the stages
                 to the cracking problem of the cascade. Finally, it is
                 shown that proving a nonpolynomial lower bound on the
                 cracking problem of long cascades is a hard task, since
                 such a bound implies that P does not equal NP.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Technion-Israel Inst of Technology, Haifa, Isr",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; cascade ciphers; cryptography; data
                 encryption; data processing --- Security of Data;
                 random ciphers; security; theory; unicity distance",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection. {\bf E.3} Data, DATA ENCRYPTION.",
}

@Article{Padmanabhan:1985:PAR,
  author =       "Krishnan Padmanabhan and Duncan H. Lawrie",
  title =        "Performance Analysis of Redundant-Path Networks for
                 Multiprocessor Systems",
  journal =      j-TOCS,
  volume =       "3",
  number =       "2",
  pages =        "117--144",
  month =        may,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-2/p117-padmanabhan/",
  abstract =     "Performance of a class of multistage interconnection
                 networks employing redundant paths is investigated.
                 Redundant path networks provide significant tolerance
                 to faults at minimal costs; in this paper improvements
                 in performance and very graceful degradation are also
                 shown to result from the availability of redundant
                 paths. A Markov model is introduced for the operation
                 of these networks in the circuit-switched mode and is
                 solved numerically to obtain the performance measures
                 of interest. The structure of the networks that provide
                 maximal performance is also characterized.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Illinois at Urbana-Champaign, Urbana,
                 IL, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer systems, digital; design; Multiprocessing;
                 multistage interconnection networks; performance;
                 performance analysis; redundant-path networks",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Performance attributes. {\bf C.1.2}
                 Computer Systems Organization, PROCESSOR ARCHITECTURES,
                 Multiple Data Stream Architectures (Multiprocessors),
                 Interconnection architectures. {\bf C.1.2} Computer
                 Systems Organization, PROCESSOR ARCHITECTURES, Multiple
                 Data Stream Architectures (Multiprocessors),
                 Multiple-instruction-stream, multiple-data-stream
                 processors (MIMD). {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors), Parallel
                 processors**. {\bf C.4} Computer Systems Organization,
                 PERFORMANCE OF SYSTEMS, Design studies. {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF SYSTEMS,
                 Modeling techniques.",
}

@Article{Maekawa:1985:AME,
  author =       "Mamoru Maekawa",
  title =        "A {$\sqrt{N}$} Algorithm for Mutual Exclusion in
                 Decentralized Systems",
  journal =      j-TOCS,
  volume =       "3",
  number =       "2",
  pages =        "145--159",
  month =        may,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-2/p145-maekawa/",
  abstract =     "An algorithm is presented that uses only c ROOT N
                 messages to create mutual exclusion in a computer
                 network, where N is the number of nodes and c a
                 constant between 3 and 5. The algorithm is symmetric
                 and allows fully parallel operation.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Tokyo, Dep of Information Science,
                 Tokyo, Jpn",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer networks; computer programming
                 --- Algorithms; decentralized systems; design; mutual
                 exclusion; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Mutual exclusion. {\bf C.2.1} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Network Architecture and Design, Network
                 communications. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Network operating systems.",
}

@Article{Smith:1985:DCM,
  author =       "Alan Jay Smith",
  title =        "Disk Cache --- Miss Ratio Analysis and Design
                 Considerations",
  journal =      j-TOCS,
  volume =       "3",
  number =       "3",
  pages =        "161--203",
  month =        aug,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-3/p161-smith/",
  abstract =     "The current trend of computer system technology is
                 toward CPUs with rapidly increasing processing power
                 and toward disk drives of rapidly increasing density,
                 but with disk performance increasing very slowly if at
                 all. The implication of these trends is that at some
                 point the processing power of computer systems will be
                 limited by the throughput of the input\slash output
                 (I/O) system. A solution to this problem, which is
                 described and evaluated in this paper, is disk cache.
                 The idea is to buffer recently used portions of the
                 disk address space in electronic storage. Experimental
                 results are based on extensive trace-driven simulations
                 using traces taken from three large IBM or
                 IBM-compatible mainframe data processing installations.
                 We find that disk cache is a powerful means of
                 extending the performance limits of high-end computer
                 systems.",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of California, Dep of Electrical Engineering \&
                 Computer Sciences, Berkeley, CA, USA",
  affiliationaddress = "Univ of California, Dep of Electrical
                 Engineering \& Computer Sciences, Berkeley, CA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "cache controller; computer systems, digital; data
                 storage units; design; disk cache; experimentation; I/O
                 buffer; measurement; performance",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf B.4.2} Hardware,
                 INPUT/OUTPUT AND DATA COMMUNICATIONS, Input/Output
                 Devices, Channels and controllers. {\bf B.3.2}
                 Hardware, MEMORY STRUCTURES, Design Styles, Mass
                 storage. {\bf B.3.3} Hardware, MEMORY STRUCTURES,
                 Performance Analysis and Design Aids**. {\bf D.4.2}
                 Software, OPERATING SYSTEMS, Storage Management.",
}

@Article{Strom:1985:ORD,
  author =       "Robert E. Strom and Shaula Yemini",
  title =        "Optimistic Recovery in Distributed Systems",
  journal =      j-TOCS,
  volume =       "3",
  number =       "3",
  pages =        "204--226",
  month =        aug,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-3/p204-strom/",
  abstract =     "Optimistic Recovery is a new technique supporting
                 application-independent transparent recovery from
                 processor failures in distributed systems. In
                 optimistic recovery communication, computation and
                 checkpointing proceed asynchronously. Synchronization
                 is replaced by causal dependency tracking, which
                 enables a posteriori reconstruction of a consistent
                 distributed system state following a failure using
                 process rollback and message replay. Because there is
                 no synchronization among computation, communication,
                 and checkpointing, optimistic recovery can tolerate the
                 failure of an arbitrary number of processors and yields
                 better throughput and response time than other general
                 recovery techniques whenever failures are infrequent.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "IBM, Thomas J. Watson Research Cent, Yorktown
                 Heights, NY, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer operating systems; computer
                 programming --- Algorithms; computer systems, digital;
                 Distributed; optimistic algorithms; optimistic
                 recovery; reliability; verification",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf D.4.5} Software,
                 OPERATING SYSTEMS, Reliability. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems. {\bf C.1.2} Computer Systems Organization,
                 PROCESSOR ARCHITECTURES, Multiple Data Stream
                 Architectures (Multiprocessors). {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming.",
}

@Article{Tay:1985:EBP,
  author =       "Y. C. Tay and Rajan Suri",
  title =        "Error Bounds for Performance Prediction in Queuing
                 Networks",
  journal =      j-TOCS,
  volume =       "3",
  number =       "3",
  pages =        "227--254",
  month =        aug,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-3/p227-tay/",
  abstract =     "Analytic models based on closed queuing networks
                 (CQNS) are widely used for performance prediction in
                 practical systems. In using such models, there is
                 always a prediction error, that is, a difference
                 between the predicted performance and actual outcome.
                 This prediction error is due both to modeling errors
                 and estimation errors, the latter being the difference
                 between the estimated values of the CQN parameters and
                 the actual outcomes. This paper considers the second
                 class of errors; in particular, it studies the effect
                 of small estimation errors and provides bounds on
                 prediction errors based on bounds on estimation errors.
                 Estimation errors may be divided into two types: (1)
                 the difference between the estimated value and the
                 average value of the outcome, and (2) the deviation of
                 the actual value from its average. The analysis first
                 studies the sum of both types of errors, then the
                 second type alone. The results are illustrated with
                 three examples.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Natl Univ of Singapore, Dep of Mathematics, Kent
                 Ridge, Singapore",
  classification = "722; 723; 922",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "closed queuing networks; computer systems, digital;
                 error bounds; measurement; performance; Performance;
                 probability --- Queueing Theory; product form networks;
                 queuing networks; verification",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Modeling techniques. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Stochastic analysis.
                 {\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Queueing theory. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Modeling and prediction.",
}

@Article{Brown:1985:AFS,
  author =       "Mark R. Brown and Karen N. Kolling and Edward A.
                 Taft",
  title =        "The {Alpine} File System",
  journal =      j-TOCS,
  volume =       "3",
  number =       "4",
  pages =        "261--293",
  month =        nov,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-4/p261-brown/",
  abstract =     "Alpine is a file system that supports atomic
                 transactions and is designed to operate as a service on
                 a computer network. Alpine's primary purpose is to
                 store files that represent databases. An important
                 secondary goal is to store ordinary files representing
                 documents, program modules, and the like. Unlike other
                 file servers described in the literature, Alpine uses a
                 log-based technique to implement atomic file update.
                 Another unusual aspect of Alpine is that it performs
                 all communication via a general-purpose remote
                 procedure call facility. Both of these decisions have
                 worked out well. This paper describes Alpine's design
                 and implementation, and evaluates the system in light
                 of our experience to date. The Cedar language and
                 programming environment is used to develop Alpine.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Xerox Corp, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "alpine; cedar; computer networks; computer programming
                 languages; database systems; design; experimentation;
                 file servers; file system; reliability",
  subject =      "{\bf D.4.0} Software, OPERATING SYSTEMS, General,
                 Alpine. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Checkpoint/restart. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management. {\bf D.3.2}
                 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Cedar. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Backup procedures. {\bf D.4.7}
                 Software, OPERATING SYSTEMS, Organization and Design,
                 Distributed systems. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, Distributed databases.",
}

@Article{DeMori:1985:RAB,
  author =       "Renato {De Mori} and R{\'e}gis Cardin",
  title =        "A Recursive Algorithm for Binary Multiplication and
                 its Implementation",
  journal =      j-TOCS,
  volume =       "3",
  number =       "4",
  pages =        "294--314",
  month =        nov,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-4/p294-de_mori/",
  abstract =     "A new recursive algorithm for deriving the layout of
                 parallel multipliers is presented. Based on this
                 algorithm, a network for performing multiplications of
                 two's complement numbers is proposed. The network can
                 be implemented in a synchronous or an asynchronous way.
                 If the factors to be multiplied have N bits, the area
                 complexity of the network is O(N**2) for practical
                 values of N as in the case of cellular multipliers. Due
                 to the design approach based on a recursive algorithm,
                 a time complexity O(log N) is achieved. It is shown how
                 the structure can be pipelined with period complexity
                 O(1) and used for single and double precision
                 multiplication.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Concordia Univ, Dep of Computer Science,
                 Montreal, Que, Can",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; Algorithms; binary multiplication;
                 complexity; computer programming; computer systems,
                 digital --- Parallel Processing; design; performance;
                 recursive algorithm",
  subject =      "{\bf B.2.1} Hardware, ARITHMETIC AND LOGIC STRUCTURES,
                 Design Styles, Parallel. {\bf B.2.1} Hardware,
                 ARITHMETIC AND LOGIC STRUCTURES, Design Styles,
                 Pipeline. {\bf C.5.4} Computer Systems Organization,
                 COMPUTER SYSTEM IMPLEMENTATION, VLSI Systems.",
}

@Article{Chow:1985:DCM,
  author =       "Ching-Hua Chow and Mohamed G. Gouda and Simon S. Lam",
  title =        "A Discipline for Constructing Multiphase Communication
                 Protocols",
  journal =      j-TOCS,
  volume =       "3",
  number =       "4",
  pages =        "315--343",
  month =        nov,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-4/p315-chow/",
  abstract =     "Many communication protocols can be observed to go
                 through different phases performing a distinct function
                 in each phase. A multiphase model for such protocols is
                 presented. A phase is formally defined to be a network
                 of communicating finite-state machines with certain
                 desirable correctness properties; these include proper
                 termination and freedom from deadlocks and unspecified
                 receptions. A multifunction protocol is constructed by
                 first constructing separate phases to perform its
                 different functions. It is shown how to connect these
                 phases together to realize the multifunction protocol
                 so that the resulting network of communicating finite
                 state machines is also a phase (i. e., it possesses the
                 desirable properties defined for phases). The
                 modularity inherent in multiphase protocols facilitates
                 not only their construction but also their
                 understanding and modification. An abundance of
                 protocols have been found in the literature that can be
                 constructed as multiphase protocols. Three examples are
                 presented here: two versions of IBM's BSC protocol for
                 data link control and a token ring network protocol.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Texas at Austin, Dep of Computer
                 Sciences, Austin, TX, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; BSC protocols; computer networks; design;
                 multiphase communication protocols; Protocols; theory;
                 token ring network protocol; verification",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf B.4.4} Hardware,
                 INPUT/OUTPUT AND DATA COMMUNICATIONS, Performance
                 Analysis and Design Aids**, Formal models**. {\bf
                 B.4.4} Hardware, INPUT/OUTPUT AND DATA COMMUNICATIONS,
                 Performance Analysis and Design Aids**, Verification**.
                 {\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol verification. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
                 D.2.2} Software, SOFTWARE ENGINEERING, Design Tools and
                 Techniques, Modules and interfaces. {\bf D.2.2}
                 Software, SOFTWARE ENGINEERING, Design Tools and
                 Techniques, Structured programming**. {\bf D.2.4}
                 Software, SOFTWARE ENGINEERING, Software/Program
                 Verification, Correctness proofs. {\bf D.2.4} Software,
                 SOFTWARE ENGINEERING, Software/Program Verification,
                 Validation.",
}

@Article{Suzuki:1985:DME,
  author =       "Ichiro Suzuki and Tadao Kasami",
  title =        "A Distributed Mutual Exclusion Algorithm",
  journal =      j-TOCS,
  volume =       "3",
  number =       "4",
  pages =        "344--349",
  month =        nov,
  year =         "1985",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1985-3-4/p344-suzuki/",
  abstract =     "A distributed algorithm is presented that realizes
                 mutual exclusion among N nodes in a computer network.
                 The algorithm requires at most N message exchanges for
                 one mutual exclusion invocation. Accordingly, the delay
                 to invoke mutual exclusion is smaller than in an
                 algorithm of Ricart and Agrawala, which requires
                 2*(N-1) message exchanges per invocation. A drawback of
                 the algorithm is that the sequence numbers contained in
                 the messages are unbounded. It is shown that this
                 problem can be overcome by slightly increasing the
                 number of message exchanges.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Osaka Univ, Toyonaka, Jpn",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Algorithms; algorithms; computer networks; computer
                 programming; distributed mutual exclusion algorithm;
                 message exchange; process management",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Mutual exclusion. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems.",
}

@Article{Smith:1986:IGP,
  author =       "Connie U. Smith",
  title =        "Independent General Principles for Constructing
                 Responsive Software Systems",
  journal =      j-TOCS,
  volume =       "4",
  number =       "1",
  pages =        "1--31",
  month =        feb,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-1/p1-smith/",
  abstract =     "Three general principles are presented that can be
                 applied in early software life cycle stages for the
                 definition of software requirements and designs with
                 acceptable performance. They are genuine high-level
                 considerations for meeting responsiveness goals without
                 sacrificing understandability and maintainability, and
                 without increasing development time and cost. The
                 principles are derived from the interrelationships of
                 two performance models: a queueing network based on
                 computer system model and an execution graph software
                 model. The performance effect of each of the principles
                 is quantified using the models. Examples are given that
                 illustrate how they can be applied to software
                 systems.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Duke Univ, Dep of Computer Science, Durham, NC,
                 USA",
  classification = "722; 723; 921",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer software; computer systems, digital ---
                 Performance; design; mathematical models; Performance;
                 performance",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Design studies. {\bf D.2.10} Software,
                 SOFTWARE ENGINEERING, Design**. {\bf C.4} Computer
                 Systems Organization, PERFORMANCE OF SYSTEMS,
                 Performance attributes. {\bf D.0} Software, GENERAL.
                 {\bf D.2.9} Software, SOFTWARE ENGINEERING, Management,
                 Life cycle. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Modeling and prediction. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Operational
                 analysis.",
}

@Article{Herlihy:1986:QCR,
  author =       "Maurice Herlihy",
  title =        "A Quorum-Consensus Replication Method for Abstract
                 Data Types",
  journal =      j-TOCS,
  volume =       "4",
  number =       "1",
  pages =        "32--53",
  month =        feb,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-1/p32-herlihy/",
  abstract =     "Replication can enhance the availability of data in
                 distributed systems. This paper introduces a new method
                 for managing replicated data. Unlike many methods that
                 support replication only for uninterpreted files, this
                 method systematically exploits type-specific properties
                 of objects such as sets, queues, or directories to
                 provide more effective replication. Each operation
                 requires the cooperation of a certain number of sites
                 for its successful completion. A quorum for an
                 operation is any such set of sites. Necessary and
                 sufficient constraints on quorum intersections are
                 derived from an analysis of the data type's algebraic
                 structure. A reconfiguration method is proposed that
                 permits quorums to be changed dynamically. By taking
                 advantage of type-specific properties in a general and
                 systematic way, this method can realize a wider range
                 of availability properties and more flexible
                 reconfiguration than comparable replication methods.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Carnegie-Mellon Univ, Computer Science Dep,
                 Pittsburgh, PA, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "abstract data types; algorithms; computer operating
                 systems; computer programming languages; database
                 systems; reliability; replication method;
                 verification",
  subject =      "{\bf D.1.3} Software, PROGRAMMING TECHNIQUES,
                 Concurrent Programming. {\bf D.3.3} Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features, Abstract data types. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management, Distributed
                 file systems. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Fault-tolerance. {\bf H.2.4} Information
                 Systems, DATABASE MANAGEMENT, Systems, Distributed
                 databases. {\bf H.2.4} Information Systems, DATABASE
                 MANAGEMENT, Systems, Transaction processing.",
}

@Article{Joseph:1986:LCM,
  author =       "Thomas A. Joseph and Kenneth P. Birman",
  title =        "Low Cost Management of Replicated Data in
                 Fault-Tolerant Distributed Systems",
  journal =      j-TOCS,
  volume =       "4",
  number =       "1",
  pages =        "54--70",
  month =        feb,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-1/p54-joseph/",
  abstract =     "Many distributed systems replicate data for fault
                 tolerance or availability. In such systems, a logical
                 update on a data item results in a physical update on a
                 number of copies. The synchronization and communication
                 required to keep the copies of replicated data
                 consistent introduce a delay when operations are
                 performed. In this paper, we describe a technique that
                 relaxes the usual degree of synchronization, permitting
                 replicated data items to be updated concurrently with
                 other operations, while at the same time ensuring that
                 correctness is not violated. The additional concurrency
                 thus obtained results in better response time when
                 performing operations on replicated data. We also
                 discuss how this technique performs in conjunction with
                 a roll-back and a roll-forward failure recovery
                 mechanism.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Cornell Univ, Dep of Computer Science, Ithaca,
                 NY, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer systems, digital --- Distributed;
                 database systems; fault-tolerant distributed systems;
                 reliability; replicated data; roll-forward recovery;
                 update",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed databases. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Concurrency. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Synchronization. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Checkpoint/restart. {\bf D.4.5}
                 Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf H.2.2} Information Systems,
                 DATABASE MANAGEMENT, Physical Design, Recovery and
                 restart. {\bf H.2.4} Information Systems, DATABASE
                 MANAGEMENT, Systems, Transaction processing.",
}

@Article{Kameda:1986:EJL,
  author =       "Hisao Kameda",
  title =        "Effects of Job Loading Policies for Multiprogramming
                 Systems in Processing a Job Stream",
  journal =      j-TOCS,
  volume =       "4",
  number =       "1",
  pages =        "71--106",
  month =        feb,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-1/p71-kameda/",
  abstract =     "The scheduling of jobs for multiprogramming systems
                 includes the selection of jobs to be loaded into memory
                 (job loading policy or memory schedule) and the
                 scheduling for CPU processing (CPU schedule). There has
                 been a successful empirical claim for the optimal CPU
                 schedule; its optimality has been proved in a Markovian
                 model of job-stream processing that uses the
                 first-come-first-loaded (FCFL) job loading policy. We
                 extend this model to gain insight into the effects of
                 job loading policies. Our investigation, supported by
                 numerical calculations, suggests that much more care
                 may be needed in implementing the job loading policy
                 that aims at the optimal processing capacity than in
                 implementing the optimal CPU schedule. This agrees with
                 what has been conjectured on the basis of empirical
                 studies.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Electro-Communications, Dep of Computer
                 Science, Chofu, Jpn",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer operating systems; computer systems
                 programming; finite memory size model; job loading
                 policies; multiple-resource system; performance;
                 theory; throughput",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Modeling techniques. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Scheduling. {\bf
                 D.4.2} Software, OPERATING SYSTEMS, Storage Management,
                 Allocation/deallocation strategies. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Modeling and
                 prediction. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Queueing theory. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Stochastic analysis.
                 {\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management,
                 Multiprocessing/multiprogramming/multitasking.",
}

@Article{Carriero:1986:NLK,
  author =       "Nicholas Carriero and David Gelernter",
  title =        "The {S/Net}'s {Linda} kernel",
  journal =      j-TOCS,
  volume =       "4",
  number =       "2",
  pages =        "110--129",
  month =        may,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-2/p110-carriero/",
  abstract =     "Linda is a parallel programming language that differs
                 from other parallel languages in its simplicity and in
                 its support for distributed data structures. The S/Net
                 is a multicomputer, designed and built at AT\&T Bell
                 Laboratories, that is based on a fast, word-parallel
                 bus interconnect. We describe the Linda-supporting
                 communication kernel we have implemented on the S/Net.
                 The implementation suggests that Linda's unusual
                 share-memory-like communication primitives can be made
                 to run well in the absence of physically shared memory;
                 the simplicity of the language and of our
                 implementation's logical structure suggest that similar
                 Linda implementations might readily be constructed on
                 related architectures. We outline the language, and
                 programming methodologies based on distributed data
                 structures; we then describe the implementation, and
                 the performance both of the Linda primitives themselves
                 and of a simple S/Net-Linda matrix-multiplication
                 program designed to exercise them.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Yale Univ, New Haven, CT, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "communication kernel; computer programming languages;
                 computer systems, digital --- Parallel Processing; data
                 processing --- Data Structures; design; languages;
                 Linda parallel programming languages; S/Net",
  subject =      "{\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Concurrent programming
                 structures. {\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems, Network operating
                 systems. {\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Message sending.",
}

@Article{Kronenberg:1986:VCC,
  author =       "Nancy P. Kronenberg and Henry M. Levy and William D.
                 Strecker",
  title =        "{VAXclusters}: a Closely-Coupled Distributed System",
  journal =      j-TOCS,
  volume =       "4",
  number =       "2",
  pages =        "130--146",
  month =        may,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-2/p130-kronenberg/",
  abstract =     "A VAXcluster is a highly available and extensible
                 configuration of VAX computers that operate as a single
                 system. To achieve performance in a multicomputer
                 environment, a new communications architecture,
                 communications hardware, and distributed software were
                 jointly designed. The software is a distributed version
                 of the VAX\slash VMS operating system that uses a
                 distributed lock manager to synchronize access to
                 shared resources. The communications hardware includes
                 a 70 megabit per second message-oriented interconnect
                 and an interconnect port that performs communications
                 tasks traditionally handled by software. Performance
                 measurements show this structure to be highly
                 efficient, for example, capable of sending and
                 receiving 3000 messages per second on a VAX-11\slash
                 780.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Digital Equipment Corp, Littleton, MA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer software; computer systems, digital; design;
                 Distributed; intersystem communication protocols;
                 network protocols; performance; reliability;
                 VAXclusters",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management. {\bf C.2.5} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Local
                 and Wide-Area Networks, Buses. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management, Distributed
                 file systems. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Fault-tolerance. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance.",
}

@Article{Fitzgerald:1986:IVM,
  author =       "Robert Fitzgerald and Richard F. Rashid",
  title =        "The Integration of Virtual Memory Management and
                 Interprocess Communication in {Accent}",
  journal =      j-TOCS,
  volume =       "4",
  number =       "2",
  pages =        "147--177",
  month =        may,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-2/p147-fitzgerald/",
  abstract =     "The integration of virtual memory management and
                 interprocess communication in the Accent network
                 operating system kernel is examined. The design and
                 implementation of the Accent memory management system
                 is discussed and its performance, both on a series of
                 message-oriented bench-marks and in normal operation,
                 is analyzed in detail.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Carnegie-Mellon Univ, Pittsburgh, PA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "accent kernel; algorithms; computer operating systems;
                 data transmission; design; interprocess communication;
                 measurement; performance; Storage Allocation; virtual
                 memory management",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Virtual memory. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management, Message
                 sending. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Operational analysis.
                 {\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Distributed systems. {\bf B.1.5} Hardware,
                 CONTROL STRUCTURES AND MICROPROGRAMMING, Microcode
                 Applications, Firmware support of operating
                 systems/instruction sets**.",
}

@Article{Hoyme:1986:TSM,
  author =       "K. P. Hoyme and S. C. Bruell and P. V. Afshari and R.
                 Y. Kain",
  title =        "A Tree-Structured Mean Value Analysis Algorithm",
  journal =      j-TOCS,
  volume =       "4",
  number =       "2",
  pages =        "178--185",
  month =        may,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-2/p178-hoyme/",
  abstract =     "In a recent paper, S. S. Lam and Y. L Lien described
                 an algorithm called tree-convolution that can reduce
                 the space and computation time required for evaluating
                 sparse multiclass, product-form queueing networks. In
                 this paper, we develop an exact algorithm based on mean
                 value analysis (MVA) that is the counterpart of the
                 tree-convolution algorithm. The order of reduction in
                 storage and computation achieved by our new Tree-MVA
                 algorithm compared to the standard MVA algorithm is the
                 same order of reduction obtained by three-convolution
                 algorithm over that of the standard convolution
                 algorithm. Our Three-MVA algorithm preserves the
                 inherent simplicity of MVA based algorithms.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Honeywell Systems \& Research Cent, Minneapolis,
                 MN, USA",
  classification = "723; 921",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Algorithms; algorithms; computer programming; design;
                 mathematical techniques --- Trees; mean value analysis
                 algorithm; performance; tree-structured algorithm",
  subject =      "{\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Operational analysis. {\bf C.2.1} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Architecture and Design. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Modeling
                 techniques. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Modeling and prediction. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Stochastic
                 analysis.",
}

@Article{Barbara:1986:VVA,
  author =       "Daniel Barbara and H{\'e}ctor Garc{\'\i}a-Molina",
  title =        "The Vulnerability of Vote Assignments",
  journal =      j-TOCS,
  volume =       "4",
  number =       "3",
  pages =        "187--213",
  month =        aug,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-3/p187-barbara/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; reliability",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications. {\bf
                 C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Reliability, availability, and serviceability.
                 {\bf D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf B.1.3} Hardware, CONTROL
                 STRUCTURES AND MICROPROGRAMMING, Control Structure
                 Reliability, Testing, and Fault-Tolerance**,
                 Error-checking**.",
}

@Article{Iyer:1986:MMC,
  author =       "R. K. Iyer and D. J. Rossetti and M. C. Hsueh",
  title =        "Measurement and Modeling of Computer Reliability as
                 Affected by System Activity",
  journal =      j-TOCS,
  volume =       "4",
  number =       "3",
  pages =        "214--237",
  month =        aug,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-3/p214-iyer/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "measurement; performance; reliability",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Measurement techniques. {\bf C.4} Computer
                 Systems Organization, PERFORMANCE OF SYSTEMS,
                 Reliability, availability, and serviceability.",
}

@Article{Lazowska:1986:FAP,
  author =       "Edward D. Lazowska and John Zahorjan and David R.
                 Cheriton and Willy Zwaenepoel",
  title =        "File Access Performance of Diskless Workstations",
  journal =      j-TOCS,
  volume =       "4",
  number =       "3",
  pages =        "238--268",
  month =        aug,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-3/p238-lazowska/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Design studies. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Modeling and
                 prediction. {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems.",
}

@Article{Archibald:1986:CCP,
  author =       "James Archibald and Jean-Loup Baer",
  title =        "Cache Coherence Protocols: Evaluation Using a
                 Multiprocessor Simulation Model",
  journal =      j-TOCS,
  volume =       "4",
  number =       "4",
  pages =        "273--298",
  month =        nov,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-4/p273-archibald/",
  abstract =     "Using simulation, we examine the efficiency of several
                 distributed, hardware-based solutions to the cache
                 coherence problem in shared-bus multiprocessors. For
                 each of the approaches, the associated protocol is
                 outlined. The simulation model is described, and
                 results from that model are presented. The magnitude of
                 the potential performance difference between the
                 various approaches indicates that the choice of
                 coherence solution is very important in the design of
                 an efficient shared-bus multiprocessor, since it may
                 limit the number of processors in the system.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Washington, Seattle, WA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "cache coherence protocols; computer simulation;
                 computer systems, digital; design; measurement;
                 Multiprocessing; performance; shared-bus
                 multiprocessor",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors),
                 Multiple-instruction-stream, multiple-data-stream
                 processors (MIMD). {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Measurement
                 techniques. {\bf C.4} Computer Systems Organization,
                 PERFORMANCE OF SYSTEMS, Modeling techniques. {\bf
                 D.4.2} Software, OPERATING SYSTEMS, Storage Management,
                 Distributed memories.",
}

@Article{Comer:1986:CBM,
  author =       "Douglas E. Comer and Larry L. Peterson",
  title =        "Conversation-Based Mail",
  journal =      j-TOCS,
  volume =       "4",
  number =       "4",
  pages =        "299--319",
  month =        nov,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-4/p299-comer/",
  abstract =     "A new message communication paradigm based on
                 conversations that provides an alternative to memo-and
                 conference-based mail is described. A
                 conversation-based message system groups messages into
                 conversations, and orders messages within a
                 conversation according to the context in which they
                 were written. The message context relation leads to an
                 efficient implementation of conversations in a
                 distributed environment and supports a natural ordering
                 of messages when viewed by the user. Experience with a
                 prototype demonstrates the workability of
                 conversation-based mail and suggests that conversations
                 provide a powerful tool for message communication.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Purdue Univ, West Lafayette, IN, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer systems, digital; conversation-based mail;
                 design; Distributed; electronic mail; human factors;
                 management; message systems",
  subject =      "{\bf H.4.3} Information Systems, INFORMATION SYSTEMS
                 APPLICATIONS, Communications Applications, Electronic
                 mail. {\bf H.4.3} Information Systems, INFORMATION
                 SYSTEMS APPLICATIONS, Communications Applications,
                 Computer conferencing, teleconferencing, and
                 videoconferencing.",
}

@Article{Badal:1986:DDD,
  author =       "D. Z. Badal",
  title =        "The Distributed Deadlock Detection Algorithm",
  journal =      j-TOCS,
  volume =       "4",
  number =       "4",
  pages =        "320--337",
  month =        nov,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-4/p320-badal/",
  abstract =     "We propose a distributed deadlock detection algorithm
                 for distributed computer systems. We consider two types
                 of resources, depending on whether the remote resource
                 lock granularity and mode can or cannot be determined
                 without access to the remote resource site. We present
                 the algorithm, its performance analysis, and an
                 informal argument about its correctness. The proposed
                 algorithm has a hierarchical design intended to detect
                 the most frequent deadlocks with maximum efficiency.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Hewlett--Packard Lab, Palo Alto, CA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer programming --- Algorithms;
                 computer systems, digital; deadlock detection; design;
                 Distributed; distributed algorithms; message
                 communication systems; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Deadlocks. {\bf H.2.2} Information Systems,
                 DATABASE MANAGEMENT, Physical Design, Deadlock
                 avoidance. {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems.",
}

@Article{Carey:1986:PMC,
  author =       "Michael J. Carey and Waleed A. Muhanna",
  title =        "The Performance of Multiversion Concurrency Control
                 Algorithms",
  journal =      j-TOCS,
  volume =       "4",
  number =       "4",
  pages =        "338--378",
  month =        nov,
  year =         "1986",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1986-4-4/p338-carey/",
  abstract =     "This paper describes a simulation study of the
                 performance of several multiversion concurrency control
                 algorithms, investigating the extent to which they
                 provide increases in the level of concurrency and also
                 the CPU, I/O, and storage costs resulting from the use
                 of multiple versions. The algorithms are compared with
                 regard to performance with their single-version
                 counterparts and with each other. It is shown that each
                 algorithm offers significant performance improvements
                 despite the additional disk accesses involved in
                 accessing old versions of data; the nature of the
                 improvement depends on the algorithm in question. It is
                 also shown that the storage overhead for maintaining
                 old versions that may be required by ongoing
                 transactions is not all that large under most
                 circumstances.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Wisconsin, Madison, WI, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer programming --- Algorithms;
                 database systems; deadlock avoidance; design;
                 Distributed; experimentation; multiversion concurrency
                 control algorithms; performance; transaction
                 processing",
  subject =      "{\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Simulation. {\bf H.2.2} Information Systems, DATABASE
                 MANAGEMENT, Physical Design, Deadlock avoidance. {\bf
                 H.2.2} Information Systems, DATABASE MANAGEMENT,
                 Physical Design, Recovery and restart. {\bf H.2.4}
                 Information Systems, DATABASE MANAGEMENT, Systems,
                 Transaction processing.",
}

@Article{Lamport:1987:FME,
  author =       "Leslie Lamport",
  title =        "A Fast Mutual Exclusion Algorithm",
  journal =      j-TOCS,
  volume =       "5",
  number =       "1",
  pages =        "1--11",
  month =        feb,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-1/p1-lamport/",
  abstract =     "A new solution to the mutual exclusion problem is
                 presented that, in the absence of contention, requires
                 only seven memory accesses. It assumes atomic reads and
                 atomic writes to shared registers.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Digital Equipment Corp, Palo Alto, CA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer programming --- Algorithms;
                 computer systems, digital; memory accesses;
                 Multiprocessing; mutual exclusion algorithm",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Mutual exclusion. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Deadlocks. {\bf
                 B.3.2} Hardware, MEMORY STRUCTURES, Design Styles,
                 Shared memory.",
}

@Article{Cheriton:1987:UUS,
  author =       "David R. Cheriton",
  title =        "{UIO}: a {Uniform I/O} System Interface for
                 Distributed Systems",
  journal =      j-TOCS,
  volume =       "5",
  number =       "1",
  pages =        "12--46",
  month =        feb,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-1/p12-cheriton/",
  abstract =     "The UIO (uniform I/O) system interface that has been
                 used for the past five years in the V distributed
                 operating system is described, with the focus on the
                 key design issues. This interface provides several
                 extensions beyond the I/O interface of UNIX, including
                 support for record I/O, locking, atomic transactions,
                 and replication, as well as attributes that indicate
                 whether optional semantics and operations are
                 available. Experience in using and implementing this
                 interface with a variety of different I/O services is
                 described, along with the performance of both local and
                 network I/O. It is concluded that the UIO interface
                 provides a uniform I/O system interface with
                 significant functionality, wide applicability, and no
                 significant performance penalty.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Stanford Univ, Stanford, CA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer interfaces; computer operating systems;
                 computer systems, digital --- Distributed; design;
                 experimentation; files input/output; interprocess
                 communication; performance; remote procedure call;
                 standardization; uniform I/O interface",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Input/output. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems, Network operating
                 systems. {\bf D.4.7} Software, OPERATING SYSTEMS,
                 Organization and Design, Distributed systems. {\bf
                 C.2.0} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, General, Security and
                 protection (e.g., firewalls).",
}

@Article{Birman:1987:RCP,
  author =       "Kenneth P. Birman and Thomas A. Joseph",
  title =        "Reliable Communication in the Presence of Failures",
  journal =      j-TOCS,
  volume =       "5",
  number =       "1",
  pages =        "47--76",
  month =        feb,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-1/p47-birman/",
  abstract =     "The design and correctness of a communication facility
                 for a distributed computer system are reported on. The
                 facility provides support for fault-tolerant process
                 groups in the form of a family of reliable multicast
                 protocols that can be used in both local-and wide-area
                 networks. These protocols attain high levels of
                 concurrency, while respecting application-specific
                 delivery ordering constraints, and have varying cost
                 and performance that depend on the degree of ordering
                 desired. In particular, a protocol that enforces causal
                 delivery orderings is introduced and shown to be a
                 valuable alternative to conventional asynchronous
                 communication protocols. The facility also ensures that
                 the processes belonging to a fault-tolerant process
                 group will observe consistent orderings of events
                 affecting the group as a whole.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Cornell Univ, Ithaca, NY, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer networks --- Protocols; computer systems,
                 digital; Distributed; fault tolerance; multicast
                 protocols; performance; reliability",
  subject =      "{\bf D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications. {\bf
                 C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed databases. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Concurrency. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Synchronization. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, Distributed databases.
                 {\bf H.2.2} Information Systems, DATABASE MANAGEMENT,
                 Physical Design, Recovery and restart. {\bf H.2.4}
                 Information Systems, DATABASE MANAGEMENT, Systems,
                 Concurrency. {\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Network communication. {\bf
                 C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications.",
}

@Article{Geist:1987:CDS,
  author =       "Robert Geist and Stephen Daniel",
  title =        "A Continuum of Disk Scheduling Algorithms",
  journal =      j-TOCS,
  volume =       "5",
  number =       "1",
  pages =        "77--92",
  month =        feb,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-1/p77-geist/",
  abstract =     "A continuum of disk scheduling algorithms, V(R),
                 having endpoints V(0) equals SSTF and V(1) equals SCAN,
                 is defined. V(R) maintains a current SCAN direction (in
                 or out) and services next the request with the smallest
                 effective distance. The effective distance of a request
                 that lies in the current direction is its physical
                 distance (in cylinders) from the read\slash write head.
                 The effective distance of a request in the opposite
                 direction is its physical distance plus R multiplied by
                 (total number of cylinders on the disk). By use of
                 simulation methods, it is shown that this definitional
                 continuum also provides a continuum in performance,
                 both with respect to the mean and with respect to the
                 standard deviation of request waiting time. For
                 objective functions that are linear combinations of the
                 two measures, mu w plus k sigma //w, intermediate
                 points of the continuum are seen to provide performance
                 uniformly superior to both SSTF and SCAN. A method of
                 implementing V(R) and the results of its experimental
                 use in a real system are presented.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Clemson Univ, Clemson, SC, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer operating systems; computer
                 programming --- Algorithms; computer simulation;
                 computer systems, digital; disk scheduling algorithms;
                 measurement; moving-head disk; performance;
                 Scheduling",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Scheduling. {\bf D.4.4} Software, OPERATING
                 SYSTEMS, Communications Management, Input/output. {\bf
                 D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Measurements. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Modeling and prediction. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Simulation.",
}

@Article{Smith:1987:RDC,
  author =       "Alan Jay Smith",
  title =        "Remark on {``Disk Cache --- Miss Ratio Analysis and
                 Design Consideration''}",
  journal =      j-TOCS,
  volume =       "5",
  number =       "1",
  pages =        "93--93",
  month =        feb,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-1/p93-smith/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Secondary storage. {\bf B.3.2} Hardware,
                 MEMORY STRUCTURES, Design Styles, Cache memories.",
}

@Article{Watson:1987:GET,
  author =       "Richard W. Watson and Sandy A. Mamrak",
  title =        "Gaining Efficiency in Transport Services by
                 Appropriate Design and Implementation Choices",
  journal =      j-TOCS,
  volume =       "5",
  number =       "2",
  pages =        "97--120",
  month =        may,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-2/p97-watson/",
  abstract =     "This paper examines transport protocol mechanisms and
                 implementation issues and argues that general-purpose
                 transport protocols can be effective in a wide range of
                 distributed applications because (1) many of the
                 mechanisms used in the special-purpose protocols can
                 also be used in general-purpose protocol designs and
                 implementations, (2) special-purpose designs have
                 hidden costs, and (3) very special operating system
                 environments, overall system loads, application
                 response times, and interaction patterns are required
                 before general-purpose protocols are the main system
                 performance bottlenecks.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Lawrence Livermore Natl Lab, Livermore, CA,
                 USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer networks --- Protocols; computer systems,
                 digital; design; Distributed; economics; interprocess
                 communication; performance; standardization; transport
                 layer protocols; transport services",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture.",
}

@Article{Joyce:1987:MDS,
  author =       "Jeffrey Joyce and Greg Lomow and Konrad Slind and
                 Brian Unger",
  title =        "Monitoring Distributed Systems",
  journal =      j-TOCS,
  volume =       "5",
  number =       "2",
  pages =        "121--150",
  month =        may,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-2/p121-joyce/",
  abstract =     "The monitoring of distributed systems involves the
                 collection, interpretation, and display of information
                 concerning the interactions among concurrently
                 executing processes. This information and its display
                 can support the debugging, testing, performance
                 evaluation, and dynamic documentation of distributed
                 systems. General problems associated with monitoring
                 are outlined in this paper, and the architecture of a
                 general purpose, extensible, distributed monitoring
                 system is presented. Three approaches to the display of
                 process interactions are described: textual traces,
                 animated graphical traces, and a combination of aspects
                 of the textual and graphical approaches. The roles that
                 each of these approaches fulfills in monitoring and
                 debugging distributed systems are identified and
                 compared. Monitoring tools for collecting communication
                 statistics, detecting deadlock, controlling the
                 nondeterministic execution of distributed systems, and
                 for using protocol specifications in monitoring are
                 also described.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Calgary, Calgary, Alberta, Can",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer software --- Monitoring; computer systems,
                 digital; concurrent monitoring; deadlock; design;
                 Distributed; distributed monitoring; dynamic
                 documentation; human factors; measurement; protocol
                 specifications",
  subject =      "{\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Monitors. {\bf D.2.2} Software, SOFTWARE ENGINEERING,
                 Design Tools and Techniques, User interfaces. {\bf
                 D.2.5} Software, SOFTWARE ENGINEERING, Testing and
                 Debugging. {\bf D.2.4} Software, SOFTWARE ENGINEERING,
                 Software/Program Verification, Assertion checkers. {\bf
                 D.2.7} Software, SOFTWARE ENGINEERING, Distribution,
                 Maintenance, and Enhancement, Documentation. {\bf
                 D.1.3} Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming. {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed applications. {\bf D.2.6} Software,
                 SOFTWARE ENGINEERING, Programming Environments.",
}

@Article{Glasgow:1987:DPF,
  author =       "Janice I. Glasgow and Glenn H. MacEwen",
  title =        "The Development and Proof of a Formal Specification
                 for a Multilevel Secure System",
  journal =      j-TOCS,
  volume =       "5",
  number =       "2",
  pages =        "151--184",
  month =        may,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-2/p151-glasgow/",
  abstract =     "This paper describes current work on the design and
                 specification of a multilevel secure distributed system
                 called SNet. It discusses security models in general,
                 the various problems of information flows in SNet, and
                 the abstract and concrete security model components for
                 SNet. It also introduces Lucid as a language for
                 specifying distributed systems. The model components
                 are expressed in Lucid; these Lucid partial
                 specifications are shown to be correct with respect to
                 the formal model, and the two model components are
                 shown to be consistent.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Queen's Univ, Kingston, Ont, Can",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer operating systems; computer programming
                 languages; computer systems, digital; data processing
                 --- Security of Data; Distributed; formal
                 specification; lucid; multilevel secure system;
                 security; SNet; verification",
  subject =      "{\bf C.2.0} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, General, Security and
                 protection (e.g., firewalls). {\bf D.3.2} Software,
                 PROGRAMMING LANGUAGES, Language Classifications, LUCID.
                 {\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Information flow controls. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems, SNet.",
}

@Article{Schwan:1987:HPO,
  author =       "Karsten Schwan and Tom Bihari and Bruce W. Weide and
                 Gregor Taulbee",
  title =        "High-Performance Operating System Primitives for
                 Robotics and Real-Time Control Systems",
  journal =      j-TOCS,
  volume =       "5",
  number =       "3",
  pages =        "189--231",
  month =        aug,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-3/p189-schwan/",
  abstract =     "The Generalized Executive for real-time Multiprocessor
                 applications (GEM) is an operating system that
                 addresses several requirements of operating software.
                 First, when using GEM, programmers can select one of
                 two different types of tasks differing in size, called
                 processes and microprocesses. Second, the scheduling
                 calls offered by GEM permit the implementation of
                 several models of task interaction. Third, GEM supports
                 multiple models of communication with a parameterized
                 communication mechanism. Fourth, GEM is closely coupled
                 to prototype real-time programming environments that
                 provide programming support for the models of
                 computation offered by the operating system. GEM is
                 being used on a multiprocessor with robotics
                 application software of substantial size and
                 complexity.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Ohio State Univ, Columbus, OH, USA",
  classification = "723; 731",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer operating systems; computer systems, digital
                 --- Multiprocessing; control systems --- Computer
                 Applications; generalized executive for real-time
                 multiprocessor applications; high-performance operating
                 system primitives; real-time control systems;
                 robotics",
  subject =      "{\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Real-time systems and embedded systems.
                 {\bf C.3} Computer Systems Organization,
                 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS, Process
                 control systems. {\bf C.3} Computer Systems
                 Organization, SPECIAL-PURPOSE AND APPLICATION-BASED
                 SYSTEMS, Real-time and embedded systems. {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF SYSTEMS,
                 Design studies. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Scheduling. {\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Message sending. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Measurements.
                 {\bf J.7} Computer Applications, COMPUTERS IN OTHER
                 SYSTEMS, Industrial control. {\bf J.7} Computer
                 Applications, COMPUTERS IN OTHER SYSTEMS, Process
                 control. {\bf J.7} Computer Applications, COMPUTERS IN
                 OTHER SYSTEMS, Real time. {\bf D.4.0} Software,
                 OPERATING SYSTEMS, General.",
}

@Article{Harter:1987:RTL,
  author =       "Paul K. {Harter, Jr.}",
  title =        "Response Times in Level-Structured Systems",
  journal =      j-TOCS,
  volume =       "5",
  number =       "3",
  pages =        "232--248",
  month =        aug,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-3/p232-harter/",
  abstract =     "Real-time programs are among the most critical
                 programs in use today, yet they are also among the
                 worst understood and the most difficult to verify.
                 Validation of real-time systems is nonetheless
                 extremely important in view of the high costs
                 associated with failure in typical application areas.
                 We present here a method for deriving response-time
                 properties in complex systems with a level structure
                 based on priority. The method involves a level-by-level
                 examination of the system, in which information
                 distilled from each successive level is used to adjust
                 the results for later levels. The results obtained at
                 each level of the system are not affected by later
                 analyses, which obviates having to consider a complex
                 system as a whole.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Colorado, Boulder, CO, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer software --- Reliability; computer systems,
                 digital; design; level-structured systems; performance;
                 Performance; real-time systems; reliability; response
                 times; verification",
  subject =      "{\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Modeling and prediction. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design,
                 Hierarchical design**. {\bf D.4.7} Software, OPERATING
                 SYSTEMS, Organization and Design, Real-time systems and
                 embedded systems. {\bf J.7} Computer Applications,
                 COMPUTERS IN OTHER SYSTEMS, Industrial control. {\bf
                 J.7} Computer Applications, COMPUTERS IN OTHER SYSTEMS,
                 Process control. {\bf J.7} Computer Applications,
                 COMPUTERS IN OTHER SYSTEMS, Real time. {\bf D.2.4}
                 Software, SOFTWARE ENGINEERING, Software/Program
                 Verification, Validation. {\bf D.2.4} Software,
                 SOFTWARE ENGINEERING, Software/Program Verification,
                 Validation.",
}

@Article{Herlihy:1987:CVA,
  author =       "Maurice Herlihy",
  title =        "Concurrency Versus Availability: Atomicity Mechanisms
                 for Replicated Data",
  journal =      j-TOCS,
  volume =       "5",
  number =       "3",
  pages =        "249--274",
  month =        aug,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-3/p249-herlihy/",
  abstract =     "A replicated object is a typed data object that is
                 stored redundantly at multiple locations to enhance
                 availability. Most techniques for managing replicated
                 data have a two-level structure: At the higher level, a
                 replica-control protocol reconstructs the object's
                 state from its distributed components, and at the lower
                 level, a standard concurrency-control protocol
                 synchronizes accesses to the individual components.
                 This paper explores an alternative approach to managing
                 replicated data by presenting two replication methods
                 in which concurrency control and replica management are
                 handled by a single integrated protocol. These
                 integrated protocols permit more concurrency than
                 independent protocols, and they allow availability and
                 concurrency to be traded off: Constraints on
                 concurrency may be relaxed if constraints on
                 availability are tightened, and vice versa. In general,
                 constraints on concurrency and availability cannot be
                 minimized simultaneously.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Carnegie-Mellon Univ, Pittsburgh, PA, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "atomicity mechanisms; computer programming ---
                 Algorithms; database systems; replicated data",
  subject =      "{\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management. {\bf D.4.5}
                 Software, OPERATING SYSTEMS, Reliability. {\bf H.2.4}
                 Information Systems, DATABASE MANAGEMENT, Systems. {\bf
                 H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems, Distributed databases. {\bf H.2.4} Information
                 Systems, DATABASE MANAGEMENT, Systems, Transaction
                 processing. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management, Concurrency.",
}

@Article{Kirkman:1987:OCP,
  author =       "W. Worth Kirkman",
  title =        "An Optimized Contention Protocol for Broadband
                 Networks",
  journal =      j-TOCS,
  volume =       "5",
  number =       "3",
  pages =        "275--283",
  month =        aug,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-3/p275-kirkman/",
  abstract =     "This paper describes the concepts underlying an
                 alternative link-level protocol for broadband local
                 networks. The protocol uses implicit slotting of the
                 contention channel to support larger networks, improve
                 performance, and provide reliable distributed collision
                 recognition without reinforcement. It is designed such
                 that compatible interfaces to existing CSMA\slash
                 CD-based systems can be provided.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "MITRE Corp, McLean, VA, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; broadband networks; carrier sense multiple
                 access/collision detection network; computer networks;
                 CSMA/CD-based systems; data transmission; local
                 networks; optimized contention protocol; performance;
                 Protocols",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols.
                 {\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Packet-switching networks.",
}

@Article{Sanders:1987:ISD,
  author =       "Beverly A. Sanders",
  title =        "The Information Structure of Distributed Mutual
                 Exclusion Algorithms",
  journal =      j-TOCS,
  volume =       "5",
  number =       "3",
  pages =        "284--299",
  month =        aug,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-3/p284-sanders/",
  abstract =     "The concept of an information structure is introduced
                 as a unifying principle behind several of the numerous
                 algorithms that have been proposed for the distributed
                 mutual exclusion problem. This approach allows the
                 development of a generalized mutual exclusion algorithm
                 that accepts a particular information structure at
                 initialization and realizes both known and new
                 algorithms as special cases. Two simple performance
                 metrics of a realized algorithm can be obtained
                 directly from the information structure. A new failure
                 recovery mechanism called local recovery, which
                 requires no coordination between nodes and no
                 additional messages beyond that needed for failure
                 detection, is introduced.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Maryland, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer programming --- Algorithms;
                 computer systems, digital; design; Distributed;
                 distributed mutual exclusion algorithms; failure
                 recovery; local recovery; performance; reliability;
                 theory",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Reliability,
                 availability, and serviceability. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Mutual
                 exclusion. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Fault-tolerance.",
}

@Article{Thiebaut:1987:FC,
  author =       "Dominique Thiebaut and Harold S. Stone",
  title =        "Footprints in the Cache",
  journal =      j-TOCS,
  volume =       "5",
  number =       "4",
  pages =        "305--329",
  month =        nov,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-4/p305-thiebaut/",
  abstract =     "This paper develops an analytical model for
                 cache-reload transients and compares the model to
                 observations based on several address traces. The
                 cache-reload transient is the set of cache misses that
                 occur when a process is reinitiated after being
                 suspended temporarily. For example, an interrupt
                 program that runs periodically experiences a reload
                 transient at each initiation. The reload transient
                 depends on the cache size and on the sizes of the
                 footprints in the cache of the competing programs,
                 where a program footprint is defined to be the set of
                 lines in the cache in active use by the program. The
                 model shows that the size of the transient is related
                 to the normal distribution function. A simulation based
                 on program-address traces shows excellent agreement
                 between the model and the observations.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Massachusetts, MA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "address traces; cache-reload transients; computer
                 architecture; computer operating systems --- Storage
                 Allocation; data storage units; design;
                 experimentation; memory structures; performance;
                 program footprint; theory; trace-driven simulation",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Formal models**. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Simulation**. {\bf C.4} Computer Systems Organization,
                 PERFORMANCE OF SYSTEMS, Modeling techniques. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.2} Software, OPERATING SYSTEMS, Storage Management,
                 Swapping**.",
}

@Article{Falcone:1987:PIL,
  author =       "Joseph R. Falcone",
  title =        "A Programmable Interface Language for Heterogeneous
                 Distributed Systems",
  journal =      j-TOCS,
  volume =       "5",
  number =       "4",
  pages =        "330--351",
  month =        nov,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-4/p330-falcone/",
  abstract =     "The performance requirements of systems of
                 personal-computer workstations places a strain on
                 traditional approaches to network architecture. The
                 integration of diverse systems into this environment
                 introduces functional compatibility issues that are not
                 present in homogeneous networks. This paper proposes a
                 distributed system architecture in which communication
                 follows a programming paradigm. In this architecture a
                 programming language provides remote service interfaces
                 for the heterogeneous distributed system environment.
                 This language is a flexible and efficient medium for
                 implementing service function protocols. In essence,
                 clients and servers communication by programming one
                 another.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Digital Equipment Corp",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer interfaces; computer networks --- Local
                 Networks; computer programming languages; computer
                 systems, digital --- Distributed; computers, personal;
                 heterogeneous distributed systems; personal computer
                 workstation networks; programmable interface language",
}

@Article{Koch:1987:DFA,
  author =       "Philip D. L. Koch",
  title =        "Disk File Allocation Based on the Buddy System",
  journal =      j-TOCS,
  volume =       "5",
  number =       "4",
  pages =        "352--370",
  month =        nov,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-4/p352-koch/",
  abstract =     "A variant of the binary buddy system that reduces
                 fragmentation is described. Files are allocated on up
                 to t extents, and inoptimally allocated files are
                 periodically reallocated. The Dartmouth Time-Sharing
                 System (DTSS) uses this method. Several installations,
                 representing different classes of workload are studied
                 to measure the method's performance. The results
                 indicate that compared to the file layout method used
                 by UNIX, the buddy system results in more efficient
                 access but less efficient utilization of disk space. As
                 disks become larger and less expensive per byte,
                 strategies that achieve efficient I/O throughput at the
                 expense of some storage loss become increasingly
                 attractive.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Dartmouth Coll, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "buddy system; computer operating systems; data
                 processing --- File Organization; disk file allocation;
                 dynamic memory management; dynamic storage allocation;
                 file system design; measurement; performance; Storage
                 Allocation",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, File organization. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management, Access
                 methods. {\bf D.4.2} Software, OPERATING SYSTEMS,
                 Storage Management, Allocation/deallocation strategies.
                 {\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Secondary storage. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Measurements. {\bf
                 H.3.2} Information Systems, INFORMATION STORAGE AND
                 RETRIEVAL, Information Storage, File organization. {\bf
                 E.5} Data, FILES, Organization/structure.",
}

@Article{Herzberg:1987:PPS,
  author =       "Amir Herzberg and Shlomit S. Pinter",
  title =        "Public Protection of Software",
  journal =      j-TOCS,
  volume =       "5",
  number =       "4",
  pages =        "371--393",
  month =        nov,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-4/p371-herzberg/",
  abstract =     "One of the overwhelming problems that software
                 producers must contend with is the unauthorized use and
                 distribution of their products. Copyright laws
                 concerning software are rarely enforced, thereby
                 causing major losses to the software companies.
                 Technical means of protecting software from illegal
                 duplication are required, but the available means are
                 imperfect. We present protocols that enable software
                 protection, without causing substantial overhead in
                 distribution and maintenance. The protocols may be
                 implemented by a conventional cryptosystem, such as the
                 DES, or by a public key cryptosystem, such as the RSA.
                 Both implementations are proved to satisfy required
                 security criteria.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Technion-Israel Inst of Technology, Isr",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; computer software; cryptographic
                 protocols; cryptography; design; Protection; public key
                 cryptosystems; security; security protocols; single key
                 cryptosystems",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Cryptographic controls. {\bf K.5.1}
                 Computing Milieux, LEGAL ASPECTS OF COMPUTING,
                 Hardware/Software Protection. {\bf E.3} Data, DATA
                 ENCRYPTION, Public key cryptosystems. {\bf D.4.6}
                 Software, OPERATING SYSTEMS, Security and Protection.",
}

@Article{Babaoglu:1987:RCB,
  author =       "{\"O}zalp Babao{\u{g}}lu",
  title =        "On the Reliability of Consensus-Based Fault-Tolerant
                 Distributed Computing Systems",
  journal =      j-TOCS,
  volume =       "5",
  number =       "4",
  pages =        "394--416",
  month =        nov,
  year =         "1987",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1987-5-4/p394-babaoglu/",
  abstract =     "Using a stochastic model of processor failure times,
                 we investigate design choices such as replication
                 level, protocol running time, randomized versus
                 deterministic protocols, fault detection, and
                 authentication. We use the probability with which a
                 system produces the correct output as our evaluation
                 criterion. This contrasts with previous fault-tolerance
                 results that guarantee correctness only if the
                 percentage of faulty processors in the system can be
                 bounded. Our results reveal some subtle and
                 counterintuitive interactions between the design
                 parameters and system reliability.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Cornell Univ, USA",
  classification = "722; 723; 913",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Byzantine agreement; computer systems, digital;
                 design; deterministic protocols; distributed consensus;
                 Fault Tolerant Capability; fault-tolerant distributed
                 system; performance; randomized protocols;
                 reliability",
  subject =      "{\bf B.1.3} Hardware, CONTROL STRUCTURES AND
                 MICROPROGRAMMING, Control Structure Reliability,
                 Testing, and Fault-Tolerance**, Redundant design**.
                 {\bf B.3.4} Hardware, MEMORY STRUCTURES, Reliability,
                 Testing, and Fault-Tolerance**, Redundant design**.
                 {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Reliability, availability, and
                 serviceability.",
}

@Article{Jones:1988:PSI,
  author =       "Anita K. Jones",
  title =        "Preface: Special Issue on Operating Systems
                 Principles",
  journal =      j-TOCS,
  volume =       "6",
  number =       "1",
  pages =        "1--2",
  month =        feb,
  year =         "1988",
  bibdate =      "Thu Jan 14 11:09:14 1999",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Terry:1988:MSV,
  author =       "Douglas B. Terry and Daniel C. Swinehart",
  title =        "Managing Stored Voice in the {Etherphone} System",
  journal =      j-TOCS,
  volume =       "6",
  number =       "1",
  pages =        "3--27",
  month =        feb,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-1/p3-terry/",
  abstract =     "The voice manager in the Etherphone system provides
                 facilities for recording, editing, and playing stored
                 voice in a distributed personal-computing environment.
                 To facilitate sharing, the voice manager stores voice
                 on a special voice file server that is accessible via
                 the local internet. Operations for editing a passage of
                 recorded voice simply build persistent data structures
                 to represent the edited voice. These data structures,
                 implementing an abstraction called voice ropes, are
                 stored in a server database and consist of lists of
                 intervals within voice files. Clients refer to voice
                 ropes solely by reference. Interests, additional
                 persistent data structures maintained by the server,
                 provide a sort of directory service for managing the
                 voice ropes that have been created as well as a
                 reliable reference-counting mechanism, permitting the
                 garbage collection of voice ropes that are no longer
                 needed.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "XEROX Palo Alto Research Cent, Palo Alto, CA,
                 USA",
  classification = "718; 723",
  conference =   "1987 ACM\slash SIGOPS Symposium on Operating Systems
                 Principles.",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "computer networks; computer operating systems;
                 computer systems, digital --- Distributed; data
                 processing --- Data Structures; design; digital
                 communication systems; electronic mail; Etherphone
                 system; management; performance; security; voice
                 editing; voice file server; voice manager; Voice/Data
                 Integrated Services",
  sponsor =      "ACM, Special Interest Group on Operating Systems, New
                 York, NY, USA",
  subject =      "{\bf H.4.3} Information Systems, INFORMATION SYSTEMS
                 APPLICATIONS, Communications Applications. {\bf D.4.2}
                 Software, OPERATING SYSTEMS, Storage Management,
                 Allocation/deallocation strategies. {\bf D.4.2}
                 Software, OPERATING SYSTEMS, Storage Management,
                 Storage hierarchies. {\bf D.4.3} Software, OPERATING
                 SYSTEMS, File Systems Management. {\bf D.4.6} Software,
                 OPERATING SYSTEMS, Security and Protection, Access
                 controls. {\bf D.4.6} Software, OPERATING SYSTEMS,
                 Security and Protection, Cryptographic controls. {\bf
                 E.2} Data, DATA STORAGE REPRESENTATIONS. {\bf H.2.8}
                 Information Systems, DATABASE MANAGEMENT, Database
                 Applications. {\bf H.4.3} Information Systems,
                 INFORMATION SYSTEMS APPLICATIONS, Communications
                 Applications, Electronic mail. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems.",
}

@Article{Chang:1988:SAP,
  author =       "Albert Chang and Mark F. Mergen",
  title =        "801 Storage: Architecture and Programming",
  journal =      j-TOCS,
  volume =       "6",
  number =       "1",
  pages =        "28--50",
  month =        feb,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-1/p28-chang/",
  abstract =     "Based on novel architecture, the 801 minicomputer
                 project has developed a low-level storage manager that
                 can significantly simplify storage programming in
                 subsystems and applications. The storage manager
                 embodies three ideas: (1) large virtual storage, to
                 contain all temporary data and permanent files for the
                 active programs; (2) the innovation of database
                 storage, which has implicit properties of access
                 serializability and atomic update, similar to those of
                 database transaction systems; and (3) access to all
                 storage, including files, by the usual operations and
                 types of a high-level programming language. The IBM RT
                 PC implements the hardware architecture necessary for
                 these storage facilities in its storage controller
                 (MMU). The storage manager and language elements
                 required, as well as subsystems and applications that
                 use them, have been implemented and studied in a
                 prototype operating system called CPR, that runs on the
                 RT PC. Low cost and good performance are achieved in
                 both hardware and software. The design is intended to
                 be extensible across a wide performance\slash cost
                 spectrum.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "IBM T. J. Watson Research Cent, Yorktown
                 Heights, NY, USA",
  classification = "723",
  conference =   "1987 ACM\slash SIGOPS Symposium on Operating Systems
                 Principles.",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "801 minicomputer project; algorithms; computer
                 architecture; computer operating systems; computers,
                 minicomputer; CPR operating system; design;
                 experimentation; IBM RT PC; low-level storage manager;
                 performance",
  sponsor =      "ACM, Special Interest Group on Operating Systems, New
                 York, NY, USA",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Virtual memory. {\bf C.1.1} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Single Data
                 Stream Architectures, RISC. {\bf D.3.3} Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features. {\bf D.4.2} Software, OPERATING SYSTEMS,
                 Storage Management. {\bf D.4.3} Software, OPERATING
                 SYSTEMS, File Systems Management. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design.",
}

@Article{Howard:1988:SPD,
  author =       "John H. Howard and Michael L. Kazar and Sherri G.
                 Menees and David A. Nichols and M. Satyanarayanan and
                 Robert N. Sidebotham and Michael J. West",
  title =        "Scale and Performance in a Distributed File System",
  journal =      j-TOCS,
  volume =       "6",
  number =       "1",
  pages =        "51--81",
  month =        feb,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-1/p51-howard/",
  abstract =     "The Andrew File System is a location-transparent
                 distributed file system that will eventually span more
                 than 5000 workstations at Carnegie Mellon University.
                 Large scale affects performance and complicates system
                 operation. In this paper we present observations of a
                 prototype implementation, motivate changes in the areas
                 of cache validation, server process structure, name
                 translation, and low-level storage representation, and
                 quantitatively demonstrate Andrew's ability to scale
                 gracefully. We establish the importance of whole-file
                 transfer and caching in Andrew by comparing its
                 performance with that of Sun Microsystem's NFS file
                 system. We also show how the aggregation of files into
                 volumes improves the operability of the system.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Carnegie Mellon Univ, Pittsburgh, PA, USA",
  classification = "723",
  conference =   "1987 ACM\slash SIGOPS Symposium on Operating Systems
                 Principles.",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Andrew File System; computer operating systems;
                 computer systems, digital --- Distributed; design;
                 distributed file system; experimentation; file
                 transfer; measurement; performance",
  sponsor =      "ACM, Special Interest Group on Operating Systems, New
                 York, NY, USA",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Distributed file systems. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance,
                 Measurements.",
}

@Article{Haskin:1988:RMQ,
  author =       "Roger Haskin and Yoni Malachi and Wayne Sawdon and
                 Gregory Chan",
  title =        "Recovery Management in {QuickSilver}",
  journal =      j-TOCS,
  volume =       "6",
  number =       "1",
  pages =        "82--108",
  month =        feb,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-1/p82-haskin/",
  abstract =     "This paper describes QuickSilver, which uses atomic
                 transactions as a unified failure recovery mechanism
                 for a client-server structured distributed system.
                 Transactions allow failure atomicity for related
                 activities at a single server or at a number of
                 independent servers. Rather than bundling transaction
                 management into a dedicated language or recoverable
                 object manager, QuickSilver exposes the basic commit
                 protocol and log recovery primitives, allowing clients
                 and servers to tailor their recovery techniques to
                 their specific needs. Servers can implement their own
                 log recovery protocols rather than being required to
                 use a system-defined protocol. These decisions allow
                 servers to make their own choices to balance
                 simplicity, efficiency, and recoverability.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "IBM, Almaden Research Cent, San Jose, CA, USA",
  classification = "723",
  conference =   "1987 ACM\slash SIGOPS Symposium on Operating Systems
                 Principles.",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "atomic transactions; computer operating systems;
                 computer systems, digital --- Distributed; design;
                 experimentation; failure atomicity; performance;
                 QuickSilver; recovery management; reliability",
  sponsor =      "ACM, Special Interest Group on Operating Systems, New
                 York, NY, USA",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Distributed file systems. {\bf D.4.3}
                 Software, OPERATING SYSTEMS, File Systems Management,
                 File organization. {\bf D.4.3} Software, OPERATING
                 SYSTEMS, File Systems Management, Maintenance**. {\bf
                 D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, QuickSilver. {\bf D.4.5}
                 Software, OPERATING SYSTEMS, Reliability,
                 Checkpoint/restart. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, Distributed databases.
                 {\bf H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems, Transaction processing. {\bf H.2.2}
                 Information Systems, DATABASE MANAGEMENT, Physical
                 Design, Recovery and restart.",
}

@Article{Jul:1988:FGM,
  author =       "Eric Jul and Henry Levy and Norman Hutchinson and
                 Andrew Black",
  title =        "Fine-Grained Mobility in the {Emerald} System",
  journal =      j-TOCS,
  volume =       "6",
  number =       "1",
  pages =        "109--133",
  month =        feb,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-1/p109-jul/",
  abstract =     "Emerald is an object-based language and system
                 designed for the construction of distributed programs.
                 An explicit goal of Emerald is support for object
                 mobility; objects in Emerald can freely move within the
                 system to take advantage of distribution and
                 dynamically changing environments. We say that Emerald
                 has fine-grained mobility because Emerald objects can
                 be small data objects as well as process objects.
                 Fine-grained mobility allows us to apply mobility in
                 new ways but presents implementation problems as well.
                 This paper discusses the benefits of fine-grained
                 mobility, the Emerald language and run-time mechanisms
                 that support mobility, and techniques for implementing
                 mobility that do not degrade the performance of local
                 operations. Performance measurements of the current
                 implementation are included.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Washington, Seattle, WA, USA",
  classification = "723",
  conference =   "1987 ACM\slash SIGOPS Symposium on Operating Systems
                 Principles.",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer operating systems; computer programming
                 languages; computer systems, digital --- Distributed;
                 design; distributed languages; emerald; languages;
                 measurement; object-oriented languages; performance;
                 process mobility",
  sponsor =      "ACM, Special Interest Group on Operating Systems, New
                 York, NY, USA",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed applications. {\bf D.2.6} Software,
                 SOFTWARE ENGINEERING, Programming Environments. {\bf
                 D.3.3} Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Abstract data types. {\bf
                 D.3.3} Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Control structures. {\bf
                 D.4.7} Software, OPERATING SYSTEMS, Organization and
                 Design, Distributed systems. {\bf D.3.2} Software,
                 PROGRAMMING LANGUAGES, Language Classifications,
                 Emerald.",
}

@Article{Nelson:1988:CSN,
  author =       "Michael N. Nelson and Brent B. Welch and John K.
                 Ousterhout",
  title =        "Caching in the {Sprite} Network File System",
  journal =      j-TOCS,
  volume =       "6",
  number =       "1",
  pages =        "134--154",
  month =        feb,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-1/p134-nelson/",
  abstract =     "The Sprite network operating system uses large
                 main-memory disk block caches to achieve high
                 performance in its file system. It provides
                 non-write-through file caching on both client and
                 server machines. A simple cache consistency mechanism
                 permits files to be shared by multiple clients without
                 danger of stale data. In order to allow the file cache
                 to occupy as much memory as possible, the file system
                 of each machine negotiates with the virtual memory
                 system over physical memory usage and changes the size
                 of the file cache dynamically. Benchmark programs
                 indicate that client caches allow diskless Sprite
                 workstations to perform within 0-12 percent of
                 workstations with disks. In addition, client caching
                 reduces server loading by 50 percent and network
                 traffic by 90 percent.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of California at Berkeley, Berkeley, CA,
                 USA",
  classification = "723",
  conference =   "1987 ACM\slash SIGOPS Symposium on Operating Systems
                 Principles.",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "cache consistency; computer operating systems;
                 computer systems, digital --- Distributed; design;
                 distributed file caching; distributed file systems;
                 measurement; performance; sprite network",
  sponsor =      "ACM, Special Interest Group on Operating Systems, New
                 York, NY",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management. {\bf D.4.3} Software, OPERATING SYSTEMS,
                 File Systems Management, Distributed file systems. {\bf
                 D.4.7} Software, OPERATING SYSTEMS, Organization and
                 Design, Distributed systems. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Measurements. {\bf
                 D.4.2} Software, OPERATING SYSTEMS, Storage Management,
                 Distributed memories. {\bf D.4.2} Software, OPERATING
                 SYSTEMS, Storage Management, Main memory. {\bf D.4.2}
                 Software, OPERATING SYSTEMS, Storage Management,
                 Secondary storage. {\bf D.4.2} Software, OPERATING
                 SYSTEMS, Storage Management, Virtual memory.",
}

@Article{Snodgrass:1988:RAM,
  author =       "Richard Snodgrass",
  title =        "A Relational Approach to Monitoring Complex Systems",
  journal =      j-TOCS,
  volume =       "6",
  number =       "2",
  pages =        "157--196",
  month =        may,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-2/p157-snodgrass/",
  abstract =     "Traditional monitoring techniques are inadequate when
                 monitoring complex systems such as multiprocessors or
                 distributed systems. A new approach is described in
                 which a historical database forms the conceptual basis
                 for the information processed by the monitor. This
                 approach permits advances in specifying the low-level
                 data collection, specifying the analysis of the
                 collected data, performing the analysis, and displaying
                 the results. Two prototype implementations demonstrate
                 the feasibility of the approach.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of North Carolina, NC, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer systems, digital; data processing --- Data
                 Reduction and Analysis; database systems ---
                 Relational; design; distributed systems;
                 experimentation; languages; low-level data collection;
                 measurement; Monitoring; multiprocessors; performance",
  subject =      "{\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Monitors. {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed applications. {\bf D.2.6} Software,
                 SOFTWARE ENGINEERING, Programming Environments. {\bf
                 D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Measurements. {\bf D.2.5} Software, SOFTWARE
                 ENGINEERING, Testing and Debugging. {\bf H.2.3}
                 Information Systems, DATABASE MANAGEMENT, Languages,
                 Query languages. {\bf H.2.3} Information Systems,
                 DATABASE MANAGEMENT, Languages, QUEL. {\bf H.2.1}
                 Information Systems, DATABASE MANAGEMENT, Logical
                 Design, Data models.",
}

@Article{Sandhu:1988:NTD,
  author =       "Ravinderpal S. Sandhu",
  title =        "The {NTree}: a Two Dimension Partial Order for
                 Protection Groups",
  journal =      j-TOCS,
  volume =       "6",
  number =       "2",
  pages =        "197--222",
  month =        may,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-2/p197-sandhu/",
  abstract =     "The benefits of providing access control with groups
                 of users rather than with individuals as the unit of
                 granularity are enhanced if the groups are organized in
                 a subgroup partial order. A class of such partial
                 orders, called ntrees, is defined by using a forest of
                 rooted trees or inverted rooted trees as basic partial
                 orders and combining these by refinement. Refinement
                 explodes an existing group into a partially ordered
                 ntree of new groups while maintaining the same
                 relationship between each new group and the nonexploded
                 groups that the exploded group had. Examples are
                 discussed to show the practical significance of ntrees
                 and the refinement operation.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Ohio State Univ, OH, USA",
  classification = "722; 723; 921",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "access control; computer systems, digital; data
                 processing --- Security of Data; design; management;
                 mathematical techniques --- Trees; ntree; protection
                 groups; security; theory; two-dimensional partial
                 order",
  subject =      "{\bf H.2.0} Information Systems, DATABASE MANAGEMENT,
                 General, Security, integrity, and protection**. {\bf
                 D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection. {\bf K.6.m} Computing Milieux, MANAGEMENT
                 OF COMPUTING AND INFORMATION SYSTEMS, Miscellaneous,
                 Security*. {\bf H.3.3} Information Systems, INFORMATION
                 STORAGE AND RETRIEVAL, Information Search and
                 Retrieval, Search process. {\bf I.2.8} Computing
                 Methodologies, ARTIFICIAL INTELLIGENCE, Problem
                 Solving, Control Methods, and Search, Graph and tree
                 search strategies.",
}

@Article{Gross:1988:MEM,
  author =       "Thomas R. Gross and John L. Hennessy and Steven A.
                 Przybylski and Christopher Rowen",
  title =        "Measurement and Evaluation of the {MIPS} Architecture
                 and Processor",
  journal =      j-TOCS,
  volume =       "6",
  number =       "3",
  pages =        "229--257",
  month =        aug,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-3/p229-gross/",
  abstract =     "MIPS is a 32-bit processor architecture that has been
                 implemented as an nMOS VLSI chip. The instruction set
                 architecture is RISC-based. Close coupling with
                 compilers and efficient use of the instruction set by
                 compiled programs were goals of the architecture. The
                 MIPS architecture requires that the software implement
                 some constraints in the design that are normally
                 considered part of the hardware implementation. This
                 power presents experimental results on the
                 effectiveness of this processor as a program host.
                 Using sets of large and small benchmarks, the
                 instruction and operand usage patterns are examined
                 both for optimized and unoptimized code.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Stanford Univ, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "32-bit microprocessor; benchmarks; computer
                 architecture --- Performance; computers, microcomputer;
                 design; Evaluation; experimentation; measurement; MIPS;
                 performance",
  subject =      "{\bf C.1.1} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Single Data Stream Architectures,
                 Pipeline processors**. {\bf C.0} Computer Systems
                 Organization, GENERAL, Instruction set design. {\bf
                 C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Design studies. {\bf C.5.4} Computer Systems
                 Organization, COMPUTER SYSTEM IMPLEMENTATION, VLSI
                 Systems.",
}

@Article{Gifford:1988:RPP,
  author =       "David K. Gifford and Nathan Glasser",
  title =        "Remote Pipes and Procedures for Efficient Distributed
                 Communication",
  journal =      j-TOCS,
  volume =       "6",
  number =       "3",
  pages =        "258--283",
  month =        aug,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-3/p258-gifford/",
  abstract =     "We describe a new communications model for distributed
                 systems that combines the advantages of remote
                 procedure call with the efficient transfer of bulk
                 data. Three ideas form the basis of this model. First,
                 remote procedures are first-class values which can be
                 freely exchanged among nodes, thus enabling a greater
                 variety of protocols to be directly implemented in a
                 remote procedure call framework. Second, a new type of
                 abstract object, called a pipe, allows bulk data and
                 incremental results to be efficiently transported in a
                 type-safe manner. Third, the relative sequencing of
                 pipes and procedures can be controlled by combining
                 them into channel groups. Calls on the members of a
                 channel group are guaranteed to be processed in order.
                 Application experience with this model, which we call
                 the Channel Model, is reported. Derived performance
                 bounds and experimental measures are presented.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "MIT, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "bulk data transfer; channel model; computer systems,
                 digital; data transmission; design; Distributed;
                 performance; performance bounds; remote procedure
                 call",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems, Distributed
                 applications. {\bf C.4} Computer Systems Organization,
                 PERFORMANCE OF SYSTEMS, Performance attributes.",
}

@Article{Johnson:1988:SSR,
  author =       "Dale M. Johnson and F. Javier Thayer",
  title =        "Stating Security Requirements with Tolerable Sets",
  journal =      j-TOCS,
  volume =       "6",
  number =       "3",
  pages =        "284--295",
  month =        aug,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-3/p284-johnson/",
  abstract =     "This paper introduces and develops the concept of
                 tolerable sets for analyzing general security
                 requirements. Tolerable sets, and corresponding purging
                 functions and invisibility based on the sets, are used
                 to state and test such requirements. Some particular
                 applications are described, and some critical remarks
                 about purging functions are included.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "MITRE Corp, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "computer security requirements; computer systems,
                 digital; data processing; purging functions; security;
                 Security of Data; tolerable sets; verification",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Information flow controls. {\bf D.4.6}
                 Software, OPERATING SYSTEMS, Security and Protection,
                 Security kernels**. {\bf D.4.6} Software, OPERATING
                 SYSTEMS, Security and Protection, Verification**. {\bf
                 F.3.1} Theory of Computation, LOGICS AND MEANINGS OF
                 PROGRAMS, Specifying and Verifying and Reasoning about
                 Programs, Specification techniques.",
}

@Article{Colwell:1988:PEA,
  author =       "Robert P. Colwell and Edward F. Gehringer and E.
                 Douglas Jensen",
  title =        "Performance Effects of Architectural Complexity in the
                 {Intel 432}",
  journal =      j-TOCS,
  volume =       "6",
  number =       "3",
  pages =        "296--339",
  month =        aug,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-3/p296-colwell/",
  abstract =     "The Intel 432 is noteworthy as an architecture
                 incorporating a large amount of functionality that most
                 other systems perform by software. This paper examines
                 the performance impact of the incorporation of several
                 kinds of functionality. Among these are the addressing
                 structure, the caches, instruction alignment, the
                 buses, and the way that garbage collection is handled.
                 A set of several benchmarks is used to quantify the
                 performance effect of each of these decisions. The
                 results indicate that the 432 could have been speeded
                 up very significantly if a small number of
                 implementation decisions had been made differently, and
                 if incrementally better technology had been used in its
                 construction.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Multiflow Computer Inc",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "architectural complexity; computer programming;
                 computer systems, digital --- Parallel Processing;
                 design; Intel 432; measurement; object-based
                 programming environment; performance; Performance;
                 security",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Design studies. {\bf B.5.m} Hardware,
                 REGISTER-TRANSFER-LEVEL IMPLEMENTATION, Miscellaneous.
                 {\bf C.1.1} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Single Data Stream Architectures,
                 Single-instruction-stream, single-data-stream
                 processors (SISD)**. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors),
                 Multiple-instruction-stream, multiple-data-stream
                 processors (MIMD). {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors), Parallel
                 processors**. {\bf C.1.3} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Other
                 Architecture Styles, Capability architectures**. {\bf
                 C.1.3} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Other Architecture Styles, High-level
                 language architectures**. {\bf C.1.3} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Other
                 Architecture Styles, Stack-oriented processors**. {\bf
                 D.3.4} Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers.",
}

@Article{Peterson:1988:PNS,
  author =       "Larry L. Peterson",
  title =        "The {Profile} Naming Service",
  journal =      j-TOCS,
  volume =       "6",
  number =       "4",
  pages =        "341--364",
  month =        nov,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-4/p341-peterson/",
  abstract =     "Profile is a descriptive naming service used to
                 identify users and organizations. This paper presents a
                 structural overview of Profile's three major
                 components: a confederation of attribute-based name
                 servers, a name space abstraction that unifies the name
                 servers, and a user interface that integrates the name
                 space with existing naming systems. Each name server is
                 an independent authority that allows clients to
                 describe users and organizations with a multiplicity of
                 attributes; the name space abstraction is a client
                 program that implements a discipline for searching a
                 sequence of name servers; and the interface provides a
                 tool with which users build customized commands.
                 Experience with an implementation in the DARPA\slash
                 NSF Internet demonstrates that Profile is a feasible
                 and effective mechanism for naming users and
                 organizations in a large internet.",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of Arizona",
  affiliationaddress = "Tucson, AZ, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Attribute-Based Name Servers; Computer Networks;
                 Computer Programming --- Algorithms; Computer Systems,
                 Digital; DARPA-NSF Internet; Database Systems ---
                 Distributed; design; Distributed; human factors; Name
                 Space Abstraction; Naming Service; Profile; User
                 Interface",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed databases. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, Distributed databases.
                 {\bf H.3.4} Information Systems, INFORMATION STORAGE
                 AND RETRIEVAL, Systems and Software, Question-answering
                 (fact retrieval) systems**. {\bf H.3.3} Information
                 Systems, INFORMATION STORAGE AND RETRIEVAL, Information
                 Search and Retrieval, Search process.",
}

@Article{Atkins:1988:ESD,
  author =       "M. Stella Atkins",
  title =        "Experiments in {SR} with Different Upcall Program
                 Structures",
  journal =      j-TOCS,
  volume =       "6",
  number =       "4",
  pages =        "365--392",
  month =        nov,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-4/p365-atkins/",
  abstract =     "This paper explores program designs for layered
                 systems such as communication protocols and
                 server\slash client systems that do not exhibit a
                 strict hierarchy in their control flow. D. D. Clark
                 (1985) has proposed structuring such systems, where
                 both upward and downward control flow are required, to
                 use efficient synchronous procedure calls between the
                 layers whenever possible. The term upcall is used by
                 Clark to describe this synchronous upward communication
                 from server to client. Several techniques are possible
                 for structuring such programs using upcalls.
                 Comparisons are made by implementing a communication
                 protocol described by Clark in three different ways.
                 The first method implements all the protocol routines
                 in a single large module. The second method structures
                 the routines into modules occupying vertical slices of
                 the protocol layers, and the third method structures
                 the routines into modules corresponding to the protocol
                 layers. It is concluded that the vertically layered
                 protocol design is to be preferred unless there are
                 many shared variables between the send-side and
                 receive-side, as it is very efficient and provides the
                 best protection of clients from each other. The
                 horizontally layered design is the least efficient, but
                 it is the easiest to program.",
  acknowledgement = ack-nhfb,
  affiliation =  "Simon Fraser Univ",
  affiliationaddress = "Burnaby, BC, Can",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Computer Networks --- Protocols; Computer Programming
                 --- Algorithms; Computer Software; design; Design;
                 languages; Layered Systems; performance; Server/Client
                 Systems; Upcall Program Structures",
  subject =      "{\bf D.1.3} Software, PROGRAMMING TECHNIQUES,
                 Concurrent Programming. {\bf D.3.3} Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features, Concurrent programming structures. {\bf
                 D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, SR. {\bf C.2.2} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Protocols. {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management. {\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Buffering. {\bf D.4.7}
                 Software, OPERATING SYSTEMS, Organization and Design,
                 Hierarchical design**. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Simulation.",
}

@Article{Agarwal:1988:CPO,
  author =       "Anant Agarwal and John Hennessy and Mark Horowitz",
  title =        "Cache Performance of Operating System and
                 Multiprogramming Workloads",
  journal =      j-TOCS,
  volume =       "6",
  number =       "4",
  pages =        "393--431",
  month =        nov,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-4/p393-agarwal/",
  abstract =     "Large caches are necessary in current high-performance
                 computer systems to provide the required high memory
                 bandwidth. Because a small decrease in cache
                 performance can result in significant system
                 performance degradation, accurately characterizing the
                 performance of large caches is important. Although
                 measurements on actual systems have shown that
                 operating systems and multiprogramming can affect cache
                 performance, previous studies have not focused on these
                 effects. We have developed a program tracing technique
                 called ATUM (Address Tracing Using Microcode) that
                 captures realistic traces of multitasking workloads
                 including the operating system. Examining cache
                 behavior using these traces from a VAX processor shows
                 that both the operating system and multiprogramming
                 activity significantly degrade cache performance, with
                 an even greater proportional impact on large caches.
                 From a careful analysis of the causes of this
                 degradation, we explore various techniques to reduce
                 this loss. While seemingly little can be done to
                 mitigate the effect of system references, multitasking
                 cache miss activity can be substantially reduced with
                 small hardware additions.",
  acknowledgement = ack-nhfb,
  affiliation =  "Stanford Univ",
  affiliationaddress = "Stanford, CA, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Address Tracing Using Microcode; ATUM; Cache
                 Performance; Computer Operating Systems; Computer
                 Systems Programming --- Multiprogramming; design;
                 measurement; Multiprogramming Workloads; performance;
                 Performance; Program Tracing",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf B.3.2} Hardware, MEMORY
                 STRUCTURES, Design Styles, Associative memories. {\bf
                 B.3.2} Hardware, MEMORY STRUCTURES, Design Styles,
                 Virtual memory. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Formal models**. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Simulation**. {\bf C.4} Computer Systems Organization,
                 PERFORMANCE OF SYSTEMS, Design studies. {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF SYSTEMS,
                 Measurement techniques. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Modeling
                 techniques. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Measurements.",
}

@Article{Okamoto:1988:DMS,
  author =       "Tatsuaki Okamoto",
  title =        "A Digital Multisignature Scheme using Bijective
                 Public-Key Cryptosystems",
  journal =      j-TOCS,
  volume =       "6",
  number =       "4",
  pages =        "432--441",
  month =        nov,
  year =         "1988",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1988-6-4/p432-okamoto/",
  abstract =     "A new digital multisignature scheme using bijective
                 public-key cryptosystems that overcomes the problems of
                 previous signature schemes used for multisignatures is
                 proposed. The principal features of this scheme are (1)
                 the length of a multisignature message is nearly
                 equivalent to that for a single signature message; (2)
                 by using a one-way hash function, multisignature
                 generation and verification are processed in an
                 efficient manner; (3) the order of signing is not
                 restricted; and (4) this scheme can be constructed on
                 any bijective public-key cryptosystem as well as the
                 RSA scheme. In addition, it is shown that the new
                 scheme is considered as safe as the public-key
                 cryptosystem used in this new scheme. Some variations
                 based on the scheme are also presented.",
  acknowledgement = ack-nhfb,
  affiliation =  "NTT",
  affiliationaddress = "Yokosuka, Jpn",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Bijective Public-Key Cryptosystems; Computer-Based
                 Message Systems; Cryptography; Digital Multisignature
                 Scheme; Electronic Mail; One-Way Hash Function;
                 security",
  subject =      "{\bf E.3} Data, DATA ENCRYPTION, Public key
                 cryptosystems.",
}

@Article{Borg:1989:FTU,
  author =       "Anita Borg and Wolfgang Blau and Wolfgang Graetsch and
                 Ferdinand Herrmann and Wolfgang Oberle",
  title =        "Fault Tolerance under {UNIX}",
  journal =      j-TOCS,
  volume =       "7",
  number =       "1",
  pages =        "1--24",
  month =        feb,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-1/p1-borg/",
  abstract =     "The initial design for a distributed, fault-tolerant
                 version of UNIX based on three-way atomic message
                 transmission was presented in an earlier paper. This
                 paper describes the working system, now known as the
                 TARGON\slash 32. The original design left open
                 questions in at least two areas: fault tolerance for
                 server processes and recovery after a crash were
                 briefly and inaccurately sketched; rebackup after
                 recovery was not discussed at all. The fundamental
                 design involving three-way message transmission has
                 remained unchanged. However, server backup has been
                 redesigned and is now more consistent with that of
                 normal user processes. Recovery and rebackup have been
                 completed in a less centralized and thus more efficient
                 manner. We review important aspects of the original
                 design and note how the implementation differs from our
                 original ideas. We then focus on the backup and
                 recovery for server processes and the changes and
                 additions in the design and implementation of recovery
                 and rebackup.",
  acknowledgement = ack-nhfb,
  affiliation =  "Nixdorf Computer GmbH",
  affiliationaddress = "Paderborn, West Ger",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; Computer Architecture; Computer Operating
                 Systems; Computer Systems, Digital; Crash Handling;
                 Fault Tolerant Capability; Multiway Message
                 Transmission; reliability; Roll Forward Recovery;
                 Server Architecture; TARGON/32; UNIX",
  subject =      "{\bf D.4.0} Software, OPERATING SYSTEMS, General,
                 UNIX. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Fault-tolerance. {\bf D.4.5} Software,
                 OPERATING SYSTEMS, Reliability, Backup procedures. {\bf
                 D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Checkpoint/restart. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors), Associative
                 processors. {\bf D.4.3} Software, OPERATING SYSTEMS,
                 File Systems Management. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management, Message
                 sending.",
}

@Article{Pittelli:1989:RST,
  author =       "Frank M. Pittelli and H{\'e}ctor Garc{\'\i}a-Molina",
  title =        "Reliable Scheduling in a {TMR} Database System",
  journal =      j-TOCS,
  volume =       "7",
  number =       "1",
  pages =        "25--60",
  month =        feb,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-1/p25-pittelli/",
  abstract =     "A Triple Modular Redundant (TMR) system achieves high
                 reliability by replicating data and all processing at
                 three independent nodes. When TMR is used for database
                 processing all nonfaulty computers must execute the
                 same sequence of transactions, and this is ensured by a
                 collection of processes known as schedulers. In this
                 paper we study the implementation of efficient
                 schedulers through analysis of various enhancements
                 such as null transactions and message batching. The
                 schedulers have been implemented in an experimental TMR
                 system and the evaluation results are presented here.",
  acknowledgement = ack-nhfb,
  affiliation =  "US Naval Acad",
  affiliationaddress = "USA",
  classification = "723; 913",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; Database Systems; design; Distributed;
                 Message Batching; Null Transactions; performance;
                 reliability; Reliability; Reliable Scheduling;
                 Scheduling; Transaction Processing; Triple Modular
                 Redundancy",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Reliability, availability, and
                 serviceability. {\bf H.2.0} Information Systems,
                 DATABASE MANAGEMENT, General. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Scheduling.",
}

@Article{Raymond:1989:TBA,
  author =       "Kerry Raymond",
  title =        "A Tree-Based Algorithm for Distributed Mutual
                 Exclusion",
  journal =      j-TOCS,
  volume =       "7",
  number =       "1",
  pages =        "61--77",
  month =        feb,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-1/p61-raymond/",
  abstract =     "We present an algorithm for distributed mutual
                 exclusion in a computer network of N nodes that
                 communicate by messages rather than shared memory. The
                 algorithm uses a spanning tree of the computer network,
                 and the number of messages exchanged per critical
                 section depends on the topology of this tree. However,
                 typically the number of messages exchanged is O(log N)
                 under light demand, and reduces to approximately four
                 messages under saturated demand. Each node holds
                 information only about its immediate neighbors in the
                 spanning tree rather than information about all nodes,
                 and failed nodes can recover necessary information from
                 their neighbors. The algorithm does not require
                 sequence numbers as it operates correctly despite
                 message overtaking.",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of Queensland",
  affiliationaddress = "St. Lucia, Aust",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; Computer Networks; Computer
                 Programming--Algorithms; Computer Systems, Digital;
                 design; Distributed; Distributed Mutual Exclusion;
                 Mathematical Techniques--Trees; Message Passing; Tree
                 Based Algorithms",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Mutual exclusion. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Synchronization.
                 {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf D.4.4} Software, OPERATING SYSTEMS, Communications
                 Management, Message sending.",
}

@Article{Thompson:1989:ESA,
  author =       "James G. Thompson and Alan Jay Smith",
  title =        "Efficient (Stack) Algorithms for Analysis of
                 Write-Back and Sector Memories",
  journal =      j-TOCS,
  volume =       "7",
  number =       "1",
  pages =        "78--117",
  month =        feb,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-1/p78-thompson/",
  abstract =     "For the class of replacement algorithms known as stack
                 algorithms, existing analysis techniques permit the
                 computation of memory miss ratios for all memory sizes
                 simultaneously in one pass over a memory reference
                 string. We extend the class of computations possible by
                 this methodology in two ways. First, we show how to
                 compute the effects of copy-backs in write-back caches.
                 The key observation here is that a given block is clean
                 for all memory sizes less than or equal to C blocks and
                 is dirty for all larger memory sizes. Our technique
                 permits efficient computations for algorithms or
                 systems using periodic write-back and\slash or block
                 deletion. The second extension permits stack analysis
                 simulation for sector (or subblock) caches in which a
                 sector (associated with an address tag) consists of
                 subsectors (or subblocks) that can be loaded
                 independently. The key observation here is that a
                 subsector is present only in caches of size C or
                 greater. Load forward prefetching in a sector cache is
                 shown to be a stack algorithm and is easily simulated
                 using our technique. Running times for our methods are
                 only slightly higher than for a simulation of a single
                 memory size using nonstack techniques.",
  acknowledgement = ack-nhfb,
  affiliation =  "US Air Force",
  affiliationaddress = "USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; Cache Memories; Computer
                 Programming--Algorithms; Data Storage, Digital; design;
                 experimentation; measurement; Memory System
                 Performance; performance; Performance; Replacement
                 Algorithms; Sector Memories; Stack Algorithms; theory;
                 Write Back Memories",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles. {\bf B.6.1} Hardware, LOGIC DESIGN, Design
                 Styles, Memory control and access**. {\bf B.3.3}
                 Hardware, MEMORY STRUCTURES, Performance Analysis and
                 Design Aids**, Simulation**. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance.",
}

@Article{Gupta:1989:HSI,
  author =       "Anoop Gupta and Charles Forgy and Allen Newell",
  title =        "High-speed Implementations of Rule-Based Systems",
  journal =      j-TOCS,
  volume =       "7",
  number =       "2",
  pages =        "119--146",
  month =        may,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-2/p119-gupta/",
  abstract =     "We explore various methods for speeding up the
                 execution of rule-based systems. In particular, we
                 examine the role of parallelism in the high-speed
                 execution of rule-based systems and study the
                 architectural issues in the design of computers for
                 rule-based systems. Our results show that contrary to
                 initial expectations, the speedup that can be obtained
                 from parallelism is quite limited, only about tenfold.
                 The reasons for the small speed-up are: (1) the small
                 number of rules relevant to each change to data memory;
                 (2) the large variation in the processing requirements
                 of relevant rules; and (3) the small number of changes
                 made to data memory between synchronization steps.
                 Furthermore, we observe that to obtain this limited
                 factor of tenfold speed-up, it is necessary to exploit
                 parallelism at a very fine granularity. We propose that
                 a suitable architecture to exploit such fine-grain
                 parallelism is a shared-memory multiprocessor with
                 32-64 processors.",
  acknowledgement = ack-nhfb,
  affiliation =  "Stanford Univ",
  affiliationaddress = "Stanford, CA, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; Artificial Intelligence; Computer
                 Architecture; Computer Systems, Digital--Parallel
                 Processing; design; languages; performance; Production
                 Systems; Rule Based Systems; Shared Memory
                 Multiprocessors; Speedup",
  subject =      "{\bf I.2.5} Computing Methodologies, ARTIFICIAL
                 INTELLIGENCE, Programming Languages and Software. {\bf
                 I.2.5} Computing Methodologies, ARTIFICIAL
                 INTELLIGENCE, Programming Languages and Software, OPS5.
                 {\bf D.1.3} Software, PROGRAMMING TECHNIQUES,
                 Concurrent Programming. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors),
                 Multiple-instruction-stream, multiple-data-stream
                 processors (MIMD). {\bf G.1.0} Mathematics of
                 Computing, NUMERICAL ANALYSIS, General, Parallel
                 algorithms.",
}

@Article{Cheriton:1989:DGN,
  author =       "David R. Cheriton and Timothy P. Mann",
  title =        "Decentralizing a Global Naming Service for Improved
                 Performance and Fault Tolerance",
  journal =      j-TOCS,
  volume =       "7",
  number =       "2",
  pages =        "147--183",
  month =        may,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-2/p147-cheriton/",
  abstract =     "We address the problem of a global naming system,
                 proposing a three-level naming architecture that
                 consists of global, administrational, and managerial
                 naming mechanisms, each optimized to meet the
                 performance, reliability, and security requirements at
                 its own level. We focus in particular on a
                 decentralized approach to the lower levels, in which
                 naming is handled directly by the managers of the named
                 objects. Client-name caching and multicast are
                 exploited to implement name mapping with almost optimum
                 performance and fault tolerance. We also show how the
                 naming system can be made secure. Our conclusions are
                 bolstered by experience with an implementation in the V
                 distributed operating system.",
  acknowledgement = ack-nhfb,
  affiliation =  "Stanford Univ",
  affiliationaddress = "Stanford, CA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Computer Fault Tolerance; Computer Operating Systems;
                 Computer Systems, Digital; design; Distributed;
                 Distributed File Systems; experimentation; Global
                 Naming Service; measurement; performance; reliability",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Distributed file systems. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems. {\bf D.4.6} Software,
                 OPERATING SYSTEMS, Security and Protection.",
}

@Article{Agarwal:1989:ACM,
  author =       "Anant Agarwal and Mark Horowitz and John Hennessy",
  title =        "An Analytical Cache Model",
  journal =      j-TOCS,
  volume =       "7",
  number =       "2",
  pages =        "184--215",
  month =        may,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-2/p184-agarwal/",
  abstract =     "Trace-driven simulation and hardware measurement are
                 the techniques most often used to obtain accurate
                 performance figures for caches. The former requires a
                 large amount of simulation time to evaluate each cache
                 configuration while the latter is restricted to
                 measurements of existing caches. An analytical cache
                 model that uses parameters extracted from address
                 traces of programs can efficiently provide estimates of
                 cache performance and show the effects of varying cache
                 parameters. By representing the factors that affect
                 cache performance, we develop an analytical model that
                 gives miss rates for a given trace as a function of
                 cache size, degree of associativity, block size,
                 subblock size, multiprogramming level, task switch
                 interval, and observation interval. The predicted
                 values closely approximate the results of trace-driven
                 simulations, while requiring only a small fraction of
                 the computation cost.",
  acknowledgement = ack-nhfb,
  affiliation =  "Stanford Univ",
  affiliationaddress = "Stanford, CA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Cache Miss Rate; Cache Models; Computer Architecture;
                 Data Storage Units; design; measurement; Memory
                 Structures; performance; theory; Trace Driven
                 Simulation",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Formal models**. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Simulation**. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management,
                 Multiprocessing/multiprogramming/multitasking.",
}

@Article{Peterson:1989:PUC,
  author =       "Larry L. Peterson and Nick C. Buchholz and Richard D.
                 Schlichting",
  title =        "Preserving and Using Context Information in
                 Interprocess Communication",
  journal =      j-TOCS,
  volume =       "7",
  number =       "3",
  pages =        "217--246",
  month =        aug,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-3/p217-peterson/",
  abstract =     "When processes in a network communicate, the messages
                 they exchange define a partial ordering of externally
                 visible events. While the significance of this partial
                 order in distributed computing is well understood, it
                 has not been made an explicit part of the communication
                 substrate upon which distributed programs are
                 implemented. This paper describes a new interprocess
                 communication mechanism, called Psync, that explicitly
                 encodes this partial ordering with each message. The
                 paper shows how Psync can be efficiently implemented on
                 an unreliable communications network, and it
                 demonstrates how conversations serve as an elegant
                 foundation for ordering messages exchanged in a
                 distributed computation and for recovering from
                 processor failures.",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of Arizona",
  affiliationaddress = "Tucson, AZ, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Computer Fault Tolerance; Computer
                 Programming--Algorithms; Computer Systems, Digital;
                 Context Information; Database Systems--Distributed;
                 design; Distributed; Interprocess Communication;
                 Partial Ordering; performance; Psync Protocol;
                 reliability",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Psync. {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf D.4.4} Software, OPERATING SYSTEMS, Communications
                 Management, Network communication. {\bf C.4} Computer
                 Systems Organization, PERFORMANCE OF SYSTEMS, Design
                 studies.",
}

@Article{Satyanarayanan:1989:ISL,
  author =       "M. Satyanarayanan",
  title =        "Integrating Security in a Large Distributed System",
  journal =      j-TOCS,
  volume =       "7",
  number =       "3",
  pages =        "247--280",
  month =        aug,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-3/p247-satyanarayanan/",
  abstract =     "Andrew is a distributed computing environment that is
                 a synthesis of the personal computing and timesharing
                 paradigms. When mature, it is expected to encompass
                 over 5,000 workstations spanning the Carnegie Mellon
                 University campus. This paper examines the security
                 issues that arise in such an environment and describes
                 the mechanisms that have been developed to address
                 them. These mechanisms include the logical and physical
                 separation of servers and clients, support for secure
                 communication at the remote procedure call level, a
                 distributed authentication service, a file-protection
                 scheme that combines access lists with UNIX mode bits,
                 and the use of encryption as a basic building block.
                 The paper also discusses the assumptions underlying
                 security in Andrew and analyzes the vulnerability of
                 the system. Usage experience reveals that resource
                 control, particularly of workstation CPU cycles, is
                 more important than originally anticipated and that the
                 mechanisms available to address this issue are
                 rudimentary.",
  acknowledgement = ack-nhfb,
  affiliation =  "Carnegie Mellon Univ",
  affiliationaddress = "Pittsburgh, PA, USA",
  classification = "722; 723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "algorithms; Andrew Distributed Computing Environment;
                 Computer Security; Computer Systems, Digital;
                 Computers, Personal; Cryptography; design; Distributed;
                 security; Time Sharing",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection. {\bf C.0} Computer Systems Organization,
                 GENERAL, Andrew. {\bf D.4.3} Software, OPERATING
                 SYSTEMS, File Systems Management, Distributed file
                 systems. {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf E.3} Data, DATA ENCRYPTION, Data encryption
                 standard (DES)**.",
}

@Article{Shankar:1989:VDT,
  author =       "A. Udaya Shankar",
  title =        "Verified Data Transfer Protocols with Variable Flow
                 Control",
  journal =      j-TOCS,
  volume =       "7",
  number =       "3",
  pages =        "281--316",
  month =        aug,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jan 14 06:47:30 MST 1999",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-3/p281-shankar/",
  abstract =     "We present and verify a sliding window protocol which
                 uses modulo-N sequence numbers to achieve reliable
                 flow-controlled data transfer between a producer and a
                 consumer connected by unreliable channels. The
                 consumer's data needs are represented by a receive
                 window whose size can vary with time. The producer
                 entity sends segments of data words that lie within the
                 consumer's receive window. The consumer entity sends
                 acknowledgement, selective acknowledgement, and
                 selective reject messages that inform the producer
                 entity of the current receive window size, the data
                 word next expected, and the reception (or lack of
                 reception) of out-of-sequence data segments. Our
                 protocol is, therefore, a proper extension of existing
                 transport and data link protocol standards such as TCP,
                 ISO TP, HDLC, ADCCP, and so forth.",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of Maryland",
  affiliationaddress = "College Park, MD, USA",
  classification = "723",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  journalabr =   "ACM Trans Comput Syst",
  keywords =     "Computer Networks--Protocols; Data Transfer Protocols;
                 Data Transmission; design; Reliability; Sliding Window
                 Protocol; theory; Variable Flow Control; verification",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol verification. {\bf C.3} Computer Systems
                 Organization, SPECIAL-PURPOSE AND APPLICATION-BASED
                 SYSTEMS, Real-time and embedded systems. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Modeling and
                 prediction. {\bf F.3.1} Theory of Computation, LOGICS
                 AND MEANINGS OF PROGRAMS, Specifying and Verifying and
                 Reasoning about Programs. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management.",
}

@Article{Li:1989:MCS,
  author =       "Kai Li and Paul Hudak",
  title =        "Memory Coherence in Shared Virtual Memory Systems",
  journal =      j-TOCS,
  volume =       "7",
  number =       "4",
  pages =        "321--359",
  month =        nov,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-4/p321-li/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; experimentation; measurement;
                 performance",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Shared memory. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors), Interconnection
                 architectures. {\bf B.3.2} Hardware, MEMORY STRUCTURES,
                 Design Styles, Virtual memory. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications.",
}

@Article{Ng:1989:UHI,
  author =       "Tony P. Ng",
  title =        "Using Histories to Implement Atomic Objects",
  journal =      j-TOCS,
  volume =       "7",
  number =       "4",
  pages =        "360--393",
  month =        nov,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-4/p360-ng/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design",
  subject =      "{\bf H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems, Concurrency. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, Distributed databases.
                 {\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols.
                 {\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Synchronization. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Concurrency.
                 {\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Distributed systems.",
}

@Article{Barbara:1989:IAU,
  author =       "Daniel Barbara and H{\'e}ctor Garc{\'\i}a-Molina and
                 Annemarie Spauster",
  title =        "Increasing Availability under Mutual Exclusion
                 Constraints with Dynamic Vote Reassignment",
  journal =      j-TOCS,
  volume =       "7",
  number =       "4",
  pages =        "394--426",
  month =        nov,
  year =         "1989",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1989-7-4/p394-barbara/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance; reliability",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Mutual
                 exclusion. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability.",
}

@Article{Schroeder:1990:PFR,
  author =       "Michael D. Schroeder and Michael Burrows",
  title =        "Performance of the {Firefly RPC}",
  journal =      j-TOCS,
  volume =       "8",
  number =       "1",
  pages =        "1--17",
  month =        feb,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-1/p1-schroeder/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "measurement; performance",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors). {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF SYSTEMS,
                 Measurement techniques. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements.",
}

@Article{Burrows:1990:LA,
  author =       "Michael Burrows and Martin Abadi and Roger Needham",
  title =        "A Logic of Authentication",
  journal =      j-TOCS,
  volume =       "8",
  number =       "1",
  pages =        "18--36",
  month =        feb,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-1/p18-burrows/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "security; theory; verification",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol verification. {\bf C.2.0} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, General,
                 Security and protection (e.g., firewalls). {\bf D.4.6}
                 Software, OPERATING SYSTEMS, Security and Protection,
                 Authentication. {\bf F.3.1} Theory of Computation,
                 LOGICS AND MEANINGS OF PROGRAMS, Specifying and
                 Verifying and Reasoning about Programs. {\bf D.4.6}
                 Software, OPERATING SYSTEMS, Security and Protection,
                 Cryptographic controls.",
}

@Article{Bershad:1990:LRP,
  author =       "Brian N. Bershad and Thomas E. Anderson and Edward D.
                 Lazowska and Henry M. Levy",
  title =        "Lightweight Remote Procedure Call",
  journal =      j-TOCS,
  volume =       "8",
  number =       "1",
  pages =        "37--55",
  month =        feb,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-1/p37-bershad/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance; security",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems. {\bf C.1.3} Computer Systems Organization,
                 PROCESSOR ARCHITECTURES, Other Architecture Styles,
                 Capability architectures**. {\bf D.4.6} Software,
                 OPERATING SYSTEMS, Security and Protection, Security
                 kernels**. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements.",
}

@Article{Anderson:1990:SCM,
  author =       "David P. Anderson and Ron Kuivila",
  title =        "A System for Computer Music Performance",
  journal =      j-TOCS,
  volume =       "8",
  number =       "1",
  pages =        "56--82",
  month =        feb,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-1/p56-anderson/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; experimentation; human factors;
                 languages; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Scheduling. {\bf D.4.7} Software, OPERATING
                 SYSTEMS, Organization and Design, Interactive systems.
                 {\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Real-time systems and embedded systems.
                 {\bf D.4.4} Software, OPERATING SYSTEMS, Communications
                 Management, Input/output.",
}

@Article{Deering:1990:MRD,
  author =       "Stephen E. Deering and David R. Cheriton",
  title =        "Multicast Routing in Datagram Internetworks and
                 Extended {LANs}",
  journal =      j-TOCS,
  volume =       "8",
  number =       "2",
  pages =        "85--110",
  month =        may,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-2/p85-deering/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.2.5}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Local and Wide-Area Networks. {\bf C.2.2}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Protocols, Protocol architecture.
                 {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.",
}

@Article{Schwan:1990:TDO,
  author =       "Karsten Schwan and Win Bo",
  title =        "``Topologies'' --- Distributed Objects on
                 Multicomputers",
  journal =      j-TOCS,
  volume =       "8",
  number =       "2",
  pages =        "111--157",
  month =        may,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-2/p111-schwan/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance",
  subject =      "{\bf D.1.3} Software, PROGRAMMING TECHNIQUES,
                 Concurrent Programming, Parallel programming. {\bf
                 G.1.0} Mathematics of Computing, NUMERICAL ANALYSIS,
                 General, Parallel algorithms. {\bf C.1.2} Computer
                 Systems Organization, PROCESSOR ARCHITECTURES, Multiple
                 Data Stream Architectures (Multiprocessors), Parallel
                 processors**. {\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Message sending.",
}

@Article{Ramakrishnan:1990:BFS,
  author =       "K. K. Ramakrishnan and R. Jain",
  title =        "A Binary Feedback Scheme for Congestion Avoidance in
                 Computer Networks",
  journal =      j-TOCS,
  volume =       "8",
  number =       "2",
  pages =        "158--181",
  month =        may,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-2/p158-ramakrishnan/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.2.3}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Operations, Network monitoring. {\bf
                 C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols.",
}

@Article{Benson:1990:FPM,
  author =       "Glenn S. Benson and Ian F. Akyildiz and William F.
                 Aelbe",
  title =        "A Formal Protection Model of Security in Centralized,
                 Parallel, and Distributed Systems",
  journal =      j-TOCS,
  volume =       "8",
  number =       "3",
  pages =        "183--213",
  month =        aug,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-3/p183-benson/",
  abstract =     "One way to show that a system is not secure is to
                 demonstrate that a malicious or mistake-prone user or
                 program can break security by causing the system to
                 reach a nonsecure state. A fundamental aspect of a
                 security model is a proof that validates that every
                 state reachable from a secure initial state is secure.
                 A sequential security model assumes that every command
                 that acts as a state transition executes sequentially,
                 while a concurrent security model assumes that multiple
                 commands execute concurrently. This paper presents a
                 security model called the
                 Centralized-Parallel-Distributed model (CPD model) that
                 defines security for logically, or physically
                 centralized, parallel, and distributed systems. The
                 purpose of the CPD model is to define concurrency
                 conditions that guarantee that a concurrent system
                 cannot reach a state in which privileges are configured
                 in a nonsecure manner. As an example, the conditions
                 are used to construct a representation of a distributed
                 system.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; security; theory; verification",
  subject =      "{\bf C.2.0} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, General, Security and
                 protection (e.g., firewalls). {\bf C.1.2} Computer
                 Systems Organization, PROCESSOR ARCHITECTURES, Multiple
                 Data Stream Architectures (Multiprocessors), Parallel
                 processors**. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Concurrency. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Scheduling. {\bf F.3.1} Theory of Computation, LOGICS
                 AND MEANINGS OF PROGRAMS, Specifying and Verifying and
                 Reasoning about Programs. {\bf D.4.6} Software,
                 OPERATING SYSTEMS, Security and Protection, Access
                 controls.",
}

@Article{King:1990:DAM,
  author =       "Richard P. King",
  title =        "Disk Arm Movement in Anticipation of Future Requests",
  journal =      j-TOCS,
  volume =       "8",
  number =       "3",
  pages =        "214--229",
  month =        aug,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-3/p214-king/",
  abstract =     "When a disk drive's access arm is idle, it may not be
                 at the ideal location. In anticipation of future
                 requests, movement to some other location may be
                 advantageous. The effectiveness of anticipatory disk
                 arm movement is explored. Various operating conditions
                 are considered, and the reduction in seek distances and
                 request response times is determined for them. Suppose
                 that successive requests are independent and uniformly
                 distributed. By bringing the arm to the middle of its
                 range of motion when it is idle, the expected seek
                 distance can be reduced by 25 percent. Nonlinearity in
                 time versus distance can whittle that 25 percent
                 reduction down to a 13 percent reduction in seek time.
                 Nonuniformity in request location, nonPoisson arrival
                 processes, and high arrival rates can whittle the
                 reduction down to nothing. However, techniques are
                 discussed that maximize those savings that are still
                 possible under those circumstances. Various systems
                 with multiple arms are analyzed. Usually, it is best to
                 spread out the arms over the disk area. The both arms
                 should be brought to the middle.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Secondary storage. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Modeling and
                 prediction. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Simulation.",
}

@Article{Mitchell:1990:EPA,
  author =       "Chad L. Mitchell and Michael J. Flynn",
  title =        "The Effects of Processor Architecture on Instruction
                 Memory Traffic",
  journal =      j-TOCS,
  volume =       "8",
  number =       "3",
  pages =        "230--250",
  month =        aug,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-3/p230-mitchell/",
  abstract =     "The relative amount of instruction traffic for two
                 architectures is about the same in the presence of a
                 large cache as with no cache. Furthermore, the presence
                 of an intermediate-sized cache probably substantially
                 favors the denser architecture. Encoding techniques
                 have a much greater impact on instruction traffic than
                 do the differences between instruction set families
                 such as stack and register set. However, register set
                 architectures have somewhat lower instruction traffic
                 than directly comparable stack architectures of some
                 local variables are allocated in registers. This study
                 has clearly indicated that cache factors should be
                 taken into consideration when making architectural
                 tradeoffs. The differences in memory traffic between
                 two architectures may be greatly amplified in the
                 presence of a cache.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf C.0} Computer Systems
                 Organization, GENERAL, Instruction set design. {\bf
                 C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Performance attributes. {\bf B.3.3} Hardware,
                 MEMORY STRUCTURES, Performance Analysis and Design
                 Aids**, Simulation**.",
}

@Article{Gotzhein:1990:DPS,
  author =       "Reinhard Gotzhein and Gregor von Bochmann",
  title =        "Deriving Protocol Specifications from Service
                 Specifications Including Parameters",
  journal =      j-TOCS,
  volume =       "8",
  number =       "4",
  pages =        "255--283",
  month =        nov,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-4/p255-gotzhein/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; verification",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems.",
}

@Article{Marzullo:1990:TFC,
  author =       "Keith Marzullo",
  title =        "Tolerating Failures of Continuous-Valued Sensors",
  journal =      j-TOCS,
  volume =       "8",
  number =       "4",
  pages =        "284--304",
  month =        nov,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-4/p284-marzullo/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf C.3} Computer Systems Organization,
                 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS, Process
                 control systems. {\bf F.3.1} Theory of Computation,
                 LOGICS AND MEANINGS OF PROGRAMS, Specifying and
                 Verifying and Reasoning about Programs.",
}

@Article{Lamport:1990:CRW,
  author =       "Leslie Lamport",
  title =        "Concurrent Reading and Writing of Clocks",
  journal =      j-TOCS,
  volume =       "8",
  number =       "4",
  pages =        "305--310",
  month =        nov,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-4/p305-lamport/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; verification",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Concurrency. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
                 D.2.4} Software, SOFTWARE ENGINEERING, Software/Program
                 Verification. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management.",
}

@Article{Goldszmidt:1990:HLL,
  author =       "German S. Goldszmidt and Shaula Yemini",
  title =        "High-level Language Debugging for Concurrent
                 Programs",
  journal =      j-TOCS,
  volume =       "8",
  number =       "4",
  pages =        "311--336",
  month =        nov,
  year =         "1990",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1990-8-4/p311-goldszmidt/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "experimentation; verification",
  subject =      "{\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing
                 and Debugging, Debugging aids. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming.",
}

@Article{Agrawal:1991:EFT,
  author =       "Divyakant Agrawal and Amr {El Abbadi}",
  title =        "An Efficient and Fault-Tolerant Solution for
                 Distributed Mutual Exclusion",
  journal =      j-TOCS,
  volume =       "9",
  number =       "1",
  pages =        "1--20",
  month =        feb,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-1/p1-agrawal/",
  abstract =     "In this paper, we present an efficient and
                 fault-tolerant algorithm for generating quorums to
                 solve the distributed mutual exclusion problem. The
                 algorithm uses a logical tree organization of the
                 network to generate tree quorums, which are logarithmic
                 in the size of the network in the best case. Our
                 approach is resilient to both site and communication
                 failures, even when such failures lead to network
                 partitioning. Furthermore, the algorithm exhibits a
                 property of graceful degradation, i.e., it requires
                 more messages only as the number of failures increase
                 in the network. We describe how tree quorums can be
                 used for various distributed applications for providing
                 mutually exclusive access to a distributed resource,
                 managing replicated objects, and atomically committing
                 a distributed transaction.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; reliability",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Mutual exclusion. {\bf D.4.5} Software,
                 OPERATING SYSTEMS, Reliability, Fault-tolerance. {\bf
                 D.4.7} Software, OPERATING SYSTEMS, Organization and
                 Design, Distributed systems. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems.",
}

@Article{Mellor-Crummey:1991:ASS,
  author =       "John M. Mellor-Crummey and Michael L. Scott",
  title =        "Algorithms for Scalable Synchronization on
                 Shared-Memory Multiprocessors",
  journal =      j-TOCS,
  volume =       "9",
  number =       "1",
  pages =        "21--65",
  month =        feb,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-1/p21-mellor-crummey/",
  abstract =     "Busy-wait techniques are heavily used for mutual
                 exclusion and barrier synchronization in shared-memory
                 parallel programs. Unfortunately, typical
                 implementations of busy-waiting tend to produce large
                 amounts of memory and interconnect contention,
                 introducing performance bottlenecks that become
                 markedly more pronounced as applications scale. We
                 argue that this problem is not fundamental, and that
                 one can in fact construct busy-wait synchronization
                 algorithms that induce no memory or interconnect
                 contention. The key to these algorithms is for every
                 processor to spin on separate locally-accessible flag
                 variables, and for some other processor to terminate
                 the spin with a single remote write operation at an
                 appropriate time. Flag variables may be
                 locally-accessible as a result of coherent caching, or
                 by virtue of allocation in the local portion of
                 physically distributed shared memory. We present a new
                 scalable algorithm for spin locks that generates 0(1)
                 remote references per lock acquisition, independent of
                 the number of processors attempting to acquire the
                 lock. Our algorithm provides reasonable latency in the
                 absence of contention, requires only a constant amount
                 of space per lock, and requires no hardware support
                 other than a swap-with-memory instruction. We also
                 present a new scalable barrier algorithm that generates
                 0(1) remote references per processor reaching the
                 barrier, and observe that two previously-known barriers
                 can likewise be cast in a form that spins only on
                 locally-accessible flag variables. None of these
                 barrier algorithms requires hardware support beyond the
                 usual atomicity of memory reads and writes. We compare
                 the performance of our scalable algorithms with other
                 software approaches to busy-wait synchronization on
                 both a Sequent Symmetry and a BBN Butterfly. Our
                 principal conclusion is that contention due to
                 synchronization need not be a problem in large-scale
                 shared-memory multiprocessors. The existence of
                 scalable algorithms greatly weakens the case for costly
                 special-purpose hardware support for synchronization,
                 and provides a case against so-called ``dance hall''
                 architectures, in which shared memory locations are
                 equally far from all processors. ---From the Authors'
                 Abstract",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; measurement; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Synchronization. {\bf B.3.2} Hardware,
                 MEMORY STRUCTURES, Design Styles, Shared memory. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Mutual exclusion. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors), Interconnection
                 architectures. {\bf D.4.2} Software, OPERATING SYSTEMS,
                 Storage Management, Storage hierarchies. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Measurements.
                 {\bf C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Design studies.",
}

@Article{Huguet:1991:ASR,
  author =       "Miquel Huguet and Tom{\'a}s Lang",
  title =        "Architectural Support for Reduced Register
                 Saving\slash Restoring in Single-Window Register
                 Files",
  journal =      j-TOCS,
  volume =       "9",
  number =       "1",
  pages =        "66--97",
  month =        feb,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-1/p66-huguet/",
  abstract =     "The use of registers in a processor reduces the data
                 and instruction memory traffic. Since this reduction is
                 a significant factor in the improvement of the program
                 execution time, recent VLSI processors have a large
                 number of registers which can be used efficiently
                 because of the advances in compiler technology.
                 However, since registers have to be saved/restored
                 across function calls, the corresponding register
                 saving and restoring (RSR) memory traffic can almost
                 eliminate the overall reduction. This traffic has been
                 reduced by compiler optimizations and by providing
                 multiple-window register files. Although these
                 multiple-window architectures produce a large reduction
                 in the RSR traffic, they have several drawbacks which
                 make the single-window file preferable. We consider a
                 combination of {\em hardware support\/} and {\em
                 compiler optimizations\/} to reduce the RSR traffic for
                 a single-window register file, beyond the reductions
                 achieved by compiler optimizations alone. Basically,
                 this hardware keeps track of the registers that are
                 written during execution, so that the number of
                 registers saved is minimized. Moreover, hardware is
                 added so that a register is saved in the activation
                 record of the function that uses it (instead of in the
                 record of the current function); in this way a register
                 is restored only when it is needed, rather than
                 wholesale on procedure return. We present a register
                 saving and restoring policy that makes use of this
                 hardware, discuss its implementation, and evaluate the
                 traffic reduction when the policy is combined with
                 intraprocedural and interprocedural compiler
                 optimizations. We show that, on the average for the
                 four general-purpose programs measured, the RSR traffic
                 is reduced by about 90 percent for a small register
                 file (i.e., 32 registers), which results in an overall
                 data memory traffic reduction of about 15 percent.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; languages; performance",
  subject =      "{\bf B.5.2} Hardware, REGISTER-TRANSFER-LEVEL
                 IMPLEMENTATION, Design Aids, Optimization. {\bf B.5.1}
                 Hardware, REGISTER-TRANSFER-LEVEL IMPLEMENTATION,
                 Design, Data-path design. {\bf B.7.1} Hardware,
                 INTEGRATED CIRCUITS, Types and Design Styles, VLSI
                 (very large scale integration). {\bf B.1.4} Hardware,
                 CONTROL STRUCTURES AND MICROPROGRAMMING, Microprogram
                 Design Aids, Languages and compilers.",
}

@Article{Zhang:1991:VNT,
  author =       "Lixia Zhang",
  title =        "{VirtualClock}: a New Traffic Control Algorithm for
                 Packet-Switched Networks",
  journal =      j-TOCS,
  volume =       "9",
  number =       "2",
  pages =        "101--124",
  month =        may,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-2/p101-zhang/",
  abstract =     "One of the challenging research issues in building
                 high-speed packet-switched networks is how to control
                 the transmission rate of statistical data flows. This
                 paper describes a new traffic control algorithm, {\em
                 VirtualClock}, for high-speed network applications.
                 VirtualClock monitors the average transmission rate of
                 statistical data flows and provides every flow with
                 guaranteed throughput and low queueing delay. It
                 provides firewall protection among individual flows, as
                 in a TDM system, while retaining the statistical
                 multiplexing advantages of packet switching. Simulation
                 results show that the VirtualClock algorithm meets all
                 its design goals.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Packet-switching networks. {\bf C.2.2}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Protocols, Protocol architecture.
                 {\bf C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Performance attributes.",
}

@Article{Liskov:1991:EMO,
  author =       "Barbara Liskov and Liuba Shrira and John Wroclawski",
  title =        "Efficient At-Most-Once Messages Based on Synchronized
                 Clocks",
  journal =      j-TOCS,
  volume =       "9",
  number =       "2",
  pages =        "125--142",
  month =        may,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-2/p125-liskov/",
  abstract =     "This paper describes a new at-most-once message
                 passing protocol that provides guaranteed detection of
                 duplicate messages even when the receiver has no state
                 stored for the sender. It also discusses how to use
                 at-most-once messages to implement higher-level
                 primitives such as at-once-remote procedure calls and
                 sequenced bytestream protocols. Our performance
                 measurements indicate that at-most-once RPCs can
                 provide at the same cost as less desirable forms of
                 RPCs that do not guarantee at-most-once execution. Our
                 method is based on the assumption that clocks
                 throughout the system are loosely synchronized. Modern
                 clock synchronization protocols provide good bounds on
                 clock skew with high probability; our method depends on
                 the bound for performance but not for correctness.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf D.4.4} Software, OPERATING
                 SYSTEMS, Communications Management, Message sending.
                 {\bf C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Performance attributes. {\bf C.4} Computer
                 Systems Organization, PERFORMANCE OF SYSTEMS,
                 Measurement techniques.",
}

@Article{Bihari:1991:DAR,
  author =       "Thomas E. Bihari and Karsten Schwan",
  title =        "Dynamic Adaptation of Real-Time Software",
  journal =      j-TOCS,
  volume =       "9",
  number =       "2",
  pages =        "143--174",
  month =        may,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-2/p143-bihari/",
  abstract =     "In large, dynamic, real-time computer systems, it is
                 frequently most cost effective to employ different
                 software performance and reliability techniques at
                 different levels of granularity, at different times, or
                 within different subsystems. These techniques may
                 include regulation of redundancy and resource
                 allocation, multiversion and multipath execution,
                 adjustments of program attributes such as time-out
                 periods and others. The management of software in such
                 systems is a difficult task. Software that may be
                 adapted to meet varying performance and reliability
                 requirements offers a solution. A REal-time Software
                 Adaptation System (RESAS) includes a uniform model of
                 adaptable software and provides the tool necessary for
                 programmers to implement algorithms that choose and
                 enact adaptations in real time. RESAS has been
                 implemented on a testbed consisting of a multiprocessor
                 and an attached workstation, and adaptation algorithms
                 have been developed that address the problem of
                 adapting software to achieve two goals: software
                 execution within specified time constraints and
                 software resiliency with respect to computer hardware
                 failures.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance; reliability",
  subject =      "{\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Real-time systems and embedded systems.
                 {\bf C.3} Computer Systems Organization,
                 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS,
                 Real-time and embedded systems. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Measurements. {\bf
                 D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management.",
}

@Article{Bershad:1991:ULI,
  author =       "Brian N. Bershad and Thomas E. Anderson and Edward D.
                 Lazowska and Henry M. Levy",
  title =        "User-level Interprocess Communication for Shared
                 Memory Multiprocessors",
  journal =      j-TOCS,
  volume =       "9",
  number =       "2",
  pages =        "175--198",
  month =        may,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-2/p175-bershad/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.2} Software, OPERATING SYSTEMS, Storage Management.
                 {\bf C.1.2} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Multiple Data Stream Architectures
                 (Multiprocessors). {\bf B.3.2} Hardware, MEMORY
                 STRUCTURES, Design Styles, Shared memory.",
}

@Article{Greenberg:1991:AUP,
  author =       "Albert G. Greenberg and Boris D. Lubachevsky and Isi
                 Mitrani",
  title =        "Algorithms for Unboundedly Parallel Simulations",
  journal =      j-TOCS,
  volume =       "9",
  number =       "3",
  pages =        "201--221",
  month =        aug,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-3/p201-greenberg/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; performance",
  subject =      "{\bf I.6.8} Computing Methodologies, SIMULATION AND
                 MODELING, Types of Simulation, Parallel. {\bf C.1.2}
                 Computer Systems Organization, PROCESSOR ARCHITECTURES,
                 Multiple Data Stream Architectures (Multiprocessors).
                 {\bf F.1.2} Theory of Computation, COMPUTATION BY
                 ABSTRACT DEVICES, Modes of Computation. {\bf I.6.8}
                 Computing Methodologies, SIMULATION AND MODELING, Types
                 of Simulation.",
}

@Article{Wang:1991:ETD,
  author =       "Wen-Hann Wang and Jean-Loup Baer",
  title =        "Efficient Trace-Driven Simulation Methods for Cache
                 Performance Analysis",
  journal =      j-TOCS,
  volume =       "9",
  number =       "3",
  pages =        "222--241",
  month =        aug,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-3/p222-wang/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; measurement; performance",
  subject =      "{\bf B.3.3} Hardware, MEMORY STRUCTURES, Performance
                 Analysis and Design Aids**, Simulation**. {\bf B.3.2}
                 Hardware, MEMORY STRUCTURES, Design Styles. {\bf B.3.3}
                 Hardware, MEMORY STRUCTURES, Performance Analysis and
                 Design Aids**.",
}

@Article{Garcia-Molina:1991:ORM,
  author =       "H{\'e}ctor Garc{\'\i}a-Molina and Annemarie Spauster",
  title =        "Ordered and Reliable Multicast Communication",
  journal =      j-TOCS,
  volume =       "9",
  number =       "3",
  pages =        "242--271",
  month =        aug,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-3/p242-garcia-molina/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; reliability",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.2.1}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Architecture and Design. {\bf C.2.2}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Protocols. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management. {\bf
                 H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems.",
}

@Article{Schiper:1991:LCA,
  author =       "Andr{\'e} Schiper and Kenneth Birman and Pat
                 Stephenson",
  title =        "Lightweight Causal and Atomic Group Multicast",
  journal =      j-TOCS,
  volume =       "9",
  number =       "3",
  pages =        "272--314",
  month =        aug,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-3/p272-schiper/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; reliability",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.2.1}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Architecture and Design. {\bf C.2.2}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Protocols. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management. {\bf
                 D.4.7} Software, OPERATING SYSTEMS, Organization and
                 Design.",
}

@Article{Larowe:1991:ECM,
  author =       "Richard P. {Larowe, Jr.} and Carla Schlatter Ellis",
  title =        "Experimental Comparison of Memory Management Policies
                 for {NUMA} Multiprocessors",
  journal =      j-TOCS,
  volume =       "9",
  number =       "4",
  pages =        "319--363",
  month =        nov,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Oct 31 06:27:19 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-4/p319-larowe/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "experimentation; management; measurement;
                 performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management. {\bf B.3.2} Hardware, MEMORY STRUCTURES,
                 Design Styles, Shared memory. {\bf C.1.2} Computer
                 Systems Organization, PROCESSOR ARCHITECTURES, Multiple
                 Data Stream Architectures (Multiprocessors),
                 Multiple-instruction-stream, multiple-data-stream
                 processors (MIMD). {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance.",
}

@Article{Karn:1991:IRT,
  author =       "Phil Karn and Craig Partridge",
  title =        "Improving Round-Trip Time Estimates in Reliable
                 Transport Protocols",
  journal =      j-TOCS,
  volume =       "9",
  number =       "4",
  pages =        "364--373",
  month =        nov,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-4/p364-karn/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; performance; reliability",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol verification. {\bf C.2.1} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Architecture and Design, Packet-switching networks.
                 {\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Store and forward networks. {\bf D.4.4}
                 Software, OPERATING SYSTEMS, Communications Management,
                 Message sending. {\bf D.4.4} Software, OPERATING
                 SYSTEMS, Communications Management, Network
                 communication.",
}

@Article{Kandlur:1991:RBA,
  author =       "Dilip D. Kandlur and Kang G. Shin",
  title =        "Reliable Broadcast Algorithms for {HARTS}",
  journal =      j-TOCS,
  volume =       "9",
  number =       "4",
  pages =        "374--398",
  month =        nov,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-4/p374-kandlur/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; performance; reliability",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 HARTS. {\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols.",
}

@Article{Ahamad:1991:MV,
  author =       "Mustaque Ahamad and Mostafa H. Ammar and Shun Yan
                 Cheung",
  title =        "Multidimensional Voting",
  journal =      j-TOCS,
  volume =       "9",
  number =       "4",
  pages =        "399--431",
  month =        nov,
  year =         "1991",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1991-9-4/p399-ahamad/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; reliability; theory",
  subject =      "{\bf B.4.5} Hardware, INPUT/OUTPUT AND DATA
                 COMMUNICATIONS, Reliability, Testing, and
                 Fault-Tolerance**, Redundant design**. {\bf C.2.2}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Network Protocols. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems.",
}

@Article{Kistler:1992:DOC,
  author =       "James J. Kistler and M. Satyanarayanan",
  title =        "Disconnected Operation in the {Coda File System}",
  journal =      j-TOCS,
  volume =       "10",
  number =       "1",
  pages =        "3--25",
  month =        feb,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-1/p3-kistler/",
  abstract =     "{\em Disconnected operation\/} is a mode of operation
                 that enables a client to continue accessing critical
                 data during temporary failures of a shared data
                 repository. An important, though not exclusive,
                 application of disconnected operation is in supporting
                 portable computers. In this paper, we show that
                 disconnected operation is feasible, efficient and
                 usable by describing its design and implementation in
                 the Coda File System. The central idea behind our work
                 is that {\em caching of data}, now widely used for
                 performance, can also be exploited to improve {\em
                 availability.\/}",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance;
                 reliability",
  subject =      "{\bf D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf D.4.4} Software, OPERATING
                 SYSTEMS, Communications Management. {\bf D.4.3}
                 Software, OPERATING SYSTEMS, File Systems Management,
                 Distributed file systems. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Measurements.",
}

@Article{Rosenblum:1992:DIL,
  author =       "Mendel Rosenblum and John K. Ousterhout",
  title =        "The Design and Implementation of a Log-Structured File
                 System",
  journal =      j-TOCS,
  volume =       "10",
  number =       "1",
  pages =        "26--52",
  month =        feb,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-1/p26-rosenblum/",
  abstract =     "This paper presents a new technique for disk storage
                 management called a {\em log-structured file system}. A
                 log-structured file system writes all modifications to
                 disk sequentially in a log-like structure, thereby
                 speeding up both file writing and crash recovery. The
                 log is the only structure on disk; it contains indexing
                 information so that files can be read back from the log
                 efficiently. In order to maintain large free areas on
                 disk for fast writing, we divide the log into{\em
                 segments\/}and use a {\em segment cleaner\/} to
                 compress the live information from heavily fragmented
                 segments. We present a series of simulations that
                 demonstrate the efficiency of a simple cleaning policy
                 based on cost and benefit. We have implemented a
                 prototype log-structured file system called Sprite LFS;
                 it outperforms current Unix file systems by an order of
                 magnitude for small-file writes while matching or
                 exceeding Unix performance for reads and large writes.
                 Even when the overhead for cleaning is included, Sprite
                 LFS can use 70\% of the disk bandwidth for writing,
                 whereas Unix file systems typically can use only
                 5-10\%.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; measurement; performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Secondary storage. {\bf D.4.2} Software,
                 OPERATING SYSTEMS, Storage Management,
                 Allocation/deallocation strategies. {\bf D.4.5}
                 Software, OPERATING SYSTEMS, Reliability,
                 Checkpoint/restart. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Simulation.
                 {\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Operational analysis. {\bf H.2.2} Information Systems,
                 DATABASE MANAGEMENT, Physical Design, Recovery and
                 restart. {\bf H.3.2} Information Systems, INFORMATION
                 STORAGE AND RETRIEVAL, Information Storage, File
                 organization.",
}

@Article{Anderson:1992:SAE,
  author =       "Thomas E. Anderson and Brian N. Bershad and Edward D.
                 Lazowska and Henry M. Levy",
  title =        "Scheduler Activations: Effective Kernel Support for
                 the User-Level Management of Parallelism",
  journal =      j-TOCS,
  volume =       "10",
  number =       "1",
  pages =        "53--79",
  month =        feb,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-1/p53-anderson/",
  abstract =     "{\em Threads\/} are the vehicle for concurrency in
                 many approaches to parallel programming. Threads can be
                 supported either by the operating system kernel or by
                 user-level library code in the application address
                 space, but neither approach has been fully
                 satisfactory. This paper addresses this dilemma. First,
                 we argue that the performance of kernel threads is {\em
                 inherently\/} worse than that of user-level threads,
                 rather than this being an artifact of existing
                 implementations; managing parallelism at the user level
                 is essential to high-performance parallel computing.
                 Next, we argue that the problems encountered in
                 integrating user-level threads with other system
                 services is a consequence of the lack of kernel support
                 for user-level threads provided by contemporary
                 multiprocessor operating systems; kernel threads are
                 the {\em wrong abstraction\/} on which to support
                 user-level management of parallelism. Finally, we
                 describe the design, implementation, and performance of
                 a new kernel interface and user-level thread package
                 that together provide the same functionality as kernel
                 threads without compromising the performance and
                 flexibility advantages of user-level management of
                 parallelism.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Scheduling. {\bf D.4.4} Software, OPERATING
                 SYSTEMS, Communications Management, Input/output. {\bf
                 D.4.7} Software, OPERATING SYSTEMS, Organization and
                 Design. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance.",
}

@Article{Mogul:1992:NLS,
  author =       "Jeffrey C. Mogul",
  title =        "Network Locality at the Scale of Processes",
  journal =      j-TOCS,
  volume =       "10",
  number =       "2",
  pages =        "81--109",
  month =        may,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-2/p81-mogul/",
  abstract =     "Packets on a LAN can be viewed as a series of
                 references to and from the objects they address. The
                 amount of locality in this reference stream may be
                 critical to the efficiency of network implementations,
                 if the locality can be exploited through caching or
                 scheduling mechanisms. Most previous studies have
                 treated network locality with an addressing granularity
                 of networks or individual hosts. This paper describes
                 some experiments tracing locality at a finer grain,
                 looking at references to individual processes, and with
                 fine-grained time resolution. Observations of typical
                 LANs show high per-process locality; that is, packets
                 to a host usually arrive for the process that most
                 recently sent a packet, and often with little
                 intervening delay.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; measurement; performance",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Packet-switching networks. {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF SYSTEMS,
                 Measurement techniques. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Performance
                 attributes. {\bf C.2.5} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Local and Wide-Area
                 Networks. {\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 TCP/IP.",
}

@Article{OMalley:1992:DNA,
  author =       "Sean W. O'Malley and Larry L. Peterson",
  title =        "A Dynamic Network Architecture",
  journal =      j-TOCS,
  volume =       "10",
  number =       "2",
  pages =        "110--143",
  month =        may,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-2/p110-o_malley/",
  abstract =     "Network software is a critical component of any
                 distributed system. Because of its complexity, network
                 software is commonly layered into a hierarchy of
                 protocols, or more generally, into a {\em protocol
                 graph}. Typical protocol graphs---including those
                 standardized in the ISO and TCP/IP network
                 architectures---share three important properties; the
                 protocol graph is simple, the nodes of the graph
                 (protocols) encapsulate complex functionality, and the
                 topology of the graph is relatively static. This paper
                 describes a new way to organize network software that
                 differs from conventional architectures in all three of
                 these properties. In our approach, the protocol graph
                 is complex, individual protocols encapsulate a single
                 function, and the topology of the graph is dynamic. The
                 main contribution of this paper is to describe the
                 ideas behind our new architecture, illustrate the
                 advantages of using the architecture, and demonstrate
                 that the architecture results in efficient network
                 software.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf C.2.1} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Architecture and Design, Network communications.",
}

@Article{Ramanathan:1992:DTC,
  author =       "Parameswaran Ramanathan and Kang G. Shin",
  title =        "Delivery of Time-Critical Messages using a Multiple
                 Copy Approach",
  journal =      j-TOCS,
  volume =       "10",
  number =       "2",
  pages =        "144--166",
  month =        may,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-2/p144-ramanathan/",
  abstract =     "Reliable and timely delivery of messages between
                 processing nodes is essential in distributed real-time
                 systems. Failure to deliver a message within its
                 deadline usually forces the system to undertake a
                 recovery action, which introduces some cost (or
                 overhead) to the system. This recovery cost can be very
                 high, especially when the recovery action fails due to
                 lack of time or resources. Proposed in this paper is a
                 scheme to minimize the expected cost incurred as a
                 result of messages failing to meet their deadlines. The
                 scheme is intended for distributed real-time systems,
                 especially with a point-to-point interconnection
                 topology. The goal of minimizing the expected cost is
                 achieved by sending multiple copies of a message
                 through disjoint routes and thus increasing the
                 probability of successful message delivery within the
                 deadline. However, as the number of copies increases,
                 the message traffic on the network increases, thereby
                 increasing the delivery time for each of the copies.
                 There is therefore a tradeoff between the number of
                 copies of each message and the expected cost incurred
                 as a result of messages missing their deadlines. The
                 number of copies of each message to be sent is
                 determined by optimizing this tradeoff. Simulation
                 results for a hexagonal mesh and a hypercube topology
                 indicate that the expected cost can be lowered
                 substantially by the proposed scheme.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance; reliability",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Reliability, availability, and
                 serviceability. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications. {\bf
                 C.3} Computer Systems Organization, SPECIAL-PURPOSE AND
                 APPLICATION-BASED SYSTEMS, Real-time and embedded
                 systems.",
}

@Article{Hsu:1992:ESN,
  author =       "William Tsun-Yuk Hsu and Pen-Chung Yew",
  title =        "An Effective Synchronization Network for Hot-Spot
                 Accesses",
  journal =      j-TOCS,
  volume =       "10",
  number =       "3",
  pages =        "167--189",
  month =        aug,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-3/p167-hsu/",
  abstract =     "In large multiprocessor systems, fast synchronization
                 is crucial for high performance. However,
                 synchronization traffic tends to create ``hot-spots''
                 in shared memory and cause network congestion.
                 Multistage shuffle-exchange networks have been proposed
                 and built to handle synchronization traffic. Software
                 combining schemes have also been proposed to relieve
                 network congestion caused by hot-spots. However,
                 multistage combining networks could be very expensive
                 and software combining could be very slow. In this
                 paper, we propose a single-stage combining network to
                 handle synchronization traffic, which is separated from
                 the regular memory traffic. A single-stage combining
                 network has several advantages: (1) it is attractive
                 from an implementation perspective because only one
                 stage is needed(instead of log {\em N\/} stages); (2)
                 Only one network is needed to handle both forward and
                 returning requests; (3) combined requests are
                 distributed evenly through the network---the wait
                 buffer size is reduced; and (4) fast-finishing
                 algorithms [30] can be used to shorten the network
                 delay. Because of all these advantages, we show that a
                 single-stage combining network gives good performance
                 at a lower cost than a multistage combining network.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Synchronization. {\bf C.1.2} Computer
                 Systems Organization, PROCESSOR ARCHITECTURES, Multiple
                 Data Stream Architectures (Multiprocessors),
                 Interconnection architectures. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems.",
}

@Article{Atkins:1992:ACC,
  author =       "M. S. Atkins and M. Y. Coady",
  title =        "Adaptable Concurrency Control for Atomic Data Types",
  journal =      j-TOCS,
  volume =       "10",
  number =       "3",
  pages =        "190--225",
  month =        aug,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-3/p190-atkins/",
  abstract =     "In many distributed systems concurrent access is
                 required to a shared object, where abstract object
                 servers may incorporate type-specific properties to
                 define consistency requirements. Each operation and its
                 outcome is treated as an event, and conflicts may occur
                 between different event types. Hence concurrency
                 control and synchronization are required at the
                 granularity of conflicting event types. With such a
                 fine granularity of locking, the occurrence of
                 conflicts is likely to be lower than with whole-object
                 locking, so optimistic techniques become more
                 attractive. This work describes the design,
                 implementation, and performance of servers for a shared
                 atomic object, a semiqueue, where each server employs
                 either pessimistic or optimistic locking techniques on
                 each conflicting event type. We compare the performance
                 of a purely optimistic server, a purely pessimistic
                 server, and a hybrid server which treats certain event
                 types optimistically and others pessimistically, to
                 demonstrate the most appropriate environment for using
                 pessimistic, optimistic, or hybrid control. We show
                 that the advantages of low overhead on optimistic
                 locking at low conflict levels is offset at higher
                 conflict levels by the wasted work done by aborted
                 transactions. To achieve optimum performance over the
                 whole range of conflict levels, an adaptable server is
                 required, whereby the treatment of conflicting event
                 types can be changed dynamically between optimistic and
                 pessimistic, according to various criteria depending on
                 the expected frequency of conflict. We describe our
                 implementations of adaptable servers which may allocate
                 concurrency control strategy on the basis of state
                 information, the history of conflicts encountered, or
                 by using preset transaction priorities. We show that
                 the adaptable servers perform almost as well as the
                 best of the purely optimistic, pessimistic, or hybrid
                 servers under the whole range of conflict levels,
                 showing the versatility and efficiency of the dynamic
                 servers. Finally we outline a general design
                 methodology for implementing adaptable concurrency
                 control in servers for atomic objects, illustrated
                 using an atomic shared B-tree.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Concurrency. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming,
                 Distributed programming. {\bf D.3.3} Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features, Abstract data types. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Concurrency.
                 {\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Deadlocks. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Mutual exclusion. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Synchronization. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Simulation.
                 {\bf H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems, Concurrency. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, Transaction processing.",
}

@Article{Glasgow:1992:LRA,
  author =       "Janice Glasgow and Glenn Macewen and Prakash
                 Panangaden",
  title =        "A Logic for Reasoning about Security",
  journal =      j-TOCS,
  volume =       "10",
  number =       "3",
  pages =        "226--264",
  month =        aug,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-3/p226-glasgow/",
  abstract =     "A formal framework called {\em Security Logic\/} ({\em
                 SL\/}) is developed for specifying and reasoning about
                 security policies and for verifying that system designs
                 adhere to such policies. Included in this modal logic
                 framework are definitions of {\em knowledge}, {\em
                 permission}, and {\em obligation}. Permission is used
                 to specify secrecy policies and obligation to specify
                 integrity policies. The combination of policies is
                 addressed and examples based on policies from the
                 current literature are given.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "security; theory",
  subject =      "{\bf F.4.1} Theory of Computation, MATHEMATICAL LOGIC
                 AND FORMAL LANGUAGES, Mathematical Logic. {\bf H.2.0}
                 Information Systems, DATABASE MANAGEMENT, General. {\bf
                 K.6.5} Computing Milieux, MANAGEMENT OF COMPUTING AND
                 INFORMATION SYSTEMS, Security and Protection. {\bf
                 D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection.",
}

@Article{Lampson:1992:ADS,
  author =       "Butler Lampson and Mart{\'\i}n Abadi and Michael
                 Burrows and Edward Wobber",
  title =        "Authentication in Distributed Systems: Theory and
                 Practice",
  journal =      j-TOCS,
  volume =       "10",
  number =       "4",
  pages =        "265--310",
  month =        nov,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-4/p265-lampson/",
  abstract =     "We describe a theory of authentication and a system
                 that implements it. Our theory is based on the notion
                 of principal and a ``speaks for'' relation between
                 principals. A simple principal either has a name or is
                 a communication channel; a compound principal can
                 express an adopted role or delegated authority. The
                 theory shows how to reason about a principal's
                 authority by deducing the other principals that it can
                 speak for; authenticating a channel is one important
                 application. We use the theory to explain many existing
                 and proposed security mechanisms. In particular, we
                 describe the system we have built. It passes principals
                 efficiently as arguments or results of remote procedure
                 calls, and it handles public and shared key encryption,
                 name lookup in a large name space, groups of
                 principals, program loading, delegation, access
                 control, and revocation.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "security; theory; verification",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Authentication. {\bf D.4.6} Software,
                 OPERATING SYSTEMS, Security and Protection, Access
                 controls. {\bf D.4.6} Software, OPERATING SYSTEMS,
                 Security and Protection, Cryptographic controls. {\bf
                 C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf E.3} Data, DATA ENCRYPTION. {\bf K.6.5} Computing
                 Milieux, MANAGEMENT OF COMPUTING AND INFORMATION
                 SYSTEMS, Security and Protection, Authentication.",
}

@Article{Anderson:1992:FSC,
  author =       "David P. Anderson and Yoshitomo Osawa and Ramesh
                 Govindan",
  title =        "A File System for Continuous Media",
  journal =      j-TOCS,
  volume =       "10",
  number =       "4",
  pages =        "311--337",
  month =        nov,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-4/p311-anderson/",
  abstract =     "The Continuous Media File System, CMFS, supports
                 real-time storage and retrieval of continuous media
                 data (digital audio and video) on disk. CMFS clients
                 read or write files in ``sessions,'' each with a
                 guaranteed minimum data rate. Multiple sessions,
                 perhaps with different rates, and non-real-time access
                 can proceed concurrently. CMFS addresses several
                 interrelated design issues; real-time semantics for
                 sessions, disk layout, an acceptance test for new
                 sessions, and disk scheduling policy. We use simulation
                 to compare different design choices.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, File organization. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management, Access
                 methods. {\bf D.4.7} Software, OPERATING SYSTEMS,
                 Organization and Design, Real-time systems and embedded
                 systems. {\bf H.5.1} Information Systems, INFORMATION
                 INTERFACES AND PRESENTATION, Multimedia Information
                 Systems.",
}

@Article{Kessler:1992:PPA,
  author =       "R. E. Kessler and Mark D. Hill",
  title =        "Page Placement Algorithms for Large Real-Indexed
                 Caches",
  journal =      j-TOCS,
  volume =       "10",
  number =       "4",
  pages =        "338--359",
  month =        nov,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-4/p338-kessler/",
  abstract =     "When a computer system supports both paged virtual
                 memory and large real-indexed caches, cache performance
                 depends in part on the main memory page placement. To
                 date, most operating systems place pages by selecting
                 an arbitrary page frame from a pool of page frames that
                 have been made available by the page replacement
                 algorithm. We give a simple model that shows that this
                 naive (arbitrary) page placement leads to up to 30\%
                 unnecessary cache conflicts. We develop several page
                 placement algorithms, called {\em careful-mapping
                 algorithms}, that try to select a page frame (from the
                 pool of available page frames) that is likely to reduce
                 cache contention. Using trace-driven simulation, we
                 find that careful mapping results in 10-20\% fewer
                 (dynamic) cache misses than naive mapping (for a
                 direct-mapped real-indexed multimegabyte cache). Thus,
                 our results suggest that careful mapping by the
                 operating system can get about half the cache miss
                 reduction that a cache size (or associativity) doubling
                 can.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; measurement; performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Allocation/deallocation strategies. {\bf
                 B.3.2} Hardware, MEMORY STRUCTURES, Design Styles,
                 Cache memories. {\bf B.3.2} Hardware, MEMORY
                 STRUCTURES, Design Styles, Virtual memory. {\bf B.3.3}
                 Hardware, MEMORY STRUCTURES, Performance Analysis and
                 Design Aids**, Simulation**. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management. {\bf
                 E.2} Data, DATA STORAGE REPRESENTATIONS. {\bf D.4.2}
                 Software, OPERATING SYSTEMS, Storage Management, Main
                 memory.",
}

@Article{Ladin:1992:PHA,
  author =       "Rivka Ladin and Barbara Liskov and Liuba Shrira and
                 Sanjay Ghemawat",
  title =        "Providing High Availability Using Lazy Replication",
  journal =      j-TOCS,
  volume =       "10",
  number =       "4",
  pages =        "360--391",
  month =        nov,
  year =         "1992",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1992-10-4/p360-ladin/",
  abstract =     "To provide high availability for services such as mail
                 or bulletin boards, data must be replicated. One way to
                 guarantee consistency of replicated data is to force
                 service operations to occur in the same order at all
                 sites, but this approach is expensive. For some
                 applications a weaker causal operation order can
                 preserve consistency while providing better
                 performance. This paper describes a new way of
                 implementing causal operations. Our technique also
                 supports two other kinds of operations: operations that
                 are totally ordered with respect to one another and
                 operations that are totally ordered with respect to all
                 other operations. The method performs well in terms of
                 response time, operation-processing capacity, amount of
                 stored state, and number and size of messages; it does
                 better than replication methods based on reliable
                 multicast techniques.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; performance; reliability",
  subject =      "{\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Distributed systems. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications. {\bf
                 C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed databases. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Reliability,
                 availability, and serviceability. {\bf D.4.5} Software,
                 OPERATING SYSTEMS, Reliability, Fault-tolerance. {\bf
                 H.2.2} Information Systems, DATABASE MANAGEMENT,
                 Physical Design, Recovery and restart. {\bf H.2.4}
                 Information Systems, DATABASE MANAGEMENT, Systems,
                 Concurrency. {\bf H.2.4} Information Systems, DATABASE
                 MANAGEMENT, Systems, Distributed databases.",
}

@Article{Eager:1993:CER,
  author =       "Derek L. Eager and John Jahorjan",
  title =        "Chores: Enhanced Run-Time Support for Shared-Memory
                 Parallel Computing",
  journal =      j-TOCS,
  volume =       "11",
  number =       "1",
  pages =        "1--32",
  month =        feb,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-1/p1-eager/",
  abstract =     "Parallel computing is increasingly important in the
                 solution of large-scale numerical problems. The
                 difficulty of efficiently hand-coding parallelism, and
                 the limitations of parallelizing compilers, have
                 nonetheless restricted its use by scientific
                 programmers. In this paper we propose a new paradigm,
                 {\em chores}, for the run-time support of parallel
                 computing on shared-memory multiprocessors. We consider
                 specifically uniform memory access shared-memory
                 environments, although the chore paradigm should also
                 be appropriate for use within the clusters of a
                 large-scale nonuniform memory access machine. We argue
                 that chore systems attain both the high efficiency of
                 compiler approaches for the common case of data
                 parallelism, and the flexibility and performance of
                 user-level thread approaches for functional
                 parallelism. These benefits are achieved within a
                 single, simple conceptual model that almost entirely
                 relieves the programmer and compiler from concerns of
                 granularity, scheduling, and enforcement of
                 synchronization constraints. Measurements of a
                 prototype implementation demonstrate that the chore
                 model can be supported more efficiently than can
                 traditional approaches to either data or functional
                 parallelism alone.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management. {\bf D.4.9} Software, OPERATING SYSTEMS,
                 Systems Programs and Utilities. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems. {\bf C.3} Computer Systems Organization,
                 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS. {\bf
                 C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS.",
}

@Article{Gheith:1993:CKS,
  author =       "Ahmed Gheith and Karsten Schwan",
  title =        "{CHAOS$^{\rm arc}$}: Kernel Support for Multiweight
                 Objects, Invocations, and Atomicity in Real-Time
                 Multiprocessor Applications",
  journal =      j-TOCS,
  volume =       "11",
  number =       "1",
  pages =        "33--72",
  month =        feb,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-1/p33-gheith/",
  abstract =     "CHAOSarc is an object-based multiprocessor operating
                 system kernel that provides primitives with which
                 programmers may easily construct objects of differing
                 types and object invocations of differing semantics,
                 targeting multiprocessor systems, and real-time
                 applications. The CHAOSarc can {\em guarantee\/}
                 desired performance and functionality levels of
                 selected computations in real-time applications. Such
                 guarantees can be made despite possible uncertainty in
                 execution environments by allowing programs to {\em
                 adapt\/} in performance and functionality to varying
                 operating conditions. This paper reviews the primitives
                 offered by CHAOSarc and demonstrates how the required
                 elements of the CHAOSarc real-time kernel are
                 constructed with those primitives.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance",
  subject =      "{\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Real-time systems and embedded systems.
                 {\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management. {\bf J.7} Computer Applications, COMPUTERS
                 IN OTHER SYSTEMS, Real time. {\bf D.3.3} Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features, Concurrent programming structures. {\bf C.3}
                 Computer Systems Organization, SPECIAL-PURPOSE AND
                 APPLICATION-BASED SYSTEMS, Real-time and embedded
                 systems. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements.",
}

@Article{Kaashoek:1993:FIP,
  author =       "M. Frans Kaashoek and Robbert van Renesse and Hans van
                 Staveren and Andrew S. Tanenbaum",
  title =        "{FLIP}: An Internetwork Protocol for Supporting
                 Distributed Systems",
  journal =      j-TOCS,
  volume =       "11",
  number =       "1",
  pages =        "73--106",
  month =        feb,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-1/p73-kaashoek/",
  abstract =     "Most modern network protocols give adequate support
                 for traditional applications such as file transfer and
                 remote login. Distributed applications, however, have
                 different requirements (e.g., efficient at-most-once
                 remote procedure call even in the face of processor
                 failures). Instead of using ad hoc protocols to meet
                 each of the new requirements, we have designed a new
                 protocol, called the Fast Local Internet Protocol
                 (FLIP), that provides a clean and simple integrated
                 approach to these new requirements. FLIP is an
                 unreliable message protocol that provides both
                 point-to-point communication and multicast
                 communication, and requires almost no network
                 management. Furthermore, by using FLIP we have
                 simplified higher-level protocols such as remote
                 procedure call and group communication, and enhanced
                 support for process migration and security. A prototype
                 implementation of FLIP has been built as part of the
                 new kernel for the Amoeba distributed operating system,
                 and is in daily use. Measurements of its performance
                 are presented.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; management; measurement; performance",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols.
                 {\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Distributed systems. {\bf D.4.0} Software,
                 OPERATING SYSTEMS, General, Amoeba. {\bf D.4.4}
                 Software, OPERATING SYSTEMS, Communications
                 Management.",
}

@Article{Gopalakrishnan:1993:DVR,
  author =       "Ganesh Gopalakrishnan and Richard Fujimoto",
  title =        "Design and Verification of the {Rollback Chip} using
                 {HOP}: a Case Study of Formal Methods Applied to
                 Hardware Design",
  journal =      j-TOCS,
  volume =       "11",
  number =       "2",
  pages =        "109--145",
  month =        may,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-2/p109-gopalakrishnan/",
  abstract =     "The use of formal methods in hardware design improves
                 the quality of designs in many ways: it promotes better
                 understanding of the design; it permits systematic
                 design refinement through the discovery of invariants;
                 and it allows design verification (informal or formal).
                 In this paper we illustrate the use of formal methods
                 in the design of a custom hardware system called the
                 ``Rollback Chip'' (RBC), conducted using a simple
                 hardware design description language called ``HOP''. An
                 informal specification of the requirements of the RBC
                 is first given, followed by a {\em behavioral
                 description\/} of the RBC stating its {\em desired
                 behavior}. The behavioral description is refined into
                 progressively more efficient designs, terminating in a
                 {\em structural description}. Key refinement steps are
                 based on system invariants that are discovered during
                 the design, and proved correct during design
                 verification. The first step in design verification is
                 to apply a program called PARCOMP to {\em derive\/} a
                 behavioral description from the structural description
                 of the RBC. The derived behavior is then compared
                 against the desired behavior using equational
                 verification techniques. This work demonstrates that
                 formal methods can be fruitfully applied to a
                 nontrivial hardware design. It also illustrates the
                 particular advantages of our approach based on HOP and
                 PARCOMP. Last, but not the least, it formally verifies
                 the RBC mechanism itself.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; languages; theory; verification",
  subject =      "{\bf B.7.2} Hardware, INTEGRATED CIRCUITS, Design
                 Aids, Verification. {\bf B.6.3} Hardware, LOGIC DESIGN,
                 Design Aids, Hardware description languages. {\bf
                 B.7.1} Hardware, INTEGRATED CIRCUITS, Types and Design
                 Styles. {\bf B.7.2} Hardware, INTEGRATED CIRCUITS,
                 Design Aids, Simulation.",
}

@Article{McCann:1993:DPA,
  author =       "Cathy McCann and Raj Vaswani and John Zahorjan",
  title =        "A Dynamic Processor Allocation Policy for
                 Multiprogrammed Shared-Memory Multiprocessors",
  journal =      j-TOCS,
  volume =       "11",
  number =       "2",
  pages =        "146--178",
  month =        may,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-2/p146-mccann/",
  abstract =     "We propose and evaluate empirically the performance of
                 a dynamic processor-scheduling policy for
                 multiprogrammed shared-memory multiprocessors. The
                 policy is dynamic in that it reallocates processors
                 from one parallel job to another based on the currently
                 realized parallelism of those jobs. The policy is
                 suitable for implementation in production systems in
                 that: ---It interacts well with very efficient
                 user-level thread packages, leaving to them many
                 low-level thread operations that do not require kernel
                 intervention. ---It deals with thread blocking due to
                 user I/O and page faults. ---It ensures fairness in
                 delivering resources to jobs. ---Its performance,
                 measured in terms of average job response time, is
                 superior to that of previously proposed schedulers,
                 including those implemented in existing systems. It
                 provides good performance to very short, sequential
                 (e.g., interactive) requests. We have evaluated our
                 scheduler and compared it to alternatives using a set
                 of prototype implementations running on a Sequent
                 Symmetry multiprocessor. Using a number of parallel
                 applications with distinct qualitative behaviors, we
                 have both evaluated the policies according to the major
                 criterion of overall performance and examined a number
                 of more general policy issues, including the advantage
                 of ``space sharing'' over ``time sharing'' the
                 processors of a multiprocessor, and the importance of
                 cooperation between the kernel and the application in
                 reallocating processors between jobs. We have also
                 compared the policies according to other criteia
                 important in real implementations, in particular,
                 fairness and respone time to short, sequential
                 requests. We conclude that a combination of performance
                 and implementation considerations makes a compelling
                 case for our dynamic scheduling policy.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Scheduling. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 C.1.2} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Multiple Data Stream Architectures
                 (Multiprocessors).",
}

@Article{Thekkath:1993:LLL,
  author =       "Chandramohan A. Thekkath and Henry M. Levy",
  title =        "Limits to Low-Latency Communication on High-Speed
                 Networks",
  journal =      j-TOCS,
  volume =       "11",
  number =       "2",
  pages =        "179--203",
  month =        may,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-2/p179-thekkath/",
  abstract =     "The throughput of local area networks is rapidly
                 increasing. For example, the bandwidth of new ATM
                 networks and FDDI token rings is an order of magnitude
                 greater than that of Ethernets. Other network
                 technologies promise a bandwidth increase of yet
                 another order of magnitude in several years. However,
                 in distributed systems, lowered latency rather than
                 increased throughput is often of primary concern. This
                 paper examines the system-level effects of newer
                 high-speed network technologies on low-latency,
                 cross-machine communications. To evaluate a number of
                 influences, both hardware and software, we designed and
                 implemented a new remote procedure call system targeted
                 at providing low latency. We then ported this system to
                 several hardware platforms (DECstation and
                 SPARCstation) with several different networks and
                 controllers (ATM, FDDI, and Ethernet). Comparing these
                 systems allows us to explore the performance impact of
                 alternative designs in the communication system with
                 respect to achieving low latency, e.g., the network,
                 the network controller, the hose architecture and cache
                 system, and the kernel and user-level runtime software.
                 Our RPC system, which achieves substantially reduced
                 call times (170 [mu]seconds on an ATM network using
                 DECstation 5000/200 hosts), allows us to isolate those
                 components of next-generation networks and controllers
                 that still stand in the way of low-latency
                 communication. We demonstrate that new-generation
                 processor technology and software design can reduce
                 small-packet RPC times to near network-imposed limits,
                 making network and controller design more crucial than
                 ever to achieving truly low-latency communication.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Network communication. {\bf
                 D.4.4} Software, OPERATING SYSTEMS, Communications
                 Management, Message sending. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems. {\bf B.4.2} Hardware, INPUT/OUTPUT AND DATA
                 COMMUNICATIONS, Input/Output Devices, Channels and
                 controllers. {\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf C.2.1} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Architecture and Design. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications. {\bf
                 C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems.",
}

@Article{Ammann:1993:DTG,
  author =       "Paul Ammann and Sushil Jajodia",
  title =        "Distributed Timestamp Generation in Planar Lattice
                 Networks",
  journal =      j-TOCS,
  volume =       "11",
  number =       "3",
  pages =        "205--225",
  month =        aug,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-3/p205-ammann/",
  abstract =     "Timestamps are considered for distributed environments
                 in which information flow is restricted to one
                 direction through a planar lattice imposed on a
                 network. For applications in such networks, existing
                 timestamping algorithms require extension and
                 modification. For example, in secure environments,
                 typical timestamps provide a potential signaling
                 channel between incomparable levels. In hierarchical
                 databases, typical timestamps cause peripheral sites to
                 unnecessarily affect the behavior at main sites.
                 Algorithms are presented by which a network node may
                 generate and compare timestamps using timestamp
                 components maintained at dominated nodes in the
                 network. The comparison relation is shown to be acyclic
                 for timestamps produced by the generation algorithm. We
                 discuss ways to safely relax the requirement that the
                 network be a lattice. By example, we show how to modify
                 a simple nonplanar lattice so that the generation
                 algorithm can be applied. Uses of the timestamp
                 generation algorithm in the motivating applications are
                 outlined.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; security",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed applications. {\bf C.2.0} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, General,
                 Security and protection (e.g., firewalls). {\bf G.2.m}
                 Mathematics of Computing, DISCRETE MATHEMATICS,
                 Miscellaneous. {\bf D.4.6} Software, OPERATING SYSTEMS,
                 Security and Protection, Information flow controls.
                 {\bf H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems, Concurrency. {\bf H.2.4} Information Systems,
                 DATABASE MANAGEMENT, Systems, Distributed databases.",
}

@Article{Anderson:1993:MCM,
  author =       "David P. Anderson",
  title =        "Metascheduling for Continuous Media",
  journal =      j-TOCS,
  volume =       "11",
  number =       "3",
  pages =        "226--252",
  month =        aug,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-3/p226-anderson/",
  abstract =     "Next-generation distributed systems will support {\em
                 continuous media\/} (digital audio and video) in the
                 same framework as other data. Many applications that
                 use continuous media need guaranteed end-to-end
                 performance (bounds on throughput and delay). To
                 reliably support these requirements, system components
                 such as CPU schedulers, networks, and file systems must
                 offer performance guarantees. A {\em metascheduler\/}
                 coordinates these components, negotiating end-to-end
                 guarantees on behalf of clients. The {\em CM-resource
                 model}, described in this paper, provides a basis for
                 such a metascheduler. It defines a workload
                 parameterization, an abstract interface to resources,
                 and an algorithm for reserving multiple resources. The
                 model uses an economic approach to dividing end-to-end
                 delay, and it allows system components to ``work
                 ahead,'' improving the performance of nonreal-time
                 workload.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; economics; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Scheduling. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications. {\bf
                 C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Performance attributes. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management,
                 Buffering. {\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Network communication. {\bf
                 D.4.7} Software, OPERATING SYSTEMS, Organization and
                 Design, Real-time systems and embedded systems. {\bf
                 H.5.1} Information Systems, INFORMATION INTERFACES AND
                 PRESENTATION, Multimedia Information Systems, Audio
                 input/output. {\bf H.5.1} Information Systems,
                 INFORMATION INTERFACES AND PRESENTATION, Multimedia
                 Information Systems, Video (e.g., tape, disk, DVI).",
}

@Article{Lim:1993:WAS,
  author =       "Beng-Hong Lim and Anant Agarwal",
  title =        "Waiting Algorithms for Synchronization in Large-Scale
                 Multiprocessors",
  journal =      j-TOCS,
  volume =       "11",
  number =       "3",
  pages =        "253--294",
  month =        aug,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-3/p253-lim/",
  abstract =     "Through analysis and experiments, this paper
                 investigates two-phase waiting algorithms to minimize
                 the cost of waiting for synchronization in large-scale
                 multiprocessors. In a two-phase algorithm, a thread
                 first waits by polling a synchronization variable. If
                 the cost of polling reaches a limit {\em Lpoll\/} and
                 further waiting is necessary, the thread is blocked,
                 incurring an additional fixed cost, {\em B}. The choice
                 of {\em Lpoll\/} is a critical determinant of the
                 performance of two-phase algorithms. We focus on
                 methods for statically determining {\em Lpoll\/}
                 because the run-time overhead of dynamically
                 determining {\em Lpoll\/} can be comparable to the cost
                 of blocking in large-scale multiprocessor systems with
                 lightweight threads. Our experiments show that {\em
                 always-block\/} ({\em Lpoll\/} = 0) is a good waiting
                 algorithm with performance that is usually close to the
                 best of the algorithms compared. We show that even
                 better performance can be achieved with a static choice
                 of {\em Lpoll\/} based on knowledge of likely wait-time
                 distributions. Motivated by the observation that
                 different synchronization types exhibit different
                 wait-time distributions, we prove that a static choice
                 of {\em Lpoll\/} can yield close to optimal on-line
                 performance against an adversary that is restricted to
                 choosing wait times from a fixed family of probability
                 distributions. This result allows us to make an optimal
                 static choice of {\em Lpoll\/} based on synchronization
                 type. For exponentially distributed wait times, we
                 prove that setting {\em Lpoll\/} = 1n(e-1){\em B\/}
                 results in a waiting cost that is no more than {\em
                 e/(e-1)\/} times the cost of an optimal off-line
                 algorithm. For uniformly distributed wait times, we
                 prove that setting {\em L\/}poll=1/2(square root of 5
                 -1){\em B\/} results in a waiting cost that is no more
                 than (square root of 5 + 1)/2 (the golden ratio) times
                 the cost of an optimal off-line algorithm. Experimental
                 measurements of several parallel applications on the
                 Alewife multiprocessor simulator corroborate our
                 theoretical findings.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; experimentation; performance; theory",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Synchronization. {\bf D.4.1} Software,
                 OPERATING SYSTEMS, Process Management, Mutual
                 exclusion. {\bf C.4} Computer Systems Organization,
                 PERFORMANCE OF SYSTEMS. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors), Parallel
                 processors**. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Stochastic analysis.",
}

@Article{Hill:1993:CSM,
  author =       "Mark D. Hill and James R. Larus and Steven K.
                 Reinhardt and David A. Wood",
  title =        "Cooperative Shared Memory: Software and Hardware for
                 Scalable Multiprocessors",
  journal =      j-TOCS,
  volume =       "11",
  number =       "4",
  pages =        "300--318",
  month =        nov,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-4/p300-hill/",
  abstract =     "We believe the paucity of massively parallel,
                 shared-memory machines follows from the lack of a
                 shared-memory programming performance model that can
                 inform programmers of the cost of operations (so they
                 can avoid expensive ones) and can tell hardware
                 designers which cases are common (so they can build
                 simple hardware to optimize them). Cooperative shared
                 memory, our approach to shared-memory design, addresses
                 this problem. Our initial implementation of cooperative
                 shared memory uses a simple programming model, called
                 Check-In/Check-Out (CICO), in conjunction with even
                 simpler hardware, called Dir1SW. In CICO, programs
                 bracket uses of shared data with a check\_in directive
                 terminating the expected use of the data. A cooperative
                 prefetch directive helps hide communication latency.
                 Dir1SW is a minimal directory protocol that adds little
                 complexity to message-passing hardware, but efficiently
                 supports programs written within the CICO model.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Shared memory. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Simulation**. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors). {\bf C.1.2}
                 Computer Systems Organization, PROCESSOR ARCHITECTURES,
                 Multiple Data Stream Architectures (Multiprocessors),
                 Parallel processors**. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Design studies.
                 {\bf C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS, Modeling techniques. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming,
                 Parallel programming.",
}

@Article{Anderson:1993:HSS,
  author =       "Thomas E. Anderson and Susan S. Owicki and James B.
                 Saxe and Charles P. Thacker",
  title =        "High-speed Switch Scheduling for Local-Area Networks",
  journal =      j-TOCS,
  volume =       "11",
  number =       "4",
  pages =        "319--352",
  month =        nov,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-4/p319-anderson/",
  abstract =     "Current technology trends make it possible to build
                 communication networks that can support
                 high-performance distributed computing. This paper
                 describes issues in the design of a prototype switch
                 for an arbitrary topology point-to-point network with
                 link speeds of up to 1 Gbit/s. The switch deals in
                 fixed-length ATM-style cells, which it can process at a
                 rate of 37 million cells per second. It provides high
                 bandwidth and low latency for datagram traffic. In
                 addition, it supports real-time traffic by providing
                 bandwidth reservations with guaranteed latency bounds.
                 The key to the switch's operation is a technique called
                 {\em parallel iterative matching}, which can quickly
                 identify a set of conflict-free cells for transmission
                 in a time slot. Bandwidth reservations are accommodated
                 in the switch by building a fixed schedule for
                 transporting cells from reserved flows across the
                 switch; parallel iterative matching can fill unused
                 slots with datagram traffic. Finally, we note that
                 parallel iterative matching may not allocate bandwidth
                 fairly among flows of datagram traffic. We describe a
                 technique called {\em statistical matching}, which can
                 be used to ensure fairness at the switch and to support
                 applications with rapidly changing needs for guaranteed
                 bandwidth.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; experimentation; performance",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.2.5}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Local and Wide-Area Networks, Access schemes.
                 {\bf G.2.2} Mathematics of Computing, DISCRETE
                 MATHEMATICS, Graph Theory, Graph algorithms.",
}

@Article{Li:1993:ANL,
  author =       "Wei Li and Keshav Pingali",
  title =        "Access Normalization: Loop Restructuring for {NUMA}
                 Computers",
  journal =      j-TOCS,
  volume =       "11",
  number =       "4",
  pages =        "353--375",
  month =        nov,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-4/p353-li/",
  abstract =     "In scalable parallel machines, processors can make
                 local memory accesses much faster than they can make
                 remote memory accesses. Additionally, when a number of
                 remote accesses must be made, it is usually more
                 efficient to use block transfers of data rather than to
                 use many small messages. To run well on such machines,
                 software must exploit these features. We believe it is
                 too onerous for a programmer to do this by hand, so we
                 have been exploring the use of restructuring compiler
                 technology for this purpose. In this article, we start
                 with a language like HPF-Fortran with user-specified
                 data distribution and develop a systematic loop
                 transformation strategy called {\em access
                 normalization\/} that restructures loop nests to
                 exploit locality and block transfers. We demonstrate
                 the power of our techniques using routines from the
                 BLAS (Basic Linear Algebra Subprograms) library. An
                 important feature of our approach is that we model loop
                 transformation using {\em invertible\/} matrices and
                 integer lattice theory.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; experimentation; languages; performance",
  subject =      "{\bf C.1.2} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Multiple Data Stream Architectures
                 (Multiprocessors), Multiple-instruction-stream,
                 multiple-data-stream processors (MIMD). {\bf D.1.3}
                 Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming, Parallel programming. {\bf D.3.4}
                 Software, PROGRAMMING LANGUAGES, Processors, Compilers.
                 {\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Optimization. {\bf D.3.4} Software,
                 PROGRAMMING LANGUAGES, Processors, Code generation.",
}

@Article{Mahlke:1993:SSM,
  author =       "Scott A. Mahlke and William Y. Chen and Roger A.
                 Bringmann and Richard E. Hank and Wen-Mei W. Hwu and B.
                 Ramakrishna Rau and Michael S. Schlansker",
  title =        "Sentinel Scheduling: a Model for Compiler-Controlled
                 Speculative Execution",
  journal =      j-TOCS,
  volume =       "11",
  number =       "4",
  pages =        "376--408",
  month =        nov,
  year =         "1993",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1993-11-4/p376-mahlke/",
  abstract =     "Speculative execution is an important source of
                 parallelism for VLIW and superscalar processors. A
                 serious challenge with compiler-controlled speculative
                 execution is to efficiently handle exceptions for
                 speculative instructions. In this article, a set of
                 architectural features and compile-time scheduling
                 support collectively referred to as {\em sentinel
                 scheduling\/} is introduced. Sentinel scheduling
                 provides an effective framework for both
                 compiler-controlled speculative execution and exception
                 handling. All program exceptions are accurately
                 detected and reported in a timely manner with sentinel
                 scheduling. Recovery from exceptions is also ensured
                 with the model. Experimental results show the
                 effectiveness of sentinel scheduling for exploiting
                 instruction-level parallelism and overhead associated
                 with exception handling.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Associative memories. {\bf C.0} Computer
                 Systems Organization, GENERAL, Hardware/software
                 interfaces. {\bf C.0} Computer Systems Organization,
                 GENERAL, Instruction set design. {\bf C.0} Computer
                 Systems Organization, GENERAL, System architectures.
                 {\bf C.1.1} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Single Data Stream Architectures,
                 Pipeline processors**. {\bf D.2.5} Software, SOFTWARE
                 ENGINEERING, Testing and Debugging, Error handling and
                 recovery. {\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Code generation. {\bf D.3.4} Software,
                 PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
                 D.3.4} Software, PROGRAMMING LANGUAGES, Processors,
                 Optimization.",
}

@Article{Wobber:1994:ATO,
  author =       "Edward Wobber and Mart{\'\i}n Abadi and Michael
                 Burrows and Butler Lampson",
  title =        "Authentication in the {Taos} Operating System",
  journal =      j-TOCS,
  volume =       "12",
  number =       "1",
  pages =        "3--32",
  month =        feb,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-1/p3-wobber/",
  abstract =     "We describe a design for security in a distributed
                 system and its implementation. In our design,
                 applications gain access to security services through a
                 narrow interface. This interface provides a notion of
                 identity that includes simple principals, groups,
                 roles, and delegations. A new operating system
                 component manages principals, credentials, and secure
                 channels. It checks credentials according to the formal
                 rules of a logic of authentication. Our implementation
                 is efficient enough to support a substantial user
                 community.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; security; theory",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Authentication. {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf D.4.6} Software, OPERATING
                 SYSTEMS, Security and Protection, Access controls.",
}

@Article{Satyanarayanan:1994:LRV,
  author =       "M. Satyanarayanan and Henry H. Mashburn and Puneet
                 Kumar and David C. Steere and James J. Kistler",
  title =        "Lightweight Recoverable Virtual Memory",
  journal =      j-TOCS,
  volume =       "12",
  number =       "1",
  pages =        "33--57",
  month =        feb,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-1/p33-satyanarayanan/",
  abstract =     "{\em Recoverable virtual memory\/}refers to regions of
                 a virtual address space on which transactional
                 guarantees are offered. This article describes RVM, an
                 efficient, portable, and easily used implementation of
                 recoverable virtual memory for Unix environments. A
                 unique characteristic of RVM is that it allows
                 independent control over the transactional properties
                 of atomicity, permanence, and serializability. This
                 leads to considerable flexibility in the use of RVM,
                 potentially enlarging the range of applications that
                 can benefit from transactions. It also simplifies the
                 layering of functionality such as nesting and
                 distribution. The article shows that RVM performs well
                 over its intended range of usage even though it does
                 not benefit from specialized operating system support.
                 It also demonstrates the importance of intra- and
                 inter-transaction optimizations.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance;
                 reliability",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Virtual memory. {\bf D.4.5} Software,
                 OPERATING SYSTEMS, Reliability, Fault-tolerance. {\bf
                 D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Measurements. {\bf H.2.2} Information Systems, DATABASE
                 MANAGEMENT, Physical Design, Recovery and restart. {\bf
                 H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems, Transaction processing.",
}

@Article{Heidemann:1994:FSD,
  author =       "John S. Heidemann and Gerald J. Popek",
  title =        "File-system Development with Stackable Layers",
  journal =      j-TOCS,
  volume =       "12",
  number =       "1",
  pages =        "58--89",
  month =        feb,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-1/p58-heidemann/",
  abstract =     "Filing services have experienced a number of
                 innovations in recent years, but many of these
                 promising ideas have failed to enter into broad use.
                 One reason is that current filing environments present
                 several barriers to new development. For example, file
                 systems today typically stand alone instead of building
                 on the work of others, and support of new filing
                 services often requires changes that invalidate
                 existing work. Stackable file-system design addresses
                 these issues in several ways. Complex filing services
                 are constructed from layer ``building blocks,'' each of
                 which may be provided by independent parties. There are
                 no syntactic constraints to layer order, and layers can
                 occupy different address spaces, allowing very flexible
                 layer configuration. Independent layer evolution and
                 development are supported by an extensible interface
                 bounding each layer. This paper discusses stackable
                 layering in detail and presents design techniques it
                 enables. We describe an implementation providing these
                 facilities that exhibits very high performance. By
                 lowering barriers to new filing design, stackable
                 layering offers the potential of broad third-party
                 file-system development not feasible today.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Maintenance**. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design,
                 Hierarchical design**. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements.",
}

@Article{Attiya:1994:SCV,
  author =       "Hagit Attiya and Jennifer L. Welch",
  title =        "Sequential Consistency versus Linearizability",
  journal =      j-TOCS,
  volume =       "12",
  number =       "2",
  pages =        "91--122",
  month =        may,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-2/p91-attiya/",
  abstract =     "The power of two well-known consistency conditions for
                 shared-memory multiprocessors, {\em sequential
                 consistency\/} and {\em linearizability}, is compared.
                 The cost measure studied is the worst-case response
                 time in distributed implementations of virtual shared
                 memory supporting one of the two conditions. Three
                 types of shared-memory objects are considered:
                 read/write objects, FIFO queues, and stacks. If clocks
                 are only approximately synchronized (or do not exist),
                 then for all three object types it is shown that
                 linearizability is more expensive than sequential
                 consistency. We show that, for all three data types,
                 the worst-case response time is very sensitive to the
                 assumptions that are made about the timing information
                 available to the system. Under the strong assumption
                 that processes have perfectly synchronized clocks, it
                 is shown that sequential consistency and
                 linearizability are equally costly. We present upper
                 bounds for linearizability and matching lower bounds
                 for sequential consistency. The upper bounds are shown
                 by presenting algorithms that use atomic broadcast in a
                 modular fashion. The lower-bound proofs for the
                 approximate case use the technique of ``shifting,''
                 first introduced for studying the clock synchronization
                 problem.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf D.1.3} Software, PROGRAMMING TECHNIQUES,
                 Concurrent Programming, Distributed programming. {\bf
                 D.3.3} Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Concurrent programming
                 structures. {\bf D.4.2} Software, OPERATING SYSTEMS,
                 Storage Management, Distributed memories. {\bf F.1.2}
                 Theory of Computation, COMPUTATION BY ABSTRACT DEVICES,
                 Modes of Computation, Parallelism and concurrency. {\bf
                 H.2.4} Information Systems, DATABASE MANAGEMENT,
                 Systems, Distributed databases. {\bf H.2.4} Information
                 Systems, DATABASE MANAGEMENT, Systems, Concurrency.",
}

@Article{Mann:1994:CDF,
  author =       "Timothy Mann and Andrew Birrell and Andy Hisgen and
                 Charles Jerian and Garret Swart",
  title =        "A Coherent Distributed File Cache with Directory
                 Write-Behind",
  journal =      j-TOCS,
  volume =       "12",
  number =       "2",
  pages =        "123--164",
  month =        may,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-2/p123-mann/",
  abstract =     "Extensive caching is a key feature of the Echo
                 distributed file system. Echo client machines maintain
                 coherent caches of file and directory data and
                 properties, with write-behind (delayed write-back) of
                 {\em all\/} cached information. Echo specifies ordering
                 constraints on this write-behind, enabling applications
                 to store and maintain consistent data structures in the
                 file system even when crashes or network faults prevent
                 some writes from being completed. In this paper we
                 describe the Echo cache's coherence and ordering
                 semantics, show how they can improve the performance
                 and consistency of applications, explain how they are
                 implemented. We also discuss the general problem of
                 reliably notifying applications and users when
                 write-behind is lost; we addressed this problem as part
                 of the Echo design, but did not find a fully
                 satisfactory solution.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance;
                 reliability; security",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Distributed file systems.",
}

@Article{Uhlig:1994:DTS,
  author =       "Richard Uhlig and David Nagle and Tim Stanley and
                 Trevor Mudge and Stuart Sechrest and Richard Brown",
  title =        "Design Tradeoffs for Software-Managed {TLBs}",
  journal =      j-TOCS,
  volume =       "12",
  number =       "3",
  pages =        "175--205",
  month =        aug,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-3/p175-uhlig/",
  abstract =     "An increasing number of architectures provide virtual
                 memory support through software-managed TLBs. However,
                 software management can impose considerable penalties
                 that are highly dependent on the operating system's
                 structure and its use of virtual memory. This work
                 explores software-managed TLB design tradeoffs and
                 their interaction with a range of monolithic and
                 microkernel operating systems. Through hardware
                 monitoring and simulation, we explore TLB performance
                 for benchmarks running on a MIPS R2000-based
                 workstation running Ultrix, OSF/1, and three versions
                 of Mach 3.0.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Virtual memory. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Measurement
                 techniques. {\bf B.3.2} Hardware, MEMORY STRUCTURES,
                 Design Styles, Associative memories. {\bf B.3.2}
                 Hardware, MEMORY STRUCTURES, Design Styles, Cache
                 memories. {\bf B.3.2} Hardware, MEMORY STRUCTURES,
                 Design Styles, Virtual memory. {\bf B.3.3} Hardware,
                 MEMORY STRUCTURES, Performance Analysis and Design
                 Aids**, Simulation**. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements.",
}

@Article{Stodolsky:1994:PLD,
  author =       "Daniel Stodolsky and Mark Holland and William V.
                 {Courtright II} and Garth A. Gibson",
  title =        "Parity Logging Disk Arrays",
  journal =      j-TOCS,
  volume =       "12",
  number =       "3",
  pages =        "206--235",
  month =        aug,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-3/p206-stodolsky/",
  abstract =     "Parity-encoded redundant disk arrays provide highly
                 reliable, cost-effective secondary storage with high
                 performance for reads and large writes. Their
                 performance on small writes, however, is much worse
                 than mirrored disks---the traditional, highly reliable,
                 but expensive organization for secondary storage.
                 Unfortunately, small writes are a substantial portion
                 of the I/O workload of many important, demanding
                 applications such as on-line transaction processing.
                 This paper presents {\em parity logging}, a novel
                 solution to the small-write problem for redundant disk
                 arrays. Parity logging applies journalling techniques
                 to reduce substantially the cost of small writes. We
                 provide detailed models of parity logging and competing
                 schemes---mirroring, floating storage, and RAID level
                 5---and verify these models by simulation. Parity
                 logging provides performance competitive with
                 mirroring, but with capacity overhead close to the
                 minimum offered by RAID level 5. Finally, parity
                 logging can exploit data caching more effectively than
                 all three alternative approaches.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance; reliability",
  subject =      "{\bf B.4.2} Hardware, INPUT/OUTPUT AND DATA
                 COMMUNICATIONS, Input/Output Devices, Channels and
                 controllers. {\bf B.4.5} Hardware, INPUT/OUTPUT AND
                 DATA COMMUNICATIONS, Reliability, Testing, and
                 Fault-Tolerance**, Redundant design**.",
}

@Article{Cao:1994:TPR,
  author =       "Pei Cao and Swee Boon Lin and Shivakumar Venkataraman
                 and John Wilkes",
  title =        "The {TickerTAIP} Parallel {RAID} Architecture",
  journal =      j-TOCS,
  volume =       "12",
  number =       "3",
  pages =        "236--269",
  month =        aug,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-3/p236-cao/",
  abstract =     "Traditional disk arrays have a centralized
                 architecture, with a single controller through which
                 all requests flow. Such a controller is a single point
                 of failure, and its performance limits the maximum
                 number of disks to which the array can scale. We
                 describe TickerTAIP, a parallel architecture for disk
                 arrays that distributes the controller functions across
                 several loosely coupled processors. The result is
                 better scalability, fault tolerance, and flexibility.
                 This article presents the TickerTAIP architecture and
                 an evaluation of its behavior. We demonstrate the
                 feasibility by a working example, describe a family of
                 distributed algorithms for calculating RAID parity,
                 discuss techniques for establishing request atomicity,
                 sequencing, and recovery, and evaluate the performance
                 of the TickerTAIP design in both absolute terms and by
                 comparison to a centralized RAID implementation. We
                 also analyze the effects of including disk-level
                 request-scheduling algorithms inside the array. We
                 conclude that the Ticker TAIP architectural approach is
                 feasible, useful, and effective.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance; reliability",
  subject =      "{\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Distributed systems. {\bf B.4.2} Hardware,
                 INPUT/OUTPUT AND DATA COMMUNICATIONS, Input/Output
                 Devices, Channels and controllers. {\bf D.1.3}
                 Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming, Parallel programming. {\bf D.4.2}
                 Software, OPERATING SYSTEMS, Storage Management,
                 Secondary storage. {\bf D.4.7} Software, OPERATING
                 SYSTEMS, Organization and Design, Distributed
                 systems.",
}

@Article{Chase:1994:SPS,
  author =       "Jeffrey S. Chase and Henry M. Levy and Michael J.
                 Feeley and Edward D. Lazowska",
  title =        "Sharing and Protection in a Single-Address-Space
                 Operating System",
  journal =      j-TOCS,
  volume =       "12",
  number =       "4",
  pages =        "271--307",
  month =        nov,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-4/p271-chase/",
  abstract =     "This article explores memory sharing and protection
                 support in Opal, a single-address-space operating
                 system designed for wide-address (64-bit)
                 architectures. Opal threads execute within protection
                 domains in a single shared virtual address space.
                 Sharing is simplified, because addresses are context
                 independent. There is no loss of protection, because
                 addressability and access are independent; the right to
                 access a segment is determined by the protection domain
                 in which a thread executes. This model enables
                 beneficial code-and data-sharing patterns that are
                 currently prohibitive, due in part to the inherent
                 restrictions of multiple address spaces, and in part to
                 Unix programming style. We have designed and
                 implemented an Opal prototype using the Mach 3.0
                 microkernel as a base. Our implementation demonstrates
                 how a single-address-space structure can be supported
                 alongside of other environments on a modern microkernel
                 operating system, using modern wide-address
                 architectures. This article justifies the Opal model
                 and its goals for sharing and protection, presents the
                 system and its abstractions, describes the prototype
                 implementation, and reports experience with integrated
                 applications.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management. {\bf C.1.3} Computer Systems Organization,
                 PROCESSOR ARCHITECTURES, Other Architecture Styles,
                 Capability architectures**. {\bf D.3.3} Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features, Modules, packages. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management. {\bf
                 D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Access controls. {\bf D.4.6} Software,
                 OPERATING SYSTEMS, Security and Protection, Information
                 flow controls. {\bf D.4.7} Software, OPERATING SYSTEMS,
                 Organization and Design. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Measurements. {\bf E.1}
                 Data, DATA STRUCTURES. {\bf E.2} Data, DATA STORAGE
                 REPRESENTATIONS.",
}

@Article{Chen:1994:NAP,
  author =       "Peter M. Chen and David A. Patterson",
  title =        "A New Approach to {I/O} Performance Evaluation:
                 Self-Scaling {I/O} Benchmarks, Predicted {I/O}
                 Performance",
  journal =      j-TOCS,
  volume =       "12",
  number =       "4",
  pages =        "308--339",
  month =        nov,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-4/p308-chen/",
  abstract =     "Current I/O benchmarks suffer from several chronic
                 problems: they quickly become obsolete; they do not
                 stress the I/O system; and they do not help much in
                 understanding I/O system performance. We propose a new
                 approach to I/O performance analysis. First, we propose
                 a self-scaling benchmark that dynamically adjusts
                 aspects of its workload according to the performance
                 characteristic of the system being measured. By doing
                 so, the benchmark automatically scales across current
                 and future systems. The evaluation aids in
                 understanding system performance by reporting how
                 performance varies according to each of five workload
                 parameters. Second, we propose predicted performance, a
                 technique for using the results from the self-scaling
                 evaluation to estimate quickly the performance for
                 workloads that have not been measured. We show that
                 this technique yields reasonably accurate performance
                 estimates and argue that this method gives a far more
                 accurate comparative performance evaluation than
                 traditional single-point benchmarks. We apply our new
                 evaluation technique by measuring a SPARCstation 1+
                 with one SCSI disk, an HP 730 with one SCSI-II disk, a
                 DECstation 5000/200 running the Sprite LFS operating
                 system with a three-disk disk array, a Convex C240
                 minisupercomputer with a four-disk disk array, and a
                 Solbourne 5E/905 fileserver with a two-disk disk
                 array.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "performance",
  subject =      "{\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Measurements. {\bf K.6.2} Computing Milieux, MANAGEMENT
                 OF COMPUTING AND INFORMATION SYSTEMS, Installation
                 Management, Benchmarks. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS. {\bf D.2.8}
                 Software, SOFTWARE ENGINEERING, Metrics, Performance
                 measures. {\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Input/output.",
}

@Article{Reiter:1994:SAF,
  author =       "Michael K. Reiter and Kenneth P. Birman and Robbert
                 van Renesse",
  title =        "A Security Architecture for Fault-Tolerant Systems",
  journal =      j-TOCS,
  volume =       "12",
  number =       "4",
  pages =        "340--371",
  month =        nov,
  year =         "1994",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1994-12-4/p340-reiter/",
  abstract =     "Process groups are a common abstraction for
                 fault-tolerant computing in distributed systems. We
                 present a security architecture that extends the
                 process group into a security abstraction. Integral
                 parts of this architecture are services that securely
                 and fault tolerantly support cryptographic key
                 distribution. Using replication only when necessary,
                 and introducing novel replication techniques when it
                 was necessary, we have constructed these services both
                 to be easily defensible against attack and to permit
                 key distribution despite the transient unavailability
                 of a substantial number of servers. We detail the
                 design and implementation of these services and the
                 secure process group abstraction they support. We also
                 give preliminary performance figures for some common
                 group operations.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "reliability; security",
  subject =      "{\bf C.2.0} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, General, Security and
                 protection (e.g., firewalls). {\bf C.2.4} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Fault-tolerance. {\bf D.4.6}
                 Software, OPERATING SYSTEMS, Security and Protection,
                 Authentication. {\bf D.4.6} Software, OPERATING
                 SYSTEMS, Security and Protection, Cryptographic
                 controls. {\bf K.6.5} Computing Milieux, MANAGEMENT OF
                 COMPUTING AND INFORMATION SYSTEMS, Security and
                 Protection, Authentication. {\bf E.3} Data, DATA
                 ENCRYPTION.",
}

@Article{Bates:1995:DHD,
  author =       "Peter C. Bates",
  title =        "Debugging Heterogeneous Distributed Systems Using
                 Event-Based Models of Behavior",
  journal =      j-TOCS,
  volume =       "13",
  number =       "1",
  pages =        "1--31",
  month =        feb,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-1/p1-bates/",
  abstract =     "We describe a high-level debugging approach,
                 Event-Based Behavioral Abstraction (EBBA), in which
                 debugging is treated as a process of creating models of
                 expected program behaviors and comparing these to the
                 actual behaviors exhibited by the program. The use of
                 EBBA techniques can enhance debugging-tool
                 transparency, reduce latency and uncertainty for
                 fundamental debugging activities, and accommodate
                 diverse, heterogeneous architectures. Using events and
                 behavior models as a basic mechanism provides a uniform
                 view of heterogeneous systems and enables analysis to
                 be performed in well-defined ways. Their use also
                 enables EBBA users to extend and reuse knowledge gained
                 in solving previous problems to new situations. We
                 describe our behavior-modeling algorithm that matches
                 actual behavior to models and automates many behavior
                 analysis steps. The algorithm matches behavior in as
                 many ways as possible and resolves these to return the
                 best match to the user. It deals readily with partial
                 behavior matches and incomplete information. In
                 particular, we describe a tool set we have built. The
                 tool set has been used to investigate the behavior of a
                 wide range of programs. The tools are modular and can
                 be distributed readily throughout a system.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; reliability",
  subject =      "{\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing
                 and Debugging, Debugging aids. {\bf C.2.3} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Network Operations, Network monitoring. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems, Distributed
                 applications. {\bf D.2.2} Software, SOFTWARE
                 ENGINEERING, Design Tools and Techniques, Programmer
                 workbench**. {\bf D.2.5} Software, SOFTWARE
                 ENGINEERING, Testing and Debugging, Monitors. {\bf
                 D.2.5} Software, SOFTWARE ENGINEERING, Testing and
                 Debugging, Tracing.",
}

@Article{Sugumar:1995:SAC,
  author =       "Rabin A. Sugumar and Santosh G. Abraham",
  title =        "Set-Associative Cache Simulation Using Generalized
                 Binomial Trees",
  journal =      j-TOCS,
  volume =       "13",
  number =       "1",
  pages =        "32--56",
  month =        feb,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-1/p32-sugumar/",
  abstract =     "Set-associative caches are widely used in CPU memory
                 hierarchies, I/O subsystems, and file systems to reduce
                 average access times. This article proposes an
                 efficient simulation technique for simulating a group
                 of set-associative caches in a single pass through the
                 address trace, where all caches have the same line size
                 but varying associativities and varying number of sets.
                 The article also introduces a generalization of the
                 ordinary binomial tree and presents a representation of
                 caches in this class using the Generalized Binomial
                 Tree (gbt). The tree representation permits efficient
                 search and update of the caches. Theoretically, the new
                 algorithm, GBF\_LS, based on the gbt structure, always
                 takes fewer comparisons than the two earlier algorithms
                 for the same class of caches: all-associativity and
                 generalized forest simulation. Experimentally, the new
                 algorithm shows performance gains in the range of 1.2
                 to 3.8 over the earlier algorithms on address traces of
                 the SPEC benchmarks. A related algorithm for simulating
                 multiple alternative direct-mapped caches with fixed
                 cache size, but varying line size, is also presented.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; measurement; performance",
  subject =      "{\bf B.3.3} Hardware, MEMORY STRUCTURES, Performance
                 Analysis and Design Aids**, Simulation**. {\bf E.1}
                 Data, DATA STRUCTURES, Trees. {\bf I.6.8} Computing
                 Methodologies, SIMULATION AND MODELING, Types of
                 Simulation. {\bf B.3.2} Hardware, MEMORY STRUCTURES,
                 Design Styles, Cache memories.",
}

@Article{Tullsen:1995:ECP,
  author =       "Dean M. Tullsen and Susan J. Eggers",
  title =        "Effective Cache Prefetching on Bus-Based
                 Multiprocessors",
  journal =      j-TOCS,
  volume =       "13",
  number =       "1",
  pages =        "57--88",
  month =        feb,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-1/p57-tullsen/",
  abstract =     "Compiler-directed cache prefetching has the potential
                 to hide much of the high memory latency seen by current
                 and future high-performance processors. However,
                 prefetching is not without costs, particularly on a
                 shared-memory multiprocessor. Prefetching can
                 negatively affect bus utilization, overall cache miss
                 rates, memory latencies and data sharing. We simulate
                 the effects of a compiler-directed prefetching
                 algorithm, running on a range of bus-based
                 multiprocessors. We show that, despite a high memory
                 latency, this architecture does not necessarily support
                 prefetching well, in some cases actually causing
                 performance degradations. We pinpoint several problems
                 with prefetching on a shared-memory architecture
                 (additional conflict misses, no reduction in the
                 data-sharing traffic and associated latencies, a
                 multiprocessor's greater sensitivity to memory
                 utilization and the sensitivity of the cache hit rate
                 to prefetch distance) and measure their effect on
                 performance. We then solve those problems through
                 architectural techniques and heuristics for prefetching
                 that could be easily incorporated into a compiler: (1)
                 victim caching, which eliminates most of the cache
                 conflict misses caused by prefetching in a
                 direct-mapped cache, (2) special prefetch algorithms
                 for shared data, which significantly improve the
                 ability of our basic prefetching algorithm to prefetch
                 individual misses, and (3) compiler-based shared-data
                 restructuring, which eliminates many of the
                 invalidation misses the basic prefetching algorithm
                 does not predict. The combined effect of these
                 improvements is to make prefetching effective over a
                 much wider range of memory architectures.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf B.3.2} Hardware, MEMORY
                 STRUCTURES, Design Styles, Shared memory. {\bf C.1.2}
                 Computer Systems Organization, PROCESSOR ARCHITECTURES,
                 Multiple Data Stream Architectures (Multiprocessors).",
}

@Article{Akyurek:1995:ABR,
  author =       "Sedat Aky{\"u}rek and Kenneth Salem",
  title =        "Adaptive Block Rearrangement",
  journal =      j-TOCS,
  volume =       "13",
  number =       "2",
  pages =        "89--121",
  month =        may,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-2/p89-akyurek/",
  abstract =     "An adaptive technique for reducing disk seek times is
                 described. The technique copies frequently referenced
                 blocks from their original locations to reserved space
                 near the middle of the disk. Reference frequencies need
                 not be known in advance. Instead, they are estimated by
                 monitoring the stream of arriving requests.
                 Trace-driven simulations show that seek times can be
                 cut substantially by copying only a small number of
                 blocks using this technique. The technique has been
                 implemented by modifying a UNIX device driver. No
                 modifications are required to the file system that uses
                 the driver.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; experimentation; performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements. {\bf H.3.2} Information
                 Systems, INFORMATION STORAGE AND RETRIEVAL, Information
                 Storage. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Modeling and prediction. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Simulation.
                 {\bf D.4.8} Software, OPERATING SYSTEMS, Performance.",
}

@Article{Hosseini-Khayat:1995:SEB,
  author =       "Saied Hosseini-Khayat and Andreas D. Bovopoulos",
  title =        "A Simple and Efficient Bus Management Scheme That
                 Supports Continuous Streams",
  journal =      j-TOCS,
  volume =       "13",
  number =       "2",
  pages =        "122--140",
  month =        may,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-2/p122-hosseini-khayat/",
  abstract =     "An efficient bandwidth management and access
                 arbitration scheme for an I/O bus in a multimedia
                 workstation is presented. It assumes that a multimedia
                 workstation consists of a number of processing modules
                 which are interconnected by a packet bus. The scheme is
                 efficient in the sense that it allows the bus to
                 support both continuous media transfers and regular
                 random transactions in such a way that continuous
                 streams can meet their real-time constraints
                 independently of random traffic, and random traffic is
                 not delayed significantly by continuous traffic except
                 when traffic load is very high. Implementation
                 guidelines are provided to show that the scheme is
                 practical. Finally, the performance of this scheme is
                 compared with alternative solutions through
                 simulation.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "experimentation; performance",
  subject =      "{\bf B.4.3} Hardware, INPUT/OUTPUT AND DATA
                 COMMUNICATIONS, Interconnections (Subsystems),
                 Topology. {\bf B.4.4} Hardware, INPUT/OUTPUT AND DATA
                 COMMUNICATIONS, Performance Analysis and Design Aids**,
                 Simulation**. {\bf H.5.1} Information Systems,
                 INFORMATION INTERFACES AND PRESENTATION, Multimedia
                 Information Systems. {\bf C.0} Computer Systems
                 Organization, GENERAL, System architectures.",
}

@Article{Singh:1995:IHB,
  author =       "Jaswinder Pal Singh and John L. Hennessy and Anoop
                 Gupta",
  title =        "Implications of Hierarchical {$N$}-Body Methods for
                 Multiprocessor Architectures",
  journal =      j-TOCS,
  volume =       "13",
  number =       "2",
  pages =        "141--202",
  month =        may,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-2/p141-singh/",
  abstract =     "To design effective large-scale multiprocessors,
                 designers need to understand the characteristics of the
                 applications that will use the machines. Application
                 characteristics of particular interest include the
                 amount of communication relative to computation, the
                 structure of the communication, and the local cache and
                 memory requirements, as well as how these
                 characteristics scale with larger problems and
                 machines. One important class of applications is based
                 on hierarchical N-body methods, which are used to solve
                 a wide range of scientific and engineering problems
                 efficiently. Important characteristics of these methods
                 include the nonuniform and dynamically changing nature
                 of the domains to which they are applied, and their use
                 of long-range, irregular communication. This article
                 examines the key architectural implications of
                 representative applications that use the two dominant
                 hierarchical N-body methods: the Barnes--Hut Method and
                 the Fast Multipole Method. We first show that
                 exploiting temporal locality on accesses to
                 communicated data is critical to obtaining good
                 performance on these applications and then argue that
                 coherent caches on shared-address-space machines
                 exploit this locality both automatically and very
                 effectively. Next, we examine the implications of
                 scaling the applications to run on larger machines. We
                 use scaling methods that reflect the concerns of the
                 application scientist and find that this leads to
                 different conclusions about how communication traffic
                 and local cache and memory usage scale than scaling
                 based only on data set size. In particular, we show
                 that under the most realistic form of scaling, both the
                 communication-to-computation ratio as well as the
                 working-set size (and hence the ideal cache size per
                 processor) grow slowly as larger problems are run on
                 larger machines. Finally, we examine the effects of
                 using the two dominant abstractions for interprocessor
                 communication: a shared address space and explicit
                 message passing between private address spaces. We show
                 that the lack of an efficiently supported shared
                 address space will substantially increase the
                 programming complexity and performance overheads for
                 these applications.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; experimentation; measurement;
                 performance",
  subject =      "{\bf C.1.2} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Multiple Data Stream Architectures
                 (Multiprocessors). {\bf C.0} Computer Systems
                 Organization, GENERAL, System architectures. {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF SYSTEMS.
                 {\bf C.5.1} Computer Systems Organization, COMPUTER
                 SYSTEM IMPLEMENTATION, Large and Medium (``Mainframe'')
                 Computers.",
}

@Article{Carter:1995:TRC,
  author =       "John B. Carter and John K. Bennett and Willy
                 Zwaenepoel",
  title =        "Techniques for Reducing Consistency-Related
                 Communication in Distributed Shared-Memory Systems",
  journal =      j-TOCS,
  volume =       "13",
  number =       "3",
  pages =        "205--243",
  month =        aug,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-3/p205-carter/",
  abstract =     "Distributed shared memory (DSM) is an abstraction of
                 shared memory on a distributed-memory machine. Hardware
                 DSM systems support this abstraction at the
                 architecture level; software DSM systems support the
                 abstraction within the runtime system. One of the key
                 problems in building an efficient software DSM system
                 is to reduce the amount of communication needed to keep
                 the distributed memories consistent. In this article we
                 present four techniques for doing so: software release
                 consistency; multiple consistency protocols;
                 write-shared protocols; and an update-with-timeout
                 mechanism. These techniques have been implemented in
                 the Munin DSM system. We compare the performance of
                 seven Munin application programs: first to their
                 performance when implemented using message passing, and
                 then to their performance when running on a
                 conventional software DSM system that does not embody
                 the preceding techniques. On a 16-processor cluster of
                 workstations, Munin's performance is within 5\% of
                 message passing for four out of the seven applications.
                 For the other three, performance is within 29 to 33\%.
                 Detailed analysis of two of these three applications
                 indicates that the addition of a function-shipping
                 capability would bring their performance to within 7\%
                 of the message-passing performance. Compared to a
                 conventional DSM system, Munin achieves performance
                 improvements ranging from a few to several hundred
                 percent, depending on the application.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Distributed memories. {\bf B.3.2} Hardware,
                 MEMORY STRUCTURES, Design Styles, Cache memories. {\bf
                 C.1.2} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Multiple Data Stream Architectures
                 (Multiprocessors), Interconnection architectures. {\bf
                 D.4.4} Software, OPERATING SYSTEMS, Communications
                 Management, Network communication. {\bf D.4.7}
                 Software, OPERATING SYSTEMS, Organization and Design,
                 Distributed systems. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements. {\bf B.3.2}
                 Hardware, MEMORY STRUCTURES, Design Styles, Shared
                 memory. {\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Virtual memory. {\bf D.4.2} Software, OPERATING
                 SYSTEMS, Storage Management, Virtual memory.",
}

@Article{Diwan:1995:MSP,
  author =       "Amer Diwan and David Tarditi and Eliot Moss",
  title =        "Memory System Performance of Programs with Intensive
                 Heap Allocation",
  journal =      j-TOCS,
  volume =       "13",
  number =       "3",
  pages =        "244--273",
  month =        aug,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-3/p244-diwan/",
  abstract =     "Heap allocation with copying garbage collection is a
                 general storage management technique for programming
                 languages. It is believed to have poor memory system
                 performance. To investigate this, we conducted an
                 in-depth study of the memory system performance of heap
                 allocation for memory systems found on many machines.
                 We studied the performance of mostly functional
                 Standard ML programs which made heavy use of heap
                 allocation. We found that most machines support heap
                 allocation poorly. However, with the appropriate memory
                 system organization, heap allocation can have good
                 performance. The memory system property crucial for
                 achieving good performance was the ability to allocate
                 and initialize a new object into the cache without a
                 penalty. This can be achieved by having subblock by
                 placement with a subblock size of one word with a
                 write-allocate policy, along with fast page-mode writes
                 or a write buffer. For caches with subblock placement,
                 the data cache overhead was under 9\% for a 64K or
                 larger data cache; without subblock placement the
                 overhead was often higher than 50\%.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "experimentation; languages; measurement; performance",
  subject =      "{\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Dynamic storage management.
                 {\bf B.3.2} Hardware, MEMORY STRUCTURES, Design Styles,
                 Associative memories. {\bf B.3.3} Hardware, MEMORY
                 STRUCTURES, Performance Analysis and Design Aids**,
                 Simulation**. {\bf D.1.1} Software, PROGRAMMING
                 TECHNIQUES, Applicative (Functional) Programming. {\bf
                 D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications. {\bf B.3.2} Hardware, MEMORY
                 STRUCTURES, Design Styles, Cache memories. {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS.",
}

@Article{Hartman:1995:ZSN,
  author =       "John H. Hartman and John K. Ousterhout",
  title =        "The {Zebra} Striped Network File System",
  journal =      j-TOCS,
  volume =       "13",
  number =       "3",
  pages =        "274--310",
  month =        aug,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-3/p274-hartman/",
  abstract =     "Zebra is a network file system that increases
                 throughput by striping the file data across multiple
                 servers. Rather than striping each file separately,
                 Zebra forms all the new data from each client into a
                 single stream, which it then stripes using an approach
                 similar to a log-structured file system. This provides
                 high performance for writes of small files as well as
                 for reads and writes of large files. Zebra also writes
                 parity information in each stripe in the style of RAID
                 disk arrays; this increases storage costs slightly, but
                 allows the system to continue operation while a single
                 storage server is unavailable. A prototype
                 implementation of Zebra, built in the Sprite operating
                 system, provides 4-5 times the throughput of the
                 standard Sprite file system or NFS for large files and
                 a 15-300\% improvement for writing small files.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; measurement; performance; reliability",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, File organization. {\bf D.4.2} Software,
                 OPERATING SYSTEMS, Storage Management,
                 Allocation/deallocation strategies. {\bf D.4.3}
                 Software, OPERATING SYSTEMS, File Systems Management,
                 Access methods. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Fault-tolerance. {\bf D.4.7}
                 Software, OPERATING SYSTEMS, Organization and Design,
                 Distributed systems. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements. {\bf E.5} Data,
                 FILES, Organization/structure. {\bf D.4.2} Software,
                 OPERATING SYSTEMS, Storage Management, Secondary
                 storage. {\bf D.4.3} Software, OPERATING SYSTEMS, File
                 Systems Management, Distributed file systems.",
}

@Article{Amir:1995:TSR,
  author =       "Y. Amir and L. E. Moser and P. M. Melliar-Smith and D.
                 A. Agarwal and P. Ciarfella",
  title =        "The {Totem} Single-Ring Ordering and Membership
                 Protocol",
  journal =      j-TOCS,
  volume =       "13",
  number =       "4",
  pages =        "311--342",
  month =        nov,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-4/p311-amir/",
  abstract =     "Fault-tolerant distributed systems are becoming more
                 important, but in existing systems, maintaining the
                 consistency of replicated data is quite expensive. The
                 Totem single-ring protocol supports consistent
                 concurrent operations by placing a total order on
                 broadcast messages. This total order is derived from
                 the sequence number in a token that circulates around a
                 logical ring imposed on a set of processors in a
                 broadcast domain. The protocol handles reconfiguration
                 of the system when processors fail and restart or when
                 the network partitions and remerges. Extended virtual
                 synchrony ensures that processors deliver messages and
                 configuration changes to the application in a
                 consistent, systemwide total order. An effective flow
                 control mechanism enables the Totem single-ring
                 protocol to achieve message-ordering rates
                 significantly higher than the best prior total-ordering
                 protocols.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "performance; reliability",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf C.2.1} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Architecture and Design, Network communications. {\bf
                 C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf C.2.5} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Local
                 and Wide-Area Networks, Token rings. {\bf D.4.4}
                 Software, OPERATING SYSTEMS, Communications Management,
                 Network communication. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Fault-tolerance. {\bf D.4.7}
                 Software, OPERATING SYSTEMS, Organization and Design,
                 Distributed systems.",
}

@Article{Herlihy:1995:SCC,
  author =       "Maurice Herlihy and Beng-Hong Lim and Nir Shavit",
  title =        "Scalable Concurrent Counting",
  journal =      j-TOCS,
  volume =       "13",
  number =       "4",
  pages =        "343--364",
  month =        nov,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-4/p343-herlihy/",
  abstract =     "The notion of counting is central to a number of basic
                 multiprocessor coordination problems, such as dynamic
                 load balancing, barrier synchronization, and concurrent
                 data structure design. We investigate the scalability
                 of a variety of counting techniques for large-scale
                 multiprocessors. We compare counting techniques based
                 on: (1) spin locks, (2) message passing, (3)
                 distributed queues, (4) software combining trees, and
                 (5) counting networks. Our comparison is based on a
                 series of simple benchmarks on a simulated 64-processor
                 Alewife machine, a distributed-memory multiprocessor
                 currently under development at MIT. Although locking
                 techniques are known to perform well on small-scale,
                 bus-based multiprocessors, serialization limits
                 performance, and contention can degrade performance.
                 Both counting networks and combining trees outperform
                 the other methods substantially by avoiding
                 serialization and alleviating contention, although
                 combining-tree throughput is more sensitive to
                 variations in load. A comparison of shared-memory and
                 message-passing implementations of counting networks
                 and combining trees shows that message-passing
                 implementations have substantially higher throughput.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; experimentation; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 C.1.2} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Multiple Data Stream Architectures
                 (Multiprocessors), Multiple-instruction-stream,
                 multiple-data-stream processors (MIMD). {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Concurrency. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management, Scheduling. {\bf B.3.3} Hardware,
                 MEMORY STRUCTURES, Performance Analysis and Design
                 Aids**, Simulation**. {\bf E.1} Data, DATA STRUCTURES,
                 Lists, stacks, and queues. {\bf E.1} Data, DATA
                 STRUCTURES, Trees.",
}

@Article{Mandrioli:1995:GTC,
  author =       "Dino Mandrioli and Sandro Morasca and Angelo
                 Morzenti",
  title =        "Generating Test Cases for Real-Time Systems from Logic
                 Specifications",
  journal =      j-TOCS,
  volume =       "13",
  number =       "4",
  pages =        "365--398",
  month =        nov,
  year =         "1995",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1995-13-4/p365-mandrioli/",
  abstract =     "We address the problem of automated derivation of
                 functional test cases for real-time systems, by
                 introducing techniques for generating test cases from
                 formal specifications written in TRIO, a language that
                 extends classical temporal logic to deal explicitly
                 with time measures. We describe an interactive tool
                 that has been built to implement these techniques,
                 based on interpretation algorithms of the TRIO
                 language. Several heuristic criteria are suggested to
                 reduce drastically the size of the test cases that are
                 generated. Experience in the use of the tool on
                 real-life cases is reported.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; verification",
  subject =      "{\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing
                 and Debugging, Testing tools (e.g., data generators,
                 coverage testing). {\bf B.6.2} Hardware, LOGIC DESIGN,
                 Reliability and Testing**, Test generation**. {\bf
                 B.6.3} Hardware, LOGIC DESIGN, Design Aids,
                 Verification. {\bf C.3} Computer Systems Organization,
                 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS,
                 Real-time and embedded systems. {\bf D.2.1} Software,
                 SOFTWARE ENGINEERING, Requirements/Specifications,
                 Languages. {\bf D.2.1} Software, SOFTWARE ENGINEERING,
                 Requirements/Specifications, Tools. {\bf B.6.3}
                 Hardware, LOGIC DESIGN, Design Aids, Hardware
                 description languages.",
}

@Article{Chen:1996:MPP,
  author =       "J. Bradley Chen and Yasuhiro Endo and Kee Chan and
                 David Mazi{\`e}res and Antonio Dias and Margo Seltzer
                 and Michael D. Smith",
  title =        "The Measured Performance of Personal Computer
                 Operating Systems",
  journal =      j-TOCS,
  volume =       "14",
  number =       "1",
  pages =        "3--40",
  month =        feb,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-1/p3-chen/",
  abstract =     "This article presents a comparative study of the
                 performance of three operating systems that run on the
                 personal computer architecture derived form the IBM-PC.
                 The operating systems, Windows for Workgroups, Windows
                 NT, and NetBSD (a freely available variant of the UNIX
                 operating system), cover a broad range of system
                 functionality and user requirements, from a
                 single-address-space model to full protection with
                 preemptive multitasking. Our measurements are enable by
                 hardware counters in Intel's Pentium processor that
                 permit measurement of a broad range of processor events
                 including instruction counts and on-chip cache miss
                 counts. We use both microbenchmarks, which expose
                 specific difference between the systems, and
                 application workloads, which provide an indication of
                 expected end-to-end performance. Our microbenchmark
                 results show that accessing system functionality is
                 often more expensive in Windows for Workgroups than in
                 the other two systems due to frequent changes in
                 machine mode and the use of system call hooks. When
                 running native applications, Windows NT is more
                 efficient than Windows, but it incurs overhead similar
                 to that of a microkernel, since its application
                 interface (the Win32 API) is implemented as a
                 user-level server. Overall, system functionality can be
                 accessed most efficiently in NetBSD; we attribute this
                 to its monolithic structure and to the absence of the
                 complications created by hardware
                 backward-compatibility requirements in the other
                 systems. Measurements of application performance show
                 that although the impact of these differences is
                 significant in terms of instruction counts and other
                 hardware events (often a factor of 2 to 7 difference
                 between the systems), overall performance is sometimes
                 determined by the functionality provided by specific
                 subsystems, such as the graphics subsystem or the file
                 system buffer cache.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "measurement; performance",
  subject =      "{\bf D.4.8} Software, OPERATING SYSTEMS, Performance.
                 {\bf C.4} Computer Systems Organization, PERFORMANCE OF
                 SYSTEMS. {\bf D.4.0} Software, OPERATING SYSTEMS,
                 General. {\bf D.4.7} Software, OPERATING SYSTEMS,
                 Organization and Design.",
}

@Article{Anderson:1996:SNF,
  author =       "Thomas E. Anderson and Michael D. Dahlin and Jeanna M.
                 Neefe and David A. Patterson and Drew S. Roselli and
                 Randolph Y. Wang",
  title =        "Serverless Network File Systems",
  journal =      j-TOCS,
  volume =       "14",
  number =       "1",
  pages =        "41--79",
  month =        feb,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-1/p41-anderson/",
  abstract =     "We propose a new paradigm for network file system
                 design: {\em serverless network file systems}. While
                 traditional network file systems rely on a central
                 server machine, a serverless system utilizes
                 workstations cooperating as peers to provide all file
                 system services. Any machine in the system can store,
                 cache, or control any block of data. Our approach uses
                 this location independence, in combination with fast
                 local area networks, to provide better performance and
                 scalability than traditional file systems. Furthermore,
                 because any machine in the system can assume the
                 responsibilities of a failed component, our serverless
                 design also provides high availability via redundant
                 data storage. To demonstrate our approach, we have
                 implemented a prototype serverless network file system
                 called xFS. Preliminary performance measurements
                 suggest that our architecture achieves its goal of
                 scalability. For instance, in a 32-node xFS system with
                 32 active clients, each client receives nearly as much
                 read or write throughput as it would see if it were the
                 only active client.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; measurement; performance;
                 reliability",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Access methods. {\bf D.4.2} Software,
                 OPERATING SYSTEMS, Storage Management,
                 Allocation/deallocation strategies. {\bf D.4.5}
                 Software, OPERATING SYSTEMS, Reliability,
                 Checkpoint/restart. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements. {\bf E.5} Data,
                 FILES, Organization/structure. {\bf H.3.2} Information
                 Systems, INFORMATION STORAGE AND RETRIEVAL, Information
                 Storage, File organization. {\bf D.4.2} Software,
                 OPERATING SYSTEMS, Storage Management, Secondary
                 storage. {\bf D.4.3} Software, OPERATING SYSTEMS, File
                 Systems Management, Directory structures. {\bf D.4.3}
                 Software, OPERATING SYSTEMS, File Systems Management,
                 Distributed file systems. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management, File
                 organization. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Fault-tolerance. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Simulation. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems, Network operating
                 systems.",
}

@Article{Bressoud:1996:HBF,
  author =       "Thomas C. Bressoud and Fred B. Schneider",
  title =        "Hypervisor-Based Fault Tolerance",
  journal =      j-TOCS,
  volume =       "14",
  number =       "1",
  pages =        "80--107",
  month =        feb,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-1/p80-bressoud/",
  abstract =     "Protocols to implement a fault-tolerant computing
                 system are described. These protocols augment the
                 hypervisor of a virtual-machine manager and coordinate
                 a primary virtual machine with its backup. No
                 modifications to the hardware, operating system, or
                 application programs are required. A prototype system
                 was constructed for HP's PA-RISC instruction-set
                 architecture. Even though the prototype was not
                 carefully tuned, it ran programs about a factor of 2
                 slower than a bare machine would.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; reliability",
  subject =      "{\bf D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Network operating systems. {\bf
                 D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Checkpoint/restart.",
}

@Article{Wilkes:1996:HAH,
  author =       "John Wilkes and Richard Golding and Carl Staelin and
                 Tim Sullivan",
  title =        "The {HP AutoRAID} Hierarchical Storage System",
  journal =      j-TOCS,
  volume =       "14",
  number =       "1",
  pages =        "108--136",
  month =        feb,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-1/p108-wilkes/",
  abstract =     "Configuring redundant disk arrays is a black art. To
                 configure an array properly, a system administrator
                 must understand the details of both the array and the
                 workload it will support. Incorrect understanding of
                 either, or changes in the workload over time, can lead
                 to poor performance. We present a solution to this
                 problem: a two-level storage hierarchy implemented
                 inside a single disk-array controller. In the upper
                 level of this hierarchy, two copies of active data are
                 stored to provide full redundancy and excellent
                 performance. In the lower level, RAID 5 parity
                 protection is used to provide excellent storage cost
                 for inactive data, at somewhat lower performance. The
                 technology we describe in this article, know as HP
                 AutoRAID, automatically and transparently manages
                 migration of data blocks between these two levels as
                 access patterns change. The result is a fully redundant
                 storage system that is extremely easy to use, is
                 suitable for a wide variety of workloads, is largely
                 insensitive to dynamic workload changes, and performs
                 much better than disk arrays with comparable numbers of
                 spindles and much larger amounts of front-end RAM
                 cache. Because the implementation of the HP AutoRAID
                 technology is almost entirely in software, the
                 additional hardware cost for these benefits is very
                 small. We describe the HP AutoRAID technology in
                 detail, provide performance data for an embodiment of
                 it in a storage array, and summarize the results of
                 simulation studies used to choose algorithms
                 implemented in the array.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance; reliability",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Secondary storage. {\bf B.4.2} Hardware,
                 INPUT/OUTPUT AND DATA COMMUNICATIONS, Input/Output
                 Devices, Channels and controllers. {\bf B.4.5}
                 Hardware, INPUT/OUTPUT AND DATA COMMUNICATIONS,
                 Reliability, Testing, and Fault-Tolerance**, Redundant
                 design**. {\bf B.3.2} Hardware, MEMORY STRUCTURES,
                 Design Styles, Mass storage.",
}

@Article{Grimshaw:1996:PRT,
  author =       "Andrew S. Grimshaw and Jon B. Weissman and W. Timothy
                 Strayer",
  title =        "Portable Run-Time Support for Dynamic Object-Oriented
                 Parallel Processing",
  journal =      j-TOCS,
  volume =       "14",
  number =       "2",
  pages =        "139--170",
  month =        may,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-2/p139-grimshaw/",
  abstract =     "Mentat is an object-oriented parallel processing
                 system designed to simplify the task of writing
                 portable parallel programs for parallel machines and
                 workstation networks. The Mentat compiler and run-time
                 system work together to automatically manage the
                 communication and synchronization between objects. The
                 run-time system marshals member function arguments,
                 schedules objects on processors, and dynamically
                 constructs and executes large-grain data dependence
                 graphs. In this article we present the Mentat run-time
                 system. We focus on three aspects---the software
                 architecture, including the interface to the compiler
                 and the structure and interaction of the principle
                 components of the run-time system; the run-time
                 overhead on a component-by-component basis for two
                 platforms, a Sun SPARCstation 2 and an Intel Paragon;
                 and an analysis of the minimum granularity required for
                 application programs to overcome the run-time
                 overhead.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "languages; performance",
  subject =      "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Run-time environments. {\bf D.1.3}
                 Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming, Parallel programming. {\bf D.1.5}
                 Software, PROGRAMMING TECHNIQUES, Object-oriented
                 Programming. {\bf D.3.2} Software, PROGRAMMING
                 LANGUAGES, Language Classifications, Concurrent,
                 distributed, and parallel languages. {\bf D.3.2}
                 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Object-oriented languages.",
}

@Article{Hardy:1996:CIE,
  author =       "Darren R. Hardy and Michael F. Schwartz",
  title =        "Customized Information Extraction as a Basis for
                 Resource Discovery",
  journal =      j-TOCS,
  volume =       "14",
  number =       "2",
  pages =        "171--199",
  month =        may,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-2/p171-hardy/",
  abstract =     "Indexing file contents is a powerful means of helping
                 users locate documents, software, and other types of
                 data among large repositories. In environments that
                 contain many different types of data, content indexing
                 requires type-specific processing to extract
                 information effectively. We present a model for
                 type-specific, user-customizable information
                 extraction, and a system implementation called {\em
                 Essence}. This software structure allows users to
                 associate specialized extraction methods with ordinary
                 files, providing the illusion of an object-oriented
                 file system that encapsulates indexing methods within
                 files. By exploiting the semantics of common file
                 types, Essence generates compact yet representative
                 file summaries that can be used to improve both
                 browsing and indexing in resource discovery systems.
                 Essence can extract information from most of the types
                 of files found in common file systems, including files
                 with nested structure (such as compressed ``tar''
                 files). Essence interoperates with a number of
                 different search/index systems (such as WAIS and
                 Glimpse), as part of the Harvest system.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement",
  subject =      "{\bf H.3.1} Information Systems, INFORMATION STORAGE
                 AND RETRIEVAL, Content Analysis and Indexing. {\bf
                 H.3.4} Information Systems, INFORMATION STORAGE AND
                 RETRIEVAL, Systems and Software, Information networks.
                 {\bf E.5} Data, FILES, Organization/structure. {\bf
                 H.5.2} Information Systems, INFORMATION INTERFACES AND
                 PRESENTATION, User Interfaces.",
}

@Article{Spasojevic:1996:ESW,
  author =       "Mirjana Spasojevic and M. Satyanarayanan",
  title =        "An Empirical Study of a Wide-Area Distributed File
                 System",
  journal =      j-TOCS,
  volume =       "14",
  number =       "2",
  pages =        "200--222",
  month =        may,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-2/p200-spasojevic/",
  abstract =     "The evolution of the Andrew File System (AFS) into a
                 wide-area distributed file system has encouraged
                 collaboration and information dissemination on a much
                 broader scale than ever before. We examine AFS as a
                 provider of wide-area file services to over 100
                 organizations around the world. We discuss usage
                 characteristics of AFS derived from empirical
                 measurements of the system. Our observations indicate
                 that AFS provides robust and efficient data access in
                 its current configuration, thus confirming its
                 viability as a design point for wide-area distributed
                 file systems.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Distributed file systems. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance,
                 Measurements.",
}

@Article{Corbett:1996:VPF,
  author =       "Peter F. Corbett and Dror G. Feitelson",
  title =        "The {Vesta} Parallel File System",
  journal =      j-TOCS,
  volume =       "14",
  number =       "3",
  pages =        "225--264",
  month =        aug,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-3/p225-corbett/",
  abstract =     "The Vesta parallel file system is designed to provide
                 parallel file access to application programs running on
                 multicomputers with parallel I/O subsystems. Vesta uses
                 a new abstraction of files: a file is not a sequence of
                 bytes, but rather it can be partitioned into multiple
                 disjoint sequences that are accessed in parallel. The
                 partitioning---which can also be changed
                 dynamically---reduces the need for synchronization and
                 coordination during the access. Some control over the
                 layout of data is also provided, so the layout can be
                 matched with the anticipated access patterns. The
                 system is fully implemented and forms the basis for the
                 AIX Parallel I/O File System on the IBM SP2. The
                 implementation does not compromise scalability or
                 parallelism. In fact, all data accesses are done
                 directly to the I/O node that contains the requested
                 data, without any indirection or access to shared
                 metadata. Disk mapping and caching functions are
                 confined to each I/O node, so there is no need to keep
                 data coherent across nodes. Performance measurements
                 shown good scalability with increased resources.
                 Moreover, different access patterns are show to achieve
                 similar performance.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Distributed file systems. {\bf D.4.4}
                 Software, OPERATING SYSTEMS, Communications Management,
                 Input/output. {\bf E.5} Data, FILES,
                 Organization/structure. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming,
                 Parallel programming. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Concurrency. {\bf C.1.2}
                 Computer Systems Organization, PROCESSOR ARCHITECTURES,
                 Multiple Data Stream Architectures (Multiprocessors),
                 Parallel processors**.",
}

@Article{Cristian:1996:FTA,
  author =       "Flaviu Cristian and Bob Dancey and Jon Dehn",
  title =        "Fault-tolerance in Air Traffic Control Systems",
  journal =      j-TOCS,
  volume =       "14",
  number =       "3",
  pages =        "265--286",
  month =        aug,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-3/p265-cristian/",
  abstract =     "The distributed real-time system services developed by
                 Lockheed Martin's Air Traffic Management group serve
                 the infrastructure for a number of air traffic control
                 systems. Either completed development or under
                 development are the US Federal Aviation
                 Administration's Display System Replacement (DSR)
                 system, the UK Civil Aviation Authority's New Enroute
                 Center (NERC) system, and the Republic of China's Air
                 Traffic Control Automated System (ATCAS). These systems
                 are intended to replace present en route systems over
                 the next decade. High availability of air traffic
                 control services is an essential requirement of these
                 systems. This article discusses the general approach to
                 fault-tolerance adopted in this infrastructure, by
                 reviewing some of the questions which were asked during
                 the system design, various alternative solutions
                 considered, and the reasons for the design choices
                 made. The aspects of this infrastructure chosen for the
                 individual ATC systems mentioned above, along with the
                 status of those systems, are presented in the Section
                 11 of the article.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; reliability",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Reliability, availability, and
                 serviceability. {\bf D.2.5} Software, SOFTWARE
                 ENGINEERING, Testing and Debugging, Error handling and
                 recovery. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Fault-tolerance. {\bf J.7} Computer
                 Applications, COMPUTERS IN OTHER SYSTEMS, Real time.
                 {\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Real-time systems and embedded systems.",
}

@Article{Devarakonda:1996:RCF,
  author =       "Murthy Devarakonda and Bill Kish and Ajay Mohindra",
  title =        "Recovery in the {Calypso} File System",
  journal =      j-TOCS,
  volume =       "14",
  number =       "3",
  pages =        "287--310",
  month =        aug,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-3/p287-devarakonda/",
  abstract =     "This article presents the deign and implementation of
                 the recovery scheme in Calypso. Calypso is a
                 cluster-optimized, distributed file system for UNIX
                 clusters. As in Sprite and AFS, Calypso servers are
                 stateful and scale well to a large number of clients.
                 The recovery scheme in Calypso is nondisruptive,
                 meaning that open files remain open, client modified
                 data are saved, and in-flight operations are properly
                 handled across server recover. The scheme uses
                 distributed state amount the clients to reconstruct the
                 server state on a backup node if disks are multiported
                 or on the rebooted server node. It guarantees data
                 consistency during recovery and provides congestion
                 control. Measurements show that the state
                 reconstruction can be quite fast: for example, in a
                 32-node cluster, when an average node contains state
                 for about 420 files, the reconstruction time is about
                 3.3 seconds. However, the time to update a file system
                 after a failure can be a major factor in the overall
                 recovery time, even when using journaling techniques.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; management; measurement; reliability",
  subject =      "{\bf D.4.5} Software, OPERATING SYSTEMS, Reliability,
                 Fault-tolerance. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS. {\bf D.4.3}
                 Software, OPERATING SYSTEMS, File Systems Management,
                 Distributed file systems. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems. {\bf E.5} Data, FILES, Backup/recovery.",
}

@Article{Cao:1996:IPI,
  author =       "Pei Cao and Edward W. Felten and Anna R. Karlin and
                 Kai Li",
  title =        "Implementation and Performance of Integrated
                 Application-Controlled File Caching, Prefetching, and
                 Disk Scheduling",
  journal =      j-TOCS,
  volume =       "14",
  number =       "4",
  pages =        "311--343",
  month =        nov,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-4/p311-cao/",
  abstract =     "As the performance gap between disks and
                 microprocessors continues to increase, effective
                 utilization of the file cache becomes increasingly
                 important. Application-controlled file caching and
                 prefetching can apply application-specific knowledge to
                 improve file cache management. However, supporting
                 application-controlled file caching and prefetching is
                 nontrivial because caching and prefetching need to be
                 integrated carefully, and the kernel needs to allocate
                 cache blocks among processes appropriately. This
                 article presents the design, implementation, and
                 performance of a file system that integrates
                 application-controlled caching, prefetching, and disk
                 scheduling. We use a two-level cache management
                 strategy. The kernel uses the LRU-SP
                 (Least-Recently-Used with Swapping and Placeholders)
                 policy to allocate blocks to processes, and each
                 process integrates application-specific caching and
                 prefetching based on the {\em controlled-aggressive\/}
                 policy, an algorithm previously shown in a theoretical
                 sense to be nearly optimal. Each process also improves
                 its disk access latency by submitting its prefetches in
                 batches so that the requests can be scheduled to
                 optimize disk access performance. Our measurements show
                 that this combination of techniques greatly improves
                 the performance of the file system. We measured that
                 the running time is reduced by 3\% to 49\% (average
                 26\%) for single-process workloads and by 5\% to 76\%
                 (average 32\%) for multiprocess workloads.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; experimentation; measurement;
                 performance",
  subject =      "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage
                 Management, Secondary storage. {\bf C.4} Computer
                 Systems Organization, PERFORMANCE OF SYSTEMS, Design
                 studies. {\bf D.4.2} Software, OPERATING SYSTEMS,
                 Storage Management, Storage hierarchies. {\bf D.4.3}
                 Software, OPERATING SYSTEMS, File Systems Management,
                 Access methods. {\bf D.4.8} Software, OPERATING
                 SYSTEMS, Performance, Measurements. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance, Modeling and
                 prediction. {\bf E.5} Data, FILES, Optimization**.",
}

@Article{Saavedra:1996:ABC,
  author =       "Rafael H. Saavedra and Alan J. Smith",
  title =        "Analysis of Benchmark Characteristics and Benchmark
                 Performance Prediction",
  journal =      j-TOCS,
  volume =       "14",
  number =       "4",
  pages =        "344--384",
  month =        nov,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-4/p344-saavedra/",
  abstract =     "Standard benchmarking provides to run-times for given
                 programs on given machines, but fails to provide
                 insight as to why those results were obtained (either
                 in terms of machine or program characteristics) and
                 fails to provide run-times for that program on some
                 other machine, or some other programs on that machine.
                 We have developed a machine-independent model of
                 program execution to characterize both machine
                 performance and program execution. By merging these
                 machine and program characterizations, we can estimate
                 execution time for arbitrary machine/program
                 combinations. Our technique allows us to identify those
                 operations, either on the machine or in the programs,
                 which dominate the benchmark results. This information
                 helps designers in improving the performance of future
                 machines and users in tuning their applications to
                 better utilize the performance of existing machines.
                 Here we apply our methodology to characterize
                 benchmarks and predict their execution times. We
                 present extensive run-time statistics for a large set
                 of benchmarks including the SPEC and Perfect Club
                 suites. We show how these statistics can be used to
                 identify important shortcoming in the programs. In
                 addition, we give execution time estimates for a large
                 sample of programs and machines and compare these
                 against benchmark results. Finally, we develop a metric
                 for program similarity that makes it possible to
                 classify benchmarks with respect to a large set of
                 characteristics.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "measurement; performance",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Measurement techniques. {\bf C.4} Computer
                 Systems Organization, PERFORMANCE OF SYSTEMS, Modeling
                 techniques. {\bf C.4} Computer Systems Organization,
                 PERFORMANCE OF SYSTEMS, Performance attributes. {\bf
                 D.2.8} Software, SOFTWARE ENGINEERING, Metrics,
                 Performance measures. {\bf I.6.4} Computing
                 Methodologies, SIMULATION AND MODELING, Model
                 Validation and Analysis.",
}

@Article{Shavit:1996:DT,
  author =       "Nir Shavit and Asaph Zemach",
  title =        "Diffracting Trees",
  journal =      j-TOCS,
  volume =       "14",
  number =       "4",
  pages =        "385--428",
  month =        nov,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-4/p385-shavit/",
  abstract =     "Shared counters are among the most basic coordination
                 structures in multiprocessor computation, with
                 applications ranging from barrier synchronization to
                 concurrent-data-structure design. This article
                 introduces diffracting trees, novel data structures for
                 share counting and load balancing in a
                 distributed/parallel environment. Empirical evidence,
                 collected on a simulated distributed shared-memory
                 machine and several simulated message-passing
                 architectures, shows that diffracting trees scale
                 better and are more robust than both combining trees
                 and counting networks, currently the most effective
                 known methods for implementing concurrent counters in
                 software. The use of a randomized coordination method
                 together with a combinatorial data structure overcomes
                 the resiliency drawbacks of combining trees. Our
                 simulations show that to handle the same load,
                 diffracting trees and counting networks should have a
                 similar width {\em w}, yet the depth of a diffracting
                 tree is {\em O\/}(log {\em w\/}), whereas counting
                 networks have depth {\em O\/}(log2 {\em w\/}).
                 Diffracting trees have already been used to implement
                 highly efficient producer/consumer queues, and we
                 believe diffraction will prove to be an effective
                 alternative paradigm to combining and queue-locking in
                 the design of many concurrent data structures.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance",
  subject =      "{\bf E.1} Data, DATA STRUCTURES. {\bf C.1.2} Computer
                 Systems Organization, PROCESSOR ARCHITECTURES, Multiple
                 Data Stream Architectures (Multiprocessors). {\bf
                 C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
                 {\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Synchronization. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design, Distributed
                 systems.",
}

@Article{Anonymous:1996:AI,
  author =       "Anonymous",
  title =        "Author Index",
  journal =      j-TOCS,
  volume =       "14",
  number =       "4",
  pages =        "429--430",
  month =        nov,
  year =         "1996",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1996-14-4/p429-author_index/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  subject =      "{\bf A.2} General Literature, REFERENCE.",
}

@Article{Birman:1997:EEP,
  author =       "Kenneth P. Birman",
  title =        "Editorial: Electronic Publication of {TOCS}",
  journal =      j-TOCS,
  volume =       "15",
  number =       "1",
  pages =        "1--1",
  month =        feb,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-1/p1-birman/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Kontothanassis:1997:SCS,
  author =       "Leonidas I. Kontothanassis and Robert W. Wisniewski
                 and Michael L. Scott",
  title =        "Scheduler-Conscious Synchronization",
  journal =      j-TOCS,
  volume =       "15",
  number =       "1",
  pages =        "3--40",
  month =        feb,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-1/p3-kontothanassis/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; performance; reliability",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Synchronization. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming,
                 Parallel programming. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management,
                 Multiprocessing/multiprogramming/multitasking.",
}

@Article{Kotz:1997:DDM,
  author =       "David Kotz",
  title =        "Disk-Directed {I/O} for {MIMD} Multiprocessors",
  journal =      j-TOCS,
  volume =       "15",
  number =       "1",
  pages =        "41--74",
  month =        feb,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-1/p41-kotz/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Access methods. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management, File
                 organization. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Simulation. {\bf E.5} Data, FILES.",
}

@Article{Steenkiste:1997:HSN,
  author =       "Peter Steenkiste",
  title =        "A High-Speed Network Interface for Distributed-Memory
                 Systems: Architecture and Applications",
  journal =      j-TOCS,
  volume =       "15",
  number =       "1",
  pages =        "75--109",
  month =        feb,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-1/p75-steenkiste/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "management; performance; reliability",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Network communication. {\bf
                 B.4.3} Hardware, INPUT/OUTPUT AND DATA COMMUNICATIONS,
                 Interconnections (Subsystems), Interfaces. {\bf C.0}
                 Computer Systems Organization, GENERAL, System
                 architectures. {\bf C.2.2} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Protocols, Protocol architecture. {\bf D.4.4} Software,
                 OPERATING SYSTEMS, Communications Management,
                 Buffering.",
}

@Article{Anderson:1997:DRA,
  author =       "David P. Anderson",
  title =        "Device Reservation in Audio\slash Video Editing
                 Systems",
  journal =      j-TOCS,
  volume =       "15",
  number =       "2",
  pages =        "111--133",
  month =        may,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-2/p111-anderson/",
  abstract =     "What fraction of disks and other shared devices must
                 be reserved to play an audio/video document without
                 dropouts? In general, this question cannot be answered
                 precisely. For documents with complex and irregular
                 structure, such as those arising in audio/video
                 editing, it is difficult even to give a good estimate.
                 We describe three approaches to this problem. The
                 first, based on long-term average properties of
                 segments, is fast but imprecise: it underreserves in
                 some cases and overreserves in others. The second
                 approach models individual disk and network operations.
                 It is precise but slow. The third approach, a hybrid,
                 is both precise and fast.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; performance",
  subject =      "{\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design, Real-time systems and embedded systems.
                 {\bf D.4.8} Software, OPERATING SYSTEMS, Performance,
                 Modeling and prediction. {\bf H.5.1} Information
                 Systems, INFORMATION INTERFACES AND PRESENTATION,
                 Multimedia Information Systems, Audio input/output.
                 {\bf H.5.1} Information Systems, INFORMATION INTERFACES
                 AND PRESENTATION, Multimedia Information Systems, Video
                 (e.g., tape, disk, DVI).",
}

@Article{Anderson:1997:RTC,
  author =       "James H. Anderson and Srikanth Ramamurthy and Kevin
                 Jeffay",
  title =        "Real-time Computing with Lock-Free Shared Objects",
  journal =      j-TOCS,
  volume =       "15",
  number =       "2",
  pages =        "134--165",
  month =        may,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-2/p134-anderson/",
  abstract =     "This article considers the use of lock-free shared
                 objects within hard real-time systems. As the name
                 suggests, {\em lock-free\/} shared objects are
                 distinguished by the fact that they are accessed
                 without locking. As such, they do not give rise to
                 priority inversions, a key advantage over conventional,
                 lock-based object-sharing approaches. Despite this
                 advantage, it is not immediately apparent that
                 lock-free shared objects can be employed if tasks must
                 adhere to strict timing constraints. In particular,
                 lock-free object implementations permit concurrent
                 operations to interfere with each other, and repeated
                 interferences can cause a given operation to take an
                 arbitrarily long time to complete. The main
                 contribution of this article is to show that such
                 interferences can be bounded by judicious scheduling.
                 This work pertains to periodic, hard real-time tasks
                 that share lock-free objects on a uniprocessor. In the
                 first part of the article, scheduling conditions are
                 derived for such tasks, for both static and dynamic
                 priority schemes. Based on these conditions, it is
                 formally shown that lock-free shared objects often
                 incur less overhead than object implementations based
                 on wait-free algorithms or lock-based schemes. In the
                 last part of the article, this conclusion is validated
                 experimentally through work involving a real-time
                 desktop videoconferencing system.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance; theory",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Concurrency. {\bf C.3} Computer Systems
                 Organization, SPECIAL-PURPOSE AND APPLICATION-BASED
                 SYSTEMS, Real-time and embedded systems. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Mutual exclusion. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Scheduling. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Synchronization. {\bf J.7} Computer Applications,
                 COMPUTERS IN OTHER SYSTEMS, Real time.",
}

@Article{Mahmood:1997:OAM,
  author =       "Ausif Mahmood and Donald J. Lynch and Roger B.
                 Shaffer",
  title =        "Optimally Adaptive, Minimum-Distance, Circuit-Switched
                 Routing in Hypercubes",
  journal =      j-TOCS,
  volume =       "15",
  number =       "2",
  pages =        "166--193",
  month =        may,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-2/p166-mahmood/",
  abstract =     "In circuit-switched routing, the path between a source
                 and its destination is established by incrementally
                 reserving all required links before the data
                 transmission can begin. If the routing algorithm is not
                 carefully designed, deadlocks can occur in reserving
                 these links. Deadlock-free algorithms based on
                 dimension-ordered routing, such as the {\em E-cube},
                 exist. However, {\em E-cube\/} does not provide any
                 flexibility in choosing a path from a source to its
                 destination and can thus result in long latencies under
                 heavy or uneven traffic. Adaptive, minimum-distance
                 routing algorithms, such as the {\em Turn Model\/} and
                 the {\em UP Preference\/} algorithms, have previously
                 been reported. In this article, we present a new class
                 of adaptive, provably deadlock-free, minimum-distance
                 routing algorithms. We prove that the algorithms
                 developed here are optimally adaptive in the sense that
                 any further flexibility in communication will result in
                 deadlock. We show that the {\em Turn Model\/} is
                 actually a member of our new class of algorithms that
                 does not perform as well as other algorithms within the
                 new class. It creates artificial hotspots in routing
                 the traffic and allows fewer total paths. We present an
                 analytical comparison of the flexibility and balance in
                 routing provided by various algorithms and a comparison
                 based on uniform and nonuniform traffic simulations.
                 The {\em Extended UP Preference\/} algorithm developed
                 in this article is shown to have improved performance
                 with respect to existing algorithms. The methodology
                 and the algorithms developed here can be used to
                 develop routing for other schemes such as wormhole
                 routing, and for other recursively defined networks
                 such as {\em k\/}-ary {\em n\/}-cubes.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; theory",
  subject =      "{\bf C.2.1} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Architecture
                 and Design, Network communications. {\bf C.1.2}
                 Computer Systems Organization, PROCESSOR ARCHITECTURES,
                 Multiple Data Stream Architectures (Multiprocessors),
                 Interconnection architectures. {\bf C.2.1} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Network Architecture and Design, Network topology.",
}

@Article{Pfitzmann:1997:SLT,
  author =       "Birgit Pfitzmann and Michael Waidner",
  title =        "Strong Loss Tolerance of Electronic Coin Systems",
  journal =      j-TOCS,
  volume =       "15",
  number =       "2",
  pages =        "194--213",
  month =        may,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-2/p194-pfitzmann/",
  abstract =     "Untraceable electronic cash means prepaid digital
                 payment systems, usually with offline payments, that
                 protect user privacy. Such systems have recently been
                 given considerable attention by both theory and
                 development projects. However, in most current schemes,
                 loss of a user device containing electronic cash
                 implies a loss of money, just as with real cash. In
                 comparison with credit schemes, this is considered a
                 serious shortcoming. This article shows how untraceable
                 electronic cash can be made loss tolerant, i.e., how
                 the monetary value of the lost data can be recovered.
                 Security against fraud and preservation of privacy are
                 ensured; strong loss tolerance means that not even
                 denial of recovery is possible. In particular, systems
                 based on electronic coins are treated. We present
                 general design principles and options and their
                 instantiation in one concrete payment system. The
                 measures are practical.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; reliability; security",
  subject =      "{\bf D.4.6} Software, OPERATING SYSTEMS, Security and
                 Protection, Cryptographic controls. {\bf C.2.4}
                 Computer Systems Organization, COMPUTER-COMMUNICATION
                 NETWORKS, Distributed Systems, Distributed
                 applications. {\bf D.4.5} Software, OPERATING SYSTEMS,
                 Reliability, Fault-tolerance. {\bf H.4.3} Information
                 Systems, INFORMATION SYSTEMS APPLICATIONS,
                 Communications Applications. {\bf K.6.5} Computing
                 Milieux, MANAGEMENT OF COMPUTING AND INFORMATION
                 SYSTEMS, Security and Protection. {\bf K.4.0} Computing
                 Milieux, COMPUTERS AND SOCIETY, General.",
}

@Article{Mogul:1997:ERL,
  author =       "Jeffrey C. Mogul and K. K. Ramakrishnan",
  title =        "Eliminating Receive Livelock in an Interrupt-Driven
                 Kernel",
  journal =      j-TOCS,
  volume =       "15",
  number =       "3",
  pages =        "217--252",
  month =        aug,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-3/p217-mogul/",
  abstract =     "Most operating systems use interface interrupts to
                 schedule network tasks. Interrupt-driven systems can
                 provide low overhead and good latency at low offered
                 load, but degrade significantly at higher arrival rates
                 unless care is taken to prevent several pathologies.
                 These are various forms of{\bf receive livelock}, in
                 which the system spends all of its time processing
                 interrupts, to the exclusion of other necessary tasks.
                 Under extreme conditions, no packets are delivered to
                 the user application or the output of the system. To
                 avoid livelock and related problems, an operating
                 system must schedule network interrupt handling as
                 carefully as it schedules process execution. We
                 modified an interrupt-driven networking implementation
                 to do so; this modification eliminates receive livelock
                 without degrading other aspects of system performance.
                 Our modifications include the use of polling when the
                 system is heavily loaded, while retaining the use of
                 interrupts ur.Jer lighter load. We present measurements
                 demonstrating the success of our approach.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management, Scheduling. {\bf D.4.4} Software, OPERATING
                 SYSTEMS, Communications Management, Input/output. {\bf
                 D.4.4} Software, OPERATING SYSTEMS, Communications
                 Management, Network communication. {\bf C.2.0} Computer
                 Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
                 General.",
}

@Article{Harchol-Balter:1997:EPL,
  author =       "Mor Harchol-Balter and Allen B. Downey",
  title =        "Exploiting Process Lifetime Distributions for Dynamic
                 Load Balancing",
  journal =      j-TOCS,
  volume =       "15",
  number =       "3",
  pages =        "253--285",
  month =        aug,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-3/p253-harchol-balter/",
  abstract =     "We consider policies for CPU load balancing in
                 networks of workstations. We address the question of
                 whether preemptive migration (migrating active
                 processes) is necessary, or whether remote execution
                 (migrating processes only at the time of birth) is
                 sufficient for load balancing. We show that resolving
                 this issue is strongly tied to understanding the
                 process lifetime distribution. Our measurements
                 indicate that the distribution of lifetimes for a UNIX
                 process is Pareto (heavy-tailed), with a consistent
                 functional form over a variety of workloads. We show
                 how to apply this distribution to derive a preemptive
                 migration policy that requires no hand-tuned
                 parameters. We used a trace-driven simulation to show
                 that our preemptive migration strategy is far more
                 effective than remote execution, even when the memory
                 transfer cost is high.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; measurement; performance",
  subject =      "{\bf C.2.3} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Operations,
                 Network management. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS. {\bf C.5.3}
                 Computer Systems Organization, COMPUTER SYSTEM
                 IMPLEMENTATION, Microcomputers. {\bf G.3} Mathematics
                 of Computing, PROBABILITY AND STATISTICS. {\bf G.m}
                 Mathematics of Computing, MISCELLANEOUS. {\bf I.6.0}
                 Computing Methodologies, SIMULATION AND MODELING,
                 General. {\bf C.2.3} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Operations,
                 Network monitoring.",
}

@Article{Krieger:1997:HPO,
  author =       "Orran Krieger and Michael Stumm",
  title =        "{HFS}: a Performance-Oriented Flexible File System
                 Based on Building-Block Compositions",
  journal =      j-TOCS,
  volume =       "15",
  number =       "3",
  pages =        "286--321",
  month =        aug,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-3/p286-krieger/",
  abstract =     "The Hurricane File System (HFS) is designed for
                 (potentially large-scale) shared-memory
                 multiprocessors. Its architecture is based on the
                 principle that, in order to maximize performance for
                 applications with diverse requirements, a file system
                 must support a wide variety of file structures, file
                 system policies, and I/O interfaces. Files in HFS are
                 implemented using simple building blocks composed in
                 potentially complex ways. This approach yields great
                 flexibility, allowing an application to customize the
                 structure and policies of a file to exactly meet its
                 requirements. As an extreme example, HFS allows a
                 file's structure to be optimized for concurrent
                 random-access write-only operations by 10 threads,
                 something no other file system can do. Similarly, the
                 prefetching, locking, and file cache management
                 policies can all be chosen to match an application's
                 access pattern. In contrast, most parallel file systems
                 support a single file structure and a small set of
                 policies. We have implemented HFS as part of the
                 Hurricane operating system running on the Hector
                 shared-memory multiprocessor. We demonstrate that the
                 flexibility of HFS comes with little processing or I/O
                 overhead. We also show that for a number of file access
                 patterns, HFS is able to deliver to the applications
                 the full I/O bandwidth of the disks on our system.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; performance",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, File organization. {\bf D.4.3} Software,
                 OPERATING SYSTEMS, File Systems Management, Access
                 methods. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements. {\bf E.5} Data, FILES,
                 Optimization**. {\bf E.5} Data, FILES,
                 Organization/structure.",
}

@Article{Lo:1997:CTL,
  author =       "Jack L. Lo and Joel S. Emer and Henry M. Levy and
                 Rebecca L. Stamm and Dean M. Tullsen",
  title =        "Converting Thread-Level Parallelism to
                 Instruction-Level Parallelism via Simultaneous
                 Multithreading",
  journal =      j-TOCS,
  volume =       "15",
  number =       "3",
  pages =        "322--354",
  month =        aug,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-3/p322-lo/",
  abstract =     "To achieve high performance, contemporary computer
                 systems rely on two forms of parallelism:
                 instruction-level parallelism (ILP) and thread-level
                 parallelism (TLP). Wide-issue super-scalar processors
                 exploit ILP by executing multiple instructions from a
                 single program in a single cycle. Multiprocessors (MP)
                 exploit TLP by executing different threads in parallel
                 on different processors. Unfortunately, both parallel
                 processing styles statically partition processor
                 resources, thus preventing them from adapting to
                 dynamically changing levels of ILP and TLP in a
                 program. With insufficient TLP, processors in an MP
                 will be idle; with insufficient ILP, multiple-issue
                 hardware on a superscalar is wasted. This article
                 explores parallel processing on an alternative
                 architecture, simultaneous multithreading (SMT), which
                 allows multiple threads to complete for and share all
                 of the processor's resources every cycle. The most
                 compelling reason for running parallel applications on
                 an SMT processor is its ability to use thread-level
                 parallelism and instruction-level parallelism
                 interchangeably. By permitting multiple threads to
                 share the processor's functional units simultaneously,
                 the processor can use both ILP and TLP to accommodate
                 variations in parallelism. When a program has only a
                 single thread, all of the SMT processor's resources can
                 be dedicated to that thread; when more TLP exists, this
                 parallelism can compensate for a lack of per-thread
                 ILP. We examine two alternative on-chip parallel
                 architectures for the next generation of processors. We
                 compare SMT and small-scale, on-chip multiprocessors in
                 their ability to exploit both ILP and TLP. First, we
                 identify the hardware bottlenecks that prevent
                 multiprocessors from effectively exploiting ILP. Then,
                 we show that because of its dynamic resource sharing,
                 SMT avoids these inefficiencies and benefits from being
                 able to run more threads on a single processor. The use
                 of TLP is especially advantageous when per-thread ILP
                 is limited. The ease of adding additional thread
                 contexts on an SMT (relative to adding additional
                 processors on an MP) allows simultaneous multithreading
                 to expose more parallelism, further increasing
                 functional unit utilization and attaining a 52\%
                 average speedup (versus a four-processor, single-chip
                 multiprocessor with comparable execution resources).
                 This study also addresses an often-cited concern
                 regarding the use of thread-level parallelism or
                 multithreading: interference in the memory system and
                 branch prediction hardware. We find the multiple
                 threads cause interthread interference in the caches
                 and place greater demands on the memory system, thus
                 increasing average memory latencies. By exploiting
                 threading-level parallelism, however, SMT hides these
                 additional latencies, so that they only have a small
                 impact on total program performance. We also find that
                 for parallel applications, the additional threads have
                 minimal effects on branch prediction.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "measurement; performance",
  subject =      "{\bf C.1.2} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Multiple Data Stream Architectures
                 (Multiprocessors), Parallel processors**. {\bf C.0}
                 Computer Systems Organization, GENERAL, Instruction set
                 design. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management.",
}

@Article{Levy:1997:GE,
  author =       "Henry M. Levy",
  title =        "Guest Editorial",
  journal =      j-TOCS,
  volume =       "15",
  number =       "4",
  pages =        "355--356",
  month =        nov,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-4/p355-levy/",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Anderson:1997:CPW,
  author =       "Jennifer M. Anderson and Lance M. Berc and Jeffrey
                 Dean and Sanjay Ghemawat and Monika R. Henzinger and
                 Shun-Tak A. Leung and Richard L. Sites and Mark T.
                 Vandevoorde and Carl A. Waldspurger and William E.
                 Weihl",
  title =        "Continuous Profiling: Where Have All the Cycles
                 Gone?",
  journal =      j-TOCS,
  volume =       "15",
  number =       "4",
  pages =        "357--390",
  month =        nov,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-4/p357-anderson/",
  abstract =     "This article describes the Digital Continuous
                 Profiling Infrastructure, a sampling-based profiling
                 system designed to run continuously on production
                 systems. The system supports multiprocessors, works on
                 unmodified executables, and collects profiles for
                 entire systems, including user programs, shared
                 libraries, and the operating system kernel. Samples are
                 collected at a high rate (over 5200 samples/sec. per
                 333MHz processor), yet with low overhead (1-3\%
                 slowdown for most workloads). Analysis tools supplied
                 with the profiling system use the sample data to
                 produce a precise and accurate accounting, down to the
                 level of pipeline stalls incurred by individual
                 instructions, of where time is bring spent. When
                 instructions incur stalls, the tools identify possible
                 reasons, such as cache misses, branch mispredictions,
                 and functional unit contention. The fine-grained
                 instruction-level analysis guides users and automated
                 optimizers to the causes of performance problems and
                 provides important insights for fixing them.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "performance",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Performance attributes. {\bf D.2.2}
                 Software, SOFTWARE ENGINEERING, Design Tools and
                 Techniques. {\bf D.2.6} Software, SOFTWARE ENGINEERING,
                 Programming Environments. {\bf D.4.7} Software,
                 OPERATING SYSTEMS, Organization and Design. {\bf D.4.8}
                 Software, OPERATING SYSTEMS, Performance. {\bf D.4.0}
                 Software, OPERATING SYSTEMS, General.",
}

@Article{Savage:1997:EDD,
  author =       "Stefan Savage and Michael Burrows and Greg Nelson and
                 Patrick Sobalvarro and Thomas Anderson",
  title =        "{Eraser}: a Dynamic Data Race Detector for
                 Multithreaded Programs",
  journal =      j-TOCS,
  volume =       "15",
  number =       "4",
  pages =        "391--411",
  month =        nov,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-4/p391-savage/",
  abstract =     "Multithreaded programming is difficult and error
                 prone. It is easy to make a mistake in synchronization
                 that produces a data race, yet it can be extremely hard
                 to locate this mistake during debugging. This article
                 describes a new tool, called Eraser, for dynamically
                 detecting data races in lock-based multithreaded
                 programs. Eraser uses binary rewriting techniques to
                 monitor every shared-monory reference and verify that
                 consistent locking behavior is observed. We present
                 several case studies, including undergraduate
                 coursework and a multithreaded Web search engine, that
                 demonstrate the effectiveness of this approach.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; experimentation; reliability",
  subject =      "{\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing
                 and Debugging, Monitors. {\bf D.1.3} Software,
                 PROGRAMMING TECHNIQUES, Concurrent Programming,
                 Parallel programming. {\bf D.2.5} Software, SOFTWARE
                 ENGINEERING, Testing and Debugging, Debugging aids.
                 {\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing and
                 Debugging, Tracing. {\bf D.4.1} Software, OPERATING
                 SYSTEMS, Process Management, Concurrency. {\bf D.4.1}
                 Software, OPERATING SYSTEMS, Process Management,
                 Deadlocks. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Mutual exclusion.",
}

@Article{Bugnion:1997:DRC,
  author =       "Edouard Bugnion and Scott Devine and Kinshuk Govil and
                 Mendel Rosenblum",
  title =        "{Disco}: Running Commodity Operating Systems on
                 Scalable Multiprocessors",
  journal =      j-TOCS,
  volume =       "15",
  number =       "4",
  pages =        "412--447",
  month =        nov,
  year =         "1997",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1997-15-4/p412-bugnion/",
  abstract =     "In this article we examine the problem of extending
                 modern operating systems to run efficiently on
                 large-scale shared-memory multiprocessors without a
                 large implementation effort. Our approach brings back
                 an idea popular in the 1970s: virtual machine monitors.
                 We use virtual machines to run multiple commodity
                 operating systems on a scalable multiprocessor. This
                 solution addresses many of the challenges facing the
                 system software for these machines. We demonstrate our
                 approach with a prototype called Disco that runs
                 multiple copies of Silicon Graphics' IRIX operating
                 system on a multiprocessor. Our experience shows that
                 the overheads of the monitor are small and that the
                 approach provides scalability as well as the ability to
                 deal with the nonuniform memory access time of these
                 systems. To reduce the memory overheads associated with
                 running multiple operating systems, virtual machines
                 transparently share major data structures such as the
                 program code and the file system buffer cache. We use
                 the distributed-system support of modern operating
                 systems to export a partial single system image to the
                 users. The overall solution achieves most of the
                 benefits of operating systems customized for scalable
                 multiprocessors, yet it can be achieved with a
                 significantly smaller implementation effort.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf D.4.7} Software, OPERATING SYSTEMS, Organization
                 and Design. {\bf C.1.2} Computer Systems Organization,
                 PROCESSOR ARCHITECTURES, Multiple Data Stream
                 Architectures (Multiprocessors), Parallel
                 processors**.",
}

@Article{Bal:1998:PEO,
  author =       "Henri E. Bal and Raoul Bhoedjang and Rutger Hofman and
                 Ceriel Jacobs and Koen Langendoen and Tim R{\"u}hl and
                 M. Frans Kaashoek",
  title =        "Performance Evaluation of the {Orca} Shared-Object
                 System",
  journal =      j-TOCS,
  volume =       "16",
  number =       "1",
  pages =        "1--40",
  month =        feb,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-1/p1-bal/",
  abstract =     "Orca is a portable, object-based distributed shared
                 memory (DSM) system. This article studies and evaluates
                 the design choices made in the Orca system and compares
                 Orca with other DSMs. The article gives a quantitative
                 analysis of Orca's coherence protocol (based on
                 write-updates with function shipping), the totally
                 ordered group communication protocol, the strategy for
                 object placement, and the all-software, user-space
                 architecture. Performance measurements for 10 parallel
                 applications illustrate the trade-offs made in the
                 design of Orca and show that essentially the right
                 design decisions have been made. A write-update
                 protocol with function shipping is effective for Orca,
                 especially since it is used in combination with
                 techniques that avoid replicating objects that have a
                 low read/write ratio. The overhead of totally ordered
                 group communication on application performance is low.
                 The Orca system is able to make near-optimal decisions
                 for object placement and replication. In addition, the
                 article compares the performance of Orca with that of a
                 page-based DSM (TreadMarks) and another object-based
                 DSM (CRL). It also analyzes the communication overhead
                 of the DSMs for several applications. All performance
                 measurements are done on a 32-node Pentium Pro cluster
                 with Myrinet and Fast Ethernet networks. The results
                 show that Orca programs send fewer messages and less
                 data than the TreadMarks and CRL programs and obtain
                 better speedups.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; languages; performance",
  subject =      "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Run-time environments. {\bf D.1.3}
                 Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming, Distributed programming. {\bf D.1.3}
                 Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming, Parallel programming. {\bf D.3.2}
                 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Concurrent, distributed, and parallel
                 languages. {\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Compilers.",
}

@Article{Derk:1998:RFT,
  author =       "M. D. Derk and L. S. DeBrunner",
  title =        "Reconfiguration for Fault Tolerance Using Graph
                 Grammars",
  journal =      j-TOCS,
  volume =       "16",
  number =       "1",
  pages =        "41--54",
  month =        feb,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-1/p41-derk/",
  abstract =     "Reconfiguration for fault tolerance is a widely
                 studied field, but this work applies graph grammars to
                 this discipline for the first time. Reconfiguration
                 Graph Grammars (RGG) are defined and applied to the
                 definition of processor array reconfiguration
                 algorithms. The nodes of a graph are associated with
                 the processors of a processor array, and the edges are
                 associated with those interprocessor communication
                 lines that are active. The resulting algorithms for
                 dynamic (run-time) reconfiguration are efficient and
                 can be implemented distributively.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; design; reliability; theory",
  subject =      "{\bf C.4} Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Reliability, availability, and
                 serviceability. {\bf F.4.2} Theory of Computation,
                 MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and
                 Other Rewriting Systems. {\bf C.1.2} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Multiple Data
                 Stream Architectures (Multiprocessors),
                 Multiple-instruction-stream, multiple-data-stream
                 processors (MIMD).",
}

@Article{Mowry:1998:TLM,
  author =       "Todd C. Mowry",
  title =        "Tolerating Latency in Multiprocessors through
                 Compiler-Inserted Prefetching",
  journal =      j-TOCS,
  volume =       "16",
  number =       "1",
  pages =        "55--92",
  month =        feb,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-1/p55-mowry/",
  abstract =     "The large latency of memory accesses in large-scale
                 shared-memory multiprocessors is a key obstacle to
                 achieving high processor utilization. {\em
                 Software-controlled prefetching\/} is a technique for
                 tolerating memory latency by explicitly executing
                 instructions to move data close to the processor before
                 the data are actually needed. To minimize the burden on
                 the programmer, compiler support is needed to
                 automatically insert prefetch instructions into the
                 code. A key challenge when inserting prefetches is
                 ensuring that the overheads of prefetching do not
                 outweigh the benefits. While previous studies have
                 demonstrated the effectiveness of hand-inserted
                 prefetching in multiprocessor applications, the benefit
                 of {\em compiler-inserted\/} prefetching in practice
                 has remained an open question. This article proposes
                 and evaluates a new compiler algorithm for inserting
                 prefetches into multiprocessor code. The proposed
                 algorithm attempts to minimize overheads by only
                 issuing prefetches for references that are predicted to
                 suffer cache misses. The algorithm can prefetch both
                 dense-matrix and sparse-matrix codes, thus covering a
                 large fraction of scientific applications. We have
                 implemented our algorithm in the SUIF(Stanford
                 University Intermediate Format) optimizing compiler.
                 The results of our detailed architectural simulations
                 demonstrate that compiler-inserted prefetching can
                 improve the speed of some parallel applications by as
                 much as a factor of two.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
                 Processors, Optimization. {\bf B.3.2} Hardware, MEMORY
                 STRUCTURES, Design Styles, Cache memories. {\bf D.3.4}
                 Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers.",
}

@Article{Agarwal:1998:TMR,
  author =       "D. A. Agarwal and L. E. Moser and P. M. Melliar-Smith
                 and R. K. Budhia",
  title =        "The {Totem} Multiple-Ring Ordering and Topology
                 Maintenance Protocol",
  journal =      j-TOCS,
  volume =       "16",
  number =       "2",
  pages =        "93--132",
  month =        may,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-2/p93-agarwal/",
  abstract =     "The Totem multiple-ring protocol provides reliable
                 totally ordered delivery of messages across multiple
                 local-area networks interconnected by gateways. This
                 consistent message order is maintained in the presence
                 of network partitioning and remerging, and of processor
                 failure and recovery. The protocol provides accurate
                 topology change information as part of the global total
                 order of messages. It addresses the issue of
                 scalability and achieves a latency that increases
                 logarithmically with system size by exploiting process
                 group locality and selective forwarding of messages
                 through the gateways. Pseudocode for the protocol and
                 an evaluation of its performance are given. ---Authors'
                 Abstract",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "algorithms; performance; reliability",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf C.2.1} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS, Network
                 Architecture and Design, Network communications. {\bf
                 C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Fault
                 tolerance.",
}

@Article{Lamport:1998:PTP,
  author =       "Leslie Lamport",
  title =        "The Part-Time Parliament",
  journal =      j-TOCS,
  volume =       "16",
  number =       "2",
  pages =        "133--169",
  month =        may,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-2/p133-lamport/",
  abstract =     "Recent archaeological discoveries on the island of
                 Paxos reveal that the parliament functioned despite the
                 peripatetic propensity of its part-time legislators.
                 The legislators maintained consistent copies of the
                 parliamentary record, despite their frequent forays
                 from the chamber and the forgetfulness of their
                 messengers. The Paxon parliament's protocol provides a
                 new way of implementing the state machine approach to
                 the design of distributed systems.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; reliability",
  subject =      "{\bf C.2.4} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Network operating systems. {\bf D.4.5} Software,
                 OPERATING SYSTEMS, Reliability, Fault-tolerance. {\bf
                 J.1} Computer Applications, ADMINISTRATIVE DATA
                 PROCESSING, Government.",
}

@Article{Horowitz:1998:IMO,
  author =       "Mark Horowitz and Margaret Martonoisi and Todd C.
                 Mowry and Michael D. Smith",
  title =        "Informing Memory Operations: Memory Performance
                 Feedback Mechanisms and Their Applications",
  journal =      j-TOCS,
  volume =       "16",
  number =       "2",
  pages =        "170--205",
  month =        may,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-2/p170-horowitz/",
  abstract =     "Memory latency is an important bottleneck in system
                 performance that cannot be adequately solved by
                 hardware alone. Several promising software techniques
                 have been shown to address this problem successfully in
                 specific situations. However, the generality of these
                 software approaches has been limited because current
                 architectures do not provide a fine-grained,
                 low-overhead mechanism for observing and reacting to
                 memory behavior directly. To fill this need, this
                 article proposes a new class of memory operations
                 called {\em informing memory operations}, which
                 essentially consist of a memory operating combined
                 (either implicitly or explicitly) with a conditional
                 branch-and-ink operation that is taken only if the
                 reference suffers a cache miss. This article describes
                 two different implementations of informing memory
                 operations. One is based on a {\em cache-outcome
                 condition code}, and the other is based on {\em
                 low-overhead traps.\/} We find that modern
                 in-order-issue and out-of-order-issue superscalar
                 processors already contain the bulk of the necessary
                 hardware support. We describe how a number of
                 software-based memory optimizations can exploit
                 informing memory operations to enhance performance, and
                 we look at cache coherence with fine-grained access
                 control as a case study. Our performance results
                 demonstrate that the runtime overhead of invoking the
                 informing mechanism on the Alpha 21164 and MIPS R10000
                 processors is generally small enough to provide
                 considerable flexibility to hardware and software
                 designers, and that the cache coherence application has
                 improved performance compared to other current
                 solutions. We believe that the inclusion of informing
                 memory operations in future processors may spur even
                 more innovative performance optimizations.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance",
  subject =      "{\bf B.3.2} Hardware, MEMORY STRUCTURES, Design
                 Styles, Cache memories. {\bf C.4} Computer Systems
                 Organization, PERFORMANCE OF SYSTEMS, Measurement
                 techniques. {\bf D.3.4} Software, PROGRAMMING
                 LANGUAGES, Processors, Compilers. {\bf B.8.2} Hardware,
                 PERFORMANCE AND RELIABILITY, Performance Analysis and
                 Design Aids.",
}

@Article{Alexandrov:1998:UPG,
  author =       "Albert D. Alexandrov and Maximilian Ibel and Klaus E.
                 Schauser and Chris J. Scheiman",
  title =        "{Ufo}: a Personal Global File System Based on
                 User-Level Extensions to the Operating System",
  journal =      j-TOCS,
  volume =       "16",
  number =       "3",
  pages =        "207--233",
  month =        aug,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-3/p207-alexandrov/",
  abstract =     "In this article we show how to extend a wide range of
                 functionality of standard operation systems completely
                 at the user level. Our approach works by intercepting
                 selected system calls at the user level, using tracing
                 facilities such as the /proc file system provided by
                 many Unix operating systems. The behavior of some
                 intercepted system calls is then modified to implement
                 new functionality. This approach does not require any
                 relinking or recompilation of existing applications. In
                 fact, the extensions can even be dynamically
                 ``installed'' into already running processes. The
                 extensions work completely at the user level and
                 install without system administrator assistance.
                 Individual users can choose what extensions to run, in
                 effect creating a personalized operating system view
                 for themselves. We used this approach to implement a
                 global file system, called Ufo, which allows users to
                 treat remote files exactly as if they were local.
                 Currently, Ufo supports file access through the FTP and
                 HTTP protocols and allows new protocols to be plugged
                 in. While several other projects have implemented
                 global file system abstractions, they all require
                 either changes to the operating system or modifications
                 to standard libraries. The article gives a detailed
                 performance analysis of our approach to extending the
                 OS and establishes that Ufo introduces acceptable
                 overhead for common applications even though
                 intercepting individual system calls incurs a high
                 cost.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "performance",
  subject =      "{\bf D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management. {\bf D.4.3} Software, OPERATING SYSTEMS,
                 File Systems Management, Distributed file systems. {\bf
                 D.4.3} Software, OPERATING SYSTEMS, File Systems
                 Management, Access methods.",
}

@Article{Gabbay:1998:UVP,
  author =       "Freddy Gabbay and Avi Mendelson",
  title =        "Using Value Prediction to Increase the Power of
                 Speculative Execution Hardware",
  journal =      j-TOCS,
  volume =       "16",
  number =       "3",
  pages =        "234--270",
  month =        aug,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-3/p234-gabbay/",
  abstract =     "This article presents an experimental and analytical
                 study of value prediction and its impact on speculative
                 execution in superscalar microprocessors. Value
                 prediction is a new paradigm that suggests predicting
                 outcome values of operations (at run-time ) and using
                 these predicted values to trigger the execution of
                 true-data-dependent operations speculatively. As a
                 result, stals to memory locations can be reduced and
                 the amount of instruction-level parallelism can be
                 extended beyond the limits of the program's dataflow
                 graph. This article examines the characteristics of the
                 value prediction concept from two perspectives: (1) the
                 related phenomena that are reflected in the nature of
                 computer programs and (2) the significance of these
                 phenomena to boosting instruction-level parallelism of
                 superscalar microprocessors that support speculative
                 execution. In order to better understand these
                 characteristics, our work combines both analytical and
                 experimental studies.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; measurement; performance",
  subject =      "{\bf C.0} Computer Systems Organization, GENERAL,
                 System architectures. {\bf C.1.1} Computer Systems
                 Organization, PROCESSOR ARCHITECTURES, Single Data
                 Stream Architectures, RISC. {\bf C.5.3} Computer
                 Systems Organization, COMPUTER SYSTEM IMPLEMENTATION,
                 Microcomputers, Microprocessors. {\bf C.0} Computer
                 Systems Organization, GENERAL, Instruction set
                 design.",
}

@Article{Juurlink:1998:QCP,
  author =       "Ben H. H. Juurlink and Harry A. G. Wijshoff",
  title =        "A Quantitative Comparison of Parallel Computation
                 Models",
  journal =      j-TOCS,
  volume =       "16",
  number =       "3",
  pages =        "271--318",
  month =        aug,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jan 13 18:36:53 MST 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-3/p271-juurlink/",
  abstract =     "In recent years, a large number of parallel
                 computation models have been proposed to replace the
                 PRAM as the parallel computation model presented to the
                 algorithm designer. Although mostly the theoretical
                 justifications for these models are sound, and many
                 algorithmic results where obtained through these
                 models, little experimentation has been conducted to
                 validate the effectiveness of these models for
                 developing cost-effective algorithms and applications
                 on existing hardware platforms. In this article a first
                 attempt is made to perform a detailed experimental
                 account on the preciseness of these models. The achieve
                 this, three models (BSP, E-BSP, and BPRAM) were
                 selected and validated on five parallel platforms (Cray
                 T3E, Thinking Machines CM-5, Intel Paragon, MasPar
                 MP-1, and Parsytec GCel). The work described in this
                 article consists of three parts. First, the predictive
                 capabilities of the models are investigated. Unlike
                 previous experimental work, which mostly demonstrated a
                 close match between the measured and predicted
                 execution times, this article shows that there are
                 several situations in which the models do not precisely
                 predict the actual runtime behavior of an algorithm
                 implementation. Second, a comparison between the models
                 is provided in order to determine the model that
                 induces that most efficient algorithms. Lastly, the
                 performance achieved by the model-derived algorithms is
                 compared with the performance attained by
                 machine-specific algorithms in order to examine the
                 effectiveness of deriving fast algorithms through the
                 formalisms of the models.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "experimentation; performance",
  subject =      "{\bf C.1.4} Computer Systems Organization, PROCESSOR
                 ARCHITECTURES, Parallel Architectures. {\bf C.4}
                 Computer Systems Organization, PERFORMANCE OF SYSTEMS,
                 Modeling techniques. {\bf D.1.3} Software, PROGRAMMING
                 TECHNIQUES, Concurrent Programming, Parallel
                 programming.",
}

@Article{Bhatti:1998:CSC,
  author =       "Nina T. Bhatti and Matti A. Hiltunen and Richard D.
                 Schlichting and Wanda Chiu",
  title =        "{Coyote}: a system for constructing fine-grain
                 configurable communication services",
  journal =      j-TOCS,
  volume =       "16",
  number =       "4",
  pages =        "321--366",
  month =        nov,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jul 26 16:27:34 MDT 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-4/p321-bhatti/",
  abstract =     "Communication-oriented abstractions such as atomic
                 multicast, group RPC, and protocols for
                 location-independent mobile computing can simplify the
                 development of complex applications built on
                 distributed systems. This article describes Coyote, a
                 system that supports the construction of highly modular
                 and configurable versions of such abstractions. Coyote
                 extends the notion of protocol objects and hierarchical
                 composition found in existing systems with support for
                 finer-grain microprotocol objects and a nonhierarchical
                 composition scheme for use within a single layer of a
                 protocol stack. A customized service is constructed by
                 selecting microprotocols based on their semantic
                 guarantees and configuring them together with a
                 standard runtime system to form a composite protocol
                 implementing the service. This composite protocol is
                 then composed hierarchically with other protocols to
                 form a complete network subsystem. The overall approach
                 is described and illustrated with examples of services
                 that have been constructed using Coyote, including
                 atomic multicast, group RPC, membership, and mobile
                 computing protocols. A prototype implementation based
                 on extending {\em x\/}-kernel version 3.2 running on
                 Mach 3.0 with support for microprotocols is also
                 presented, together with performance results from a
                 suite of microprotocols from which over 60 variants of
                 group RPC can be constructed.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "design; experimentation; performance; reliability",
  subject =      "{\bf C.2.2} Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
                 Protocol architecture. {\bf C.2.4} Computer Systems
                 Organization, COMPUTER-COMMUNICATION NETWORKS,
                 Distributed Systems, Distributed applications. {\bf
                 D.1.3} Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming, Distributed programming. {\bf D.4.4}
                 Software, OPERATING SYSTEMS, Communications Management,
                 Network communication. {\bf D.4.5} Software, OPERATING
                 SYSTEMS, Reliability, Fault-tolerance. {\bf D.4.7}
                 Software, OPERATING SYSTEMS, Organization and Design,
                 Distributed systems. {\bf D.2.13} Software, SOFTWARE
                 ENGINEERING, Reusable Software.",
}

@Article{Epema:1998:DUS,
  author =       "D. H. J. Epema",
  title =        "Decay-usage scheduling in multiprocessors",
  journal =      j-TOCS,
  volume =       "16",
  number =       "4",
  pages =        "367--415",
  month =        nov,
  year =         "1998",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jul 26 16:27:34 MDT 1999",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/tocs/1998-16-4/p367-epema/",
  abstract =     "Decay-usage scheduling is a priority-aging
                 time-sharing scheduling policy capable of dealing with
                 a workload of both interactive and batch jobs by
                 decreasing the priority of a job when it acquires CPU
                 time, and by increasing its priority when it does not
                 use the (a) CPU. In this article we deal with a
                 decay-usage scheduling policy in multiprocessors
                 modeled after widely used systems. The priority of a
                 job consists of a base priority and a time-dependent
                 component based on processor usage. Because t he
                 priorities in our model are time dependent, a
                 queuing-theoretic analysis---for instance, for the mean
                 job response time---seems impossible. Still, it turns
                 out that as a consequence of the scheduling policy, the
                 shares of the available CPU time obtained by jobs
                 converge, and a deterministic analysis for these shares
                 is feasible: We show how for a fixed set of jobs with
                 large processing demands, the steady-state shares can
                 be obtained given the base priorities, and conversely,
                 how to set the base priorities given the required
                 shares. In addition, we analyze the relation between
                 the values of the scheduler parameters and the level of
                 control it can exercise over the steady-state share
                 ratios, and we deal with the rate of convergence. We
                 validate the model by simulations and by measurements
                 of actual systems.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "measurement; performance",
  subject =      "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
                 Management,
                 Multiprocessing/multiprogramming/multitasking. {\bf
                 D.4.1} Software, OPERATING SYSTEMS, Process Management,
                 Scheduling. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Measurements. {\bf D.4.8} Software,
                 OPERATING SYSTEMS, Performance, Modeling and
                 prediction. {\bf D.4.8} Software, OPERATING SYSTEMS,
                 Performance, Simulation.",
}

@Article{Srinivasan:1999:FAL,
  author =       "V. Srinivasan and G. Varghese",
  title =        "Fast address lookups using controlled prefix
                 expansion",
  journal =      j-TOCS,
  volume =       "17",
  number =       "1",
  pages =        "1--40",
  month =        feb,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-1/p1-srinivasan/",
  abstract =     "Internet (IP) address lookup is a major bottleneck in
                 high-performance routers. IP address lookup is
                 challenging because it requires a {\em longest matching
                 prefix\/} lookup. It is compounded by increasing
                 routing table sizes, increased traffic, higher-speed
                 links, and the migration to 128-bit IPv6 addresses. We
                 describe how IP lookups and updates can be made faster
                 using a set of transformation techniques. Our main
                 technique, {\em controlled prefix expansion},
                 transforms a set of prefixes into an equivalent set
                 with fewer prefix lengths. In addition, we use
                 optimization techniques based on dynamic programming,
                 and local transformations of data structures to improve
                 cache behavior. When applied to trie search, our
                 techniques provide a range of algorithms ({\em Expanded
                 Tries\/}) whose performance can be tuned. For example,
                 using a processor with 1MB of L2 cache, search of the
                 MaeEast database containing 38000 prefixes can be done
                 in 3 L2 cache accesses. On a 300MHz Pentium II which
                 takes 4 cycles for accessing the first word of the L2
                 cacheline, this algorithm has a worst-case search time
                 of 180 nsec., a worst-case insert/delete time of 2.5
                 msec., and an average insert/delete time of 4 usec.
                 Expanded tries provide faster search {\em and\/} faster
                 insert/delete times than earlier lookup algorithms.
                 When applied to Binary Search on Levels, our techniques
                 improve worst-case search times by nearly a factor of 2
                 (using twice as much storage) for the MaeEast database.
                 Our approach to algorithm design is based on
                 measurements using the VTune tool on a Pentium to
                 obtain dynamic clock cycle counts. Our techniques also
                 apply to similar address lookup problems in other
                 network protocols.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "binary search on levels; controlled prefix expansion;
                 expanded tries; Internet address lookup; longest-prefix
                 match; multibit tries; router performance",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Local and Wide-Area
                 Networks (C.2.5): {\bf Internet}; Computer Systems
                 Organization --- Computer-Communication Networks ---
                 Network Protocols (C.2.2): {\bf Routing protocols};
                 Computer Systems Organization ---
                 Computer-Communication Networks --- Internetworking
                 (C.2.6): {\bf Routers}",
}

@Article{Birman:1999:BM,
  author =       "Kenneth P. Birman and Mark Hayden and Oznur Ozkasap
                 and Zhen Xiao and Mihai Budiu and Yaron Minsky",
  title =        "Bimodal multicast",
  journal =      j-TOCS,
  volume =       "17",
  number =       "2",
  pages =        "41--88",
  month =        may,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-2/p41-birman/",
  abstract =     "There are many methods for making a multicast protocol
                 ``reliable.'' At one end of the spectrum, a reliable
                 multicast protocol might offer atomicity guarantees,
                 such as all-or-nothing delivery, delivery ordering, and
                 perhaps additional properties such as virtually
                 synchronous addressing. At the other are protocols that
                 use local repair to overcome transient packet loss in
                 the network, offering ``best effort'' reliability. Yet
                 none of this prior work has treated stability of
                 multicast delivery as a basic reliability property,
                 such as might be needed in an internet radio,
                 television, or conferencing application. This article
                 looks at reliability with a new goal: development of a
                 multicast protocol which is reliable in a sense that
                 can be rigorously quantified and includes throughput
                 stability guarantees. We characterize this new protocol
                 as a ``bimodal multicast'' in reference to its
                 reliability model, which corresponds to a family of
                 bimodal probability distributions. Here, we introduce
                 the protocol, provide a theoretical analysis of its
                 behavior, review experimental results, and discuss some
                 candidate applications. These confirm that bimodal
                 multicast is reliable, scalable, and that the protocol
                 provides remarkably stable delivery throughput.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Network
                 Architecture and Design (C.2.1): {\bf Network
                 communications}",
}

@Article{Diniz:1999:ESO,
  author =       "Pedro C. Diniz and Martin C. Rinard",
  title =        "Eliminating synchronization overhead in automatically
                 parallelized programs using dynamic feedback",
  journal =      j-TOCS,
  volume =       "17",
  number =       "2",
  pages =        "89--132",
  month =        may,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-2/p89-diniz/",
  abstract =     "This article presents dynamic feedback, a technique
                 that enables computations to adapt dynamically to
                 different execution environments. A compiler that uses
                 dynamic feedback produces several different versions of
                 the same source code; each version uses a different
                 optimization policy. The generated code alternately
                 performs sampling phases and production phases. Each
                 sampling phase measures the overhead of each version in
                 the current environment. Each production phase uses the
                 version with the least overhead in the previous
                 sampling phase. The computation periodically resamples
                 to adjust dynamically to changes in the environment. We
                 have implemented dynamic feedback in the context of a
                 parallelizing compiler for object-based programs. The
                 generated code uses dynamic feedback to automatically
                 choose the best synchronization optimization policy.
                 Our experimental results show that the synchronization
                 optimization policy has a significant impact on the
                 overall performance of the computation, that the best
                 policy varies from program to program, that the
                 compiler is unable to statically choose the best
                 policy, and that dynamic feedback enables the generated
                 code to exhibit performance that is comparable to that
                 of code that has been manually tuned to use the best
                 policy. We have also performed a theoretical analysis
                 which provides, under certain assumptions, a guaranteed
                 optimality bound for dynamic feedback relative to a
                 hypothetical (and unrealizable) optimal algorithm that
                 uses the best policy at every point during the
                 execution.",
  acknowledgement = ack-nhfb,
  generalterms = "Measurement; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "parallel computing; parallelizing compilers",
  subject =      "Computer Systems Organization --- Performance of
                 Systems (C.4): {\bf Measurement techniques}; Software
                 --- Programming Techniques --- Concurrent Programming
                 (D.1.3); Software --- Programming Techniques ---
                 Object-oriented Programming (D.1.5); Software ---
                 Programming Languages --- Processors (D.3.4): {\bf Code
                 generation}; Software --- Programming Languages ---
                 Processors (D.3.4): {\bf Compilers}; Software ---
                 Programming Languages --- Processors (D.3.4): {\bf
                 Optimization}; Software --- Programming Languages ---
                 Processors (D.3.4): {\bf Run-time environments};
                 Software --- Programming Techniques --- Concurrent
                 Programming (D.1.3): {\bf Parallel programming};
                 Computer Systems Organization --- Performance of
                 Systems (C.4): {\bf Design studies}",
}

@Article{Ronsse:1999:RFI,
  author =       "Michiel Ronsse and Koen {De Bosschere}",
  title =        "{RecPlay}: a fully integrated practical record\slash
                 replay system",
  journal =      j-TOCS,
  volume =       "17",
  number =       "2",
  pages =        "133--152",
  month =        may,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-2/p133-ronsse/",
  abstract =     "This article presents a practical solution for the
                 cyclic debugging of nondeterministic parallel programs.
                 The solution consists of a combination of record\slash
                 replay with automatic on-the-fly data race detection.
                 This combination enables us to limit the record phase
                 to the more efficient recording of the synchronization
                 operations, while deferring the time-consuming data
                 race detection to the replay phase. As the record phase
                 is highly efficient, there is no need to switch it off,
                 hereby eliminating the possibility of Heisenbugs
                 because tracing can be left on all the time. This
                 article describes an implementation of the tools needed
                 to support RecPlay.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Experimentation; Reliability",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "binary code modification; multithreaded programming;
                 race detection",
  subject =      "Software --- Programming Techniques --- Concurrent
                 Programming (D.1.3): {\bf Parallel programming};
                 Software --- Software Engineering --- Testing and
                 Debugging (D.2.5): {\bf Debugging aids}; Software ---
                 Software Engineering --- Testing and Debugging (D.2.5):
                 {\bf Monitors}; Software --- Software Engineering ---
                 Testing and Debugging (D.2.5): {\bf Tracing}; Software
                 --- Operating Systems --- Process Management (D.4.1):
                 {\bf Concurrency}; Software --- Operating Systems ---
                 Process Management (D.4.1): {\bf Deadlocks}; Software
                 --- Operating Systems --- Process Management (D.4.1):
                 {\bf Multiprocessing/multiprogramming/multitasking};
                 Software --- Operating Systems --- Process Management
                 (D.4.1): {\bf Mutual exclusion}; Software --- Operating
                 Systems --- Process Management (D.4.1): {\bf
                 Synchronization}",
}

@Article{Amsaleg:1999:GCC,
  author =       "Laurent Amsaleg and Michael J. Franklin and Olivier
                 Gruber",
  title =        "Garbage collection for a client-server persistent
                 object store",
  journal =      j-TOCS,
  volume =       "17",
  number =       "3",
  pages =        "153--201",
  month =        aug,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-3/p153-amsaleg/",
  abstract =     "We describe an efficient server-based algorithm for
                 garbage collecting persistent object stores in a
                 client-server environment. The algorithm is incremental
                 and runs concurrently with client transactions. Unlike
                 previous algorithms, it does not hold any transactional
                 locks on data and does non require callbacks to
                 clients. It is fault-tolerant, but performs very little
                 logging. The algorithm has been designed to be
                 integrated into existing systems, and therefore it
                 works with standard implementation techniques such as
                 Two-Phase Locking and Write-Ahead-Logging. In addition,
                 it supports client-server performance optimizations
                 such as client caching and flexible management of
                 client buffers. We describe an implementation of the
                 algorithm in the EXODUS storage manager and present the
                 results of a performance study of the implementation.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Measurement; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "client-server system; logging; persistent
                 object-store; recovery",
  subject =      "Software --- Operating Systems --- Storage Management
                 (D.4.2): {\bf Garbage collection}; Information Systems
                 --- Database Management --- Systems (H.2.4): {\bf
                 Distributed databases}; Information Systems ---
                 Database Management --- Systems (H.2.4): {\bf
                 Object-oriented databases}; Information Systems ---
                 Database Management --- Systems (H.2.4): {\bf
                 Transaction processing}",
}

@Article{Raghavachari:1999:ALP,
  author =       "Mukund Raghavachari and Anne Rogers",
  title =        "{Ace}: a language for parallel programming with
                 customizable protocols",
  journal =      j-TOCS,
  volume =       "17",
  number =       "3",
  pages =        "202--248",
  month =        aug,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-3/p202-raghavachari/",
  abstract =     "Customizing the protocols that manage accesses to
                 different data structures within an application can
                 improve the performance of software shared-memory
                 programs substantially. Existing systems for using
                 customizable protocols are hard to use directly because
                 the mechanisms they provide for manipulating protocols
                 are low-level ones. This article is an in-depth study
                 of the issues involved in providing language support
                 for application-specific protocols. We describe the
                 design and implementation of a new language for
                 parallel programming, Ace, that integrates support for
                 customizable protocols with minimal extensions to C.
                 Ace applications are developed using a shared-memory
                 model with a default sequentially consistent protocol.
                 Performance can then be optimized, with minor
                 modifications to the application, by experimenting with
                 different protocol libraries. The design of Ace was
                 driven by a detailed study of the use of customizable
                 protocols. We delineate the issues that arise when
                 programming with customizable protocols and present
                 novel abstractions that allow for their easy use. We
                 describe the design and implementation of a runtime
                 system and compiler for Ace nd discuss compiler
                 optimizations that improve the performance of such
                 software shared-memory systems. We study the
                 communication patterns of a set of benchmark
                 applications and consider the use of customizable
                 protocols to optimize their performance. We evaluate
                 the performance of our system through experiments on a
                 Thinking Machine CM-5 and a Cray T3E. We also present
                 measurements that demonstrate that Ace has good
                 performance compared to that of a modern distributed
                 shared-memory system.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "parallel processing",
  subject =      "Software --- Programming Languages --- Language
                 Constructs and Features (D.3.3); Software ---
                 Programming Languages --- Processors (D.3.4): {\bf
                 Compilers}; Software --- Programming Languages ---
                 Processors (D.3.4): {\bf Run-time environments};
                 Software --- Programming Languages --- Language
                 Classifications (D.3.2); Software --- Programming
                 Techniques --- Concurrent Programming (D.1.3): {\bf
                 Parallel programming}",
}

@Article{Hari:1999:APS,
  author =       "Adiseshu Hari and George Varghese and Guru Parulkar",
  title =        "An architecture for packet-striping protocols",
  journal =      j-TOCS,
  volume =       "17",
  number =       "4",
  pages =        "249--287",
  month =        nov,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/1999-17-4/p249-hari/p249-hari.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/1999-17-4/p249-hari/",
  abstract =     "Link-striping algorithms are often used to overcome
                 transmission bottlenecks in computer networks.
                 Traditional striping algorithms suffer from two major
                 disadvantages. They provide inadequate load sharing in
                 the presence of variable-length packets, and may result
                 in non-FIFO delivery of data. We describe a new family
                 of link-striping algorithms that solves both problems.
                 Our scheme applies to any layer that can provide
                 multiple FIFO channels. We deal with variable-sized
                 packets by showing how fair-queuing algorithms can be
                 transformed into load-sharing algorithms. Our
                 transformation results in practical load-sharing
                 protocols, and shows a theoretical connection between
                 two seemingly different problems. The same
                 transformation can be applied to obtain load-sharing
                 protocols for links with different capacities. We deal
                 with the FIFO requirement for two separate cases. If a
                 sequence number can be added to each packet, we show
                 how to speed up packet processing by letting the
                 receiver simulate the sender algorithm. If no header
                 can be added, we show how to provide quasi FIFO
                 delivery. Quasi FIFO is FIFO except during occasional
                 periods of loss of synchronization. We argue that quasi
                 FIFO is adequate for most applications. We also
                 describe a simple technique for speedy restoration of
                 synchronization in the event of loss. We develop an
                 architectural framework for transparently embedding our
                 protocol at the network level by striping IP packets
                 across multiple physical interfaces. The resulting
                 stripe protocol has been implemented within the NetBSD
                 kernel. Our measurements and simulations show that the
                 protocol offers scalable throughput even when striping
                 is done over dissimilar links, and that the protocol
                 synchronized quickly after packet loss. Measurements
                 show performance improvements over conventional
                 round-robin striping schemes and striping schemes that
                 do not resequence packets. Some aspects of our solution
                 have been implemented in Cisco's router operating
                 system (IOS 11.3) in the context of Multilink PPP
                 striping.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Design; Measurement; Performance; Theory",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "causal fair queuing; fair queuing; load sharing;
                 multilink PPP; packet striping; stripe protocol;
                 striping",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Network Protocols
                 (C.2.2): {\bf Protocol architecture}",
}

@Article{McKinley:1999:QLN,
  author =       "Kathryn S. McKinley and Olivier Temam",
  title =        "Quantifying loop nest locality using {SPEC'95} and the
                 {Perfect} benchmarks",
  journal =      j-TOCS,
  volume =       "17",
  number =       "4",
  pages =        "288--336",
  month =        nov,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-4/p288-mckinley/",
  abstract =     "This article analyzes and quantifies the locality
                 characteristics of numerical loop nests in order to
                 suggest future directions for architecture and software
                 cache optimizations. Since most programs spend the
                 majority of their time in nests, the vast majority of
                 cache optimization techniques target loop nests. In
                 contrast, the locality characteristics that drive these
                 optimizations are usually collected across the entire
                 application rather than at the nest level. Researchers
                 have studied numerical codes for so long that a number
                 of commonly held assertions have emerged on their
                 locality characteristics. In light of these assertions,
                 we use the SPEC'95 and Perfect Benchmarks to take a new
                 look at measuring locality on numerical codes based on
                 references, loop nests, and program locality
                 properties. Our results show that several popular
                 assertions are at best overstatements. For example,
                 although most reuse is within a loop nest, in line with
                 popular assertions, most misses are internest capacity
                 misses, and they correspond to potential reuse between
                 nearby loop nests. In addition, we find that temporal
                 and spatial reuse have balanced roles within a loop
                 nest and that most reuse across nests and the entire
                 program is temporal. These results are consistent with
                 high hit rates (80\% or more hits), but go against the
                 commonly held assumption that spatial reuse dominates.
                 Our locality measurements reveal important differences
                 between loop nests and programs, refute some popular
                 assertions, and provide new insights for the compiler
                 writer and the architect.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  subject =      "Computer Systems Organization --- Performance of
                 Systems (C.4): {\bf Performance attributes}; Computer
                 Systems Organization --- Performance of Systems (C.4):
                 {\bf Measurement techniques}",
}

@Article{Rinard:1999:EFG,
  author =       "Martin C. Rinard",
  title =        "Effective fine-grain synchronization for automatically
                 parallelized programs using optimistic synchronization
                 primitives",
  journal =      j-TOCS,
  volume =       "17",
  number =       "4",
  pages =        "337--371",
  month =        nov,
  year =         "1999",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/1999-17-4/p337-rinard/",
  abstract =     "This article presents our experience using optimistic
                 synchronization to implement fine-grain atomic
                 operations in the context of a parallelizing compiler
                 for irregular, object-based computations. Our
                 experience shows that the synchronization requirements
                 of these programs differ significantly from those of
                 traditional parallel computations, which use loop nests
                 to access dense matrices using affine access functions.
                 In addition to coarse-grain barrier synchronization,
                 our irregular computations require synchronization
                 primitives that support efficient fine-grain atomic
                 operations. The standard implementation mechanism for
                 atomic operations uses mutual exclusion locks. But the
                 overhead of acquiring and releasing locks can reduce
                 the performance. Locks can also consume significant
                 amounts of memory. Optimistic synchronization
                 primitives such as {\em load-linked/store
                 conditional\/} are an attractive alternative. They
                 require no additional memory and eliminate the use of
                 heavyweight blocking synchronization constructs. We
                 evaluate the effectiveness of optimistic
                 synchronization by comparing experimental results from
                 two versions of a parallelizing compiler for irregular,
                 object-based computations. One version generates code
                 that uses mutual exclusion locks to make operations
                 execute atomically. The other version generates code
                 that uses mutual exclusion locks to make operations
                 execute atomically. The other version uses optimistic
                 synchronization. We used this compiler to automatically
                 parallelize three irregular, object-based benchmark
                 applications of interest to the scientific and
                 engineering computation community. The presented
                 experimental results indicate that the use of
                 optimistic synchronization in this context can
                 significantly reduce the memory consumption and improve
                 the overall performance.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Experimentation; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "atomic operations commutativity analysis; optimistic
                 synchronization; parallel computing; parallelizing
                 compilers; synchronization",
  subject =      "Software --- Programming Languages --- Processors
                 (D.3.4): {\bf Compilers}",
}

@Article{Keleher:2000:HLA,
  author =       "Peter J. Keleher",
  title =        "A high-level abstraction of shared accesses",
  journal =      j-TOCS,
  volume =       "18",
  number =       "1",
  pages =        "1--36",
  month =        feb,
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-1/p1-keleher/",
  abstract =     "We describe the design and use of the {\em tape\/}
                 mechanism, a new high-level abstraction of accesses to
                 shared data for software DSMs. Tapes consolidate and
                 generalize a number of recent protocol optimizations,
                 including update-based locks and recorded-replay
                 barriers. Tapes are usually created by ``recording''
                 shared accesses. The resulting recordings can be used
                 to anticipate future accesses by tailoring data
                 movement to application semantics. Tapes-based
                 mechanisms are layered on top of existing shared-memory
                 protocols, and are largely independent of the
                 underlying memory model. Tapes can also be used to
                 emulate the data-movement semantics of several
                 update-based protocol implementations, without altering
                 the underlying protocol implementation. We have used
                 tapes to create the Tapeworm synchronization library.
                 Tapeworm implements sophisticated record-replay
                 mechanisms across barriers, augments locks with
                 data-movement semantics, and allows the use of
                 producer-consumer segments, which move entire modified
                 segments when any portion of the segment is accessed.
                 We show that Tapeworm eliminates 85\% of remote misses,
                 reduces message traffic by 63\%, and improves
                 performance by an average of 29\% for our application
                 suite.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "DSM; programming libraries; shared memory; update
                 protocols",
  subject =      "Software --- Operating Systems --- Storage Management
                 (D.4.2); Software --- Operating Systems --- File
                 Systems Management (D.4.3); Software --- Operating
                 Systems --- File Systems Management (D.4.3): {\bf
                 Access methods}; Software --- Operating Systems ---
                 File Systems Management (D.4.3): {\bf Distributed file
                 systems}",
}

@Article{Pai:2000:ILU,
  author =       "Vivek S. Pai and Peter Druschel and Willy Zwaenepoel",
  title =        "{IO-Lite}: a unified {I/O} buffering and caching
                 system",
  journal =      j-TOCS,
  volume =       "18",
  number =       "1",
  pages =        "37--66",
  month =        feb,
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-1/p37-pai/",
  abstract =     "This article presents the design, implementation, and
                 evaluation of IO -Lite, a unified I/O buffering and
                 caching system for general-purpose operating systems.
                 IO-Lite unifies {\em all\/} buffering and caching in
                 the system, to the extent permitted by the hardware. In
                 particular, it allows applications, the interprocess
                 communication system, the file system, the file cache,
                 and the network subsystem to safely and concurrently
                 share a single physical copy of the data. Protection
                 and security are maintained through a combination of
                 access control and read-only sharing. IO-Lite
                 eliminates all copying and multiple buffering of I/O
                 data, and enables various cross-subsystem
                 optimizations. Experiments with a Web server show
                 performance improvements between 40 and 80\% on real
                 workloads as a result of IO-Lite.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "caching; I/O buffering; networking; zero-copy",
  subject =      "Software --- Operating Systems --- Communications
                 Management (D.4.4); Software --- Operating Systems ---
                 Performance (D.4.8)",
}

@Article{Schwartz:2000:SPA,
  author =       "Beverly Schwartz and Alden W. Jackson and W. Timothy
                 Strayer and Wenyi Zhou and R. Dennis Rockwell and Craig
                 Partbridge",
  title =        "Smart packets: applying active networks to network
                 management",
  journal =      j-TOCS,
  volume =       "18",
  number =       "1",
  pages =        "67--88",
  month =        feb,
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-1/p67-schwartz/",
  abstract =     "This article introduces Smart Packets and describes
                 the smart Packets architecture, the packet formats, the
                 language and its design goals, and security
                 considerations. Smart Packets is an Active Networks
                 project focusing on applying active networks technology
                 to network management and monitoring. Messages in
                 active networks are programs that are executed at nodes
                 on the path to one or more target hosts. Smart Packets
                 programs are written in a tightly encoded, safe
                 language specifically designed to support network
                 management and avoid dangerous constructs and accesses.
                 Smart Packets improves the management of large complex
                 networks by (1) moving management decision points
                 closer to the node being managed, (2) targeting
                 specific aspects of the node for information rather
                 than exhaustive collection via polling, and (3)
                 abstracting the management concepts to language
                 constructs, allowing nimble network control.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "active networks",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Network
                 Architecture and Design (C.2.1); Computer Systems
                 Organization --- Computer-Communication Networks ---
                 Network Operations (C.2.3); Software --- Programming
                 Languages --- Language Constructs and Features
                 (D.3.3)",
}

@Article{Brooks:2000:VBC,
  author =       "David Brooks and Margaret Martonosi",
  title =        "Value-based clock gating and operation packing:
                 dynamic strategies for improving processor power and
                 performance",
  journal =      j-TOCS,
  volume =       "18",
  number =       "2",
  pages =        "89--126",
  month =        may,
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-2/p89-brooks/",
  abstract =     "The large address space needs of many current
                 applications have pushed processor designs toward
                 64-bit word widths. Although full 64-bit addresses and
                 operations are indeed sometimes needed, arithmetic
                 operations on much smaller quantities are still more
                 common. In fact, another instruction set trend has been
                 the introduction of instructions geared toward subword
                 operations on 16-bit quantities. For examples, most
                 major processors now include instruction set support
                 for multimedia operations allowing parallel execution
                 of several subword operations in the same ALU. This
                 article presents our observations demonstrating that
                 operations on ``narrow-width'' quantities are common
                 not only in multimedia codes, but also in more general
                 workloads. In fact, across the SPECint95 benchmarks,
                 over half the integer operation executions require 16
                 bits or less. Based on this data, we propose two
                 hardware mechanisms that dynamically recognize and
                 capitalize on these narrow-width operations. The first,
                 power-oriented optimization reduces processor power
                 consumption by using operand-value-based clock gating
                 to turn off portions of arithmetic units that will be
                 unused by narrow-width operations. This optimization
                 results in a 45\%--60\% reduction in the integer unit's
                 power consumption for the SPECint95 and MediaBench
                 benchmark suites. Applying this optimization to
                 SPECfp95 benchmarks results in slightly smaller power
                 reductions, but still seems warranted. These reductions
                 in integer unit power consumption equate to a 5\%--10\%
                 full-chip power savings. Our second,
                 performance-oriented optimization improves processor
                 performance by packing together narrow-width operations
                 so that they share a single arithmetic unit.
                 Conceptually similar to a dynamic form of MMX, this
                 optimization offers speedups of 4.3\%--6.2\% for
                 SPECint95 and 8.0\%--10.4\% for MediaBench.
                 \par

                 Overall, these optimizations highlight an increasing
                 opportunity for value-based optimizations to improve
                 both power and performance in current
                 microprocessors.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  subject =      "Hardware --- Arithmetic and Logic Structures (B.2);
                 Computer Systems Organization --- Processor
                 Architectures --- Single Data Stream Architectures
                 (C.1.1): {\bf RISC/CISC, VLIW architectures}",
}

@Article{Ganger:2000:SUS,
  author =       "Gregory R. Ganger and Marshall Kirk McKusick and Craig
                 A. N. Soules and Yale N. Patt",
  title =        "Soft updates: a solution to the metadata update
                 problem in file systems",
  journal =      j-TOCS,
  volume =       "18",
  number =       "2",
  pages =        "127--153",
  month =        may,
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-2/p127-ganger/",
  abstract =     "Metadata updates, such as file creation and block
                 allocation, have consistently been identified as a
                 source of performance, integrity, security, and
                 availability problems for files systems. Soft updates
                 is an implementation technique for low-cost sequencing
                 of fine-grained updates to write-back cache blocks.
                 Using soft updates to track and enforce metadata update
                 dependencies, a file system can safely use delayed
                 writes for almost all file operations. This article
                 describes soft updates, their incorporation into the
                 4.4BSD fast file system, and the resulting effects on
                 the system. We show that a disk-based file system using
                 soft updates achieves memory-based file system
                 performance while providing stronger integrity and
                 security guarantees than most disk-based file systems.
                 For workloads that frequently perform updates on
                 metadata (such as creating and deleting files), this
                 improves performance by more than a factor of two, a
                 factor of 20 when compared to the conventional
                 synchronous write approach, and by 4--19\% when
                 compared to an aggressive write-ahead logging approach.
                 In addition, soft updates can improve file system
                 availability by relegating crash-recovery assistance
                 (e.g., the {\em fsck\/} utility) to an optional and
                 background role, reducing file system recovery time to
                 less than one second.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  subject =      "Computer Systems Organization --- Performance of
                 Systems (C.4): {\bf Design studies}; Computer Systems
                 Organization --- Performance of Systems (C.4): {\bf
                 Reliability, availability, and serviceability};
                 Computer Systems Organization --- Computer System
                 Implementation --- Servers (C.5.5); Software ---
                 Operating Systems --- Storage Management (D.4.2);
                 Software --- Operating Systems --- File Systems
                 Management (D.4.3); Data --- Files (E.5); Information
                 Systems --- Information Storage and Retrieval ---
                 Information Storage (H.3.2)",
}

@Article{Yeung:2000:MSM,
  author =       "Donald Yeung and John Kubiatowicz and Anant Agarwal",
  title =        "Multigrain shared memory",
  journal =      j-TOCS,
  volume =       "18",
  number =       "2",
  pages =        "154--196",
  month =        may,
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Sep 26 07:54:31 MDT 2000",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-2/p154-yeung/",
  abstract =     "Parallel workstations, each comprising tens of
                 processors based on shared memory, promise
                 cost-effective scalable multiprocessing. This article
                 explores the coupling of such small- to medium-scale
                 shared-memory multiprocessors through software over a
                 local area network to synthesize larger shared-memory
                 systems. We call these systems Distributed
                 Shared-memory MultiProcessors (DSMPs). This article
                 introduces the design of a shared-memory system that
                 uses multiple granularities of sharing, called MGS, and
                 presents a prototype implementation of MGS on the MIT
                 Alewife multiprocessor. Multigrain shared memory
                 enables the collaboration of hardware and software
                 shared memory, thus synthesizing a single transparent
                 shared-memory address space across a cluster of
                 multiprocessors. The system leverages the efficient
                 support for fine-grain cache-line sharing within
                 multiprocessor nodes as often as possible, and resorts
                 to coarse-grain page-level sharing across nodes only
                 when absolutely necessary. Using our prototype
                 implementation of MGS, an in-depth study of several
                 shared-memory application is conducted to understand
                 the behavior of DSMPs. Our study is the first to
                 comprehensively explore the DSMP design space, and to
                 compare the performance of DSMPs against all-software
                 and all-hardware DSMs on a single experimental
                 platform. Keeping the total number of processors fixed,
                 we show that applications execute up to 85\% faster on
                 a DSMP as compared to an all-software DSM. We also show
                 that all-hardware DSMs hold a significant performance
                 advantage over DSMPs on challenging applications,
                 between 159\% and 1014\%. However, program
                 transformations to improve data locality for these
                 applications allow DSMPs to almost match the
                 performance of an all-hardware multiprocessor of the
                 same size.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  subject =      "Hardware --- Memory Structures --- Design Styles
                 (B.3.2): {\bf Shared memory}; Computer Systems
                 Organization --- Processor Architectures --- Multiple
                 Data Stream Architectures (Multiprocessors) (C.1.2)",
}

@Article{Aron:2000:STE,
  author =       "Mohit Aron and Peter Druschel",
  title =        "Soft timers: efficient microsecond software timer
                 support for network processing",
  journal =      j-TOCS,
  volume =       "18",
  number =       "3",
  pages =        "197--228",
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2000-18-3/p197-aron/p197-aron.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2000-18-3/p197-aron/",
  abstract =     "This paper proposes and evaluates soft timers, a new
                 operating system facility that allows the efficient
                 scheduling of software events at a granularity down to
                 tens of microseconds. Soft timers can be used to avoid
                 interrupts and reduce context switches associated with
                 network processing, without sacrificing low
                 communication delays. More specifically, soft timers
                 enable transport protocols like TCP to efficiently
                 perform rate-based clocking of packet transmissions.
                 Experiments indicate that soft timers allow a server to
                 employ rate-based clocking with little CPU overhead
                 (2-6\%) at high aggregate bandwidths. Soft timers can
                 also be used to perform network polling, which
                 eliminates network interrupts and increases the memory
                 access locality of the network subsystem without
                 sacrificing delay. Experiments show that this technique
                 can improve the throughput of a Web server by up to
                 25\%.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "polling; timers; transmission scheduling",
  subject =      "Computer Systems Organization --- Computer System
                 Implementation --- Servers (C.5.5); Software ---
                 Operating Systems --- Process Management (D.4.1): {\bf
                 Scheduling}; Software --- Operating Systems ---
                 Communications Management (D.4.4): {\bf Network
                 communication}",
}

@Article{Govil:2000:CDR,
  author =       "Kingshuk Govil and Dan Teodosiu and Yongqiang Huang
                 and Mendel Rosenblum",
  title =        "Cellular disco: resource management using virtual
                 clusters on shared-memory multiprocessors",
  journal =      j-TOCS,
  volume =       "18",
  number =       "3",
  pages =        "229--262",
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Nov 13 18:22:48 MST 2000",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-3/p229-govil/",
  abstract =     "Despite the fact that large-scale shared-memory
                 multiprocessors have been commercially available for
                 several years, system software that fully utilizes all
                 their features is still not available, mostly due to
                 the complexity and cost of making the required changes
                 to the operating system. A recently proposed approach,
                 called Disco, substantially reduces this development
                 cost by using a virtual machine monitor that leverages
                 the existing operating system technology. In this paper
                 we present a system called Cellular Disco that extends
                 the Disco work to provide all the advantages of the
                 hardware partitioning and scalable operating system
                 approaches. We argue that Cellular Disco can achieve
                 these benefits at only a small fraction of the
                 development cost of modifying the operating system.
                 Cellular Disco effectively turns a large-scale
                 shared-memory multiprocessor into a virtual cluster
                 that supports fault containment and heterogeneity,
                 while avoiding operating system scalability
                 bottlenecks. Yet at the same time, Cellular Disco
                 preserves the benefits of a shared-memory
                 multiprocessor by implementing dynamic, fine-grained
                 resource sharing, and by allowing users to overcommit
                 resources such as processors and memory. This hybrid
                 approach requires a scalable resource manager that
                 makes local decisions with limited information while
                 still providing good global performance and fault
                 containment. In this paper we describe our experience
                 with a Cellular Disco prototype on a 32-processor SGI
                 Origin 2000 system. We show that the execution time
                 penalty for this approach is low, typically within 10\%
                 of the best available commercial operating system
                 foremost workloads, and that it can manage the CPU and
                 memory resources of the machine significantly better
                 than the hardware partitioning approach.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Management; Performance; Reliability",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "fault containment; resource management; scalable
                 multiprocessors; virtual machines",
  subject =      "Software --- Operating Systems --- Process Management
                 (D.4.1); Software --- Operating Systems --- Storage
                 Management (D.4.2); Software --- Operating Systems ---
                 Reliability (D.4.5); Computer Systems Organization ---
                 Processor Architectures (C.1)",
}

@Article{Kohler:2000:CMR,
  author =       "Eddie Kohler and Robert Morris and Benjie Chen and
                 John Jannotti and M. Frans Kaashoek",
  title =        "The click modular router",
  journal =      j-TOCS,
  volume =       "18",
  number =       "3",
  pages =        "263--297",
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Nov 13 18:22:48 MST 2000",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-3/p263-kohler/",
  abstract =     "Clicks is a new software architecture for building
                 flexible and configurable routers. A Click router is
                 assembled from packet processing modules called {\em
                 elements}. Individual elements implement simple router
                 functions like packet classification, queuing,
                 scheduling, and interfacing with network devices. A
                 router configurable is a directed graph with elements
                 at the vertices; packets flow along the edges of the
                 graph. Several features make individual elements more
                 powerful and complex configurations easier to write,
                 including {\em pull connections}, which model packet
                 flow driven by transmitting hardware devices, and {\em
                 flow-based router context}, which helps an element
                 locate other interesting elements. Click configurations
                 are modular and easy to extend. A standards-compliant
                 Click IP router has 16 elements on its forwarding path;
                 some of its elements are also useful in Ethernet
                 switches and IP tunnelling configurations. Extending
                 the IP router to support dropping policies, fairness
                 among flows, or Differentiated Services simply requires
                 adding a couple of element at the right place. On
                 conventional PC hardware, the Click IP router achieves
                 a maximum loss-free forwarding rate of 333,000 64-byte
                 packets per second, demonstrating that Click's modular
                 and flexible architecture is compatible with good
                 performance.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Management; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "component systems; routers; software router
                 performance",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Network
                 Architecture and Design (C.2.1): {\bf Packet-switching
                 networks}; Computer Systems Organization ---
                 Computer-Communication Networks --- Internetworking
                 (C.2.6): {\bf Routers}; Software --- Software
                 Engineering --- Software Architectures (D.2.11): {\bf
                 Domain-specific architectures}",
}

@Article{Saito:2000:MAP,
  author =       "Yasushi Saito and Brian N. Bershad and Henry M. Levy",
  title =        "Manageability, availability, and performance in
                 {Porcupine}: a highly scalable, cluster-based mail
                 service",
  journal =      j-TOCS,
  volume =       "18",
  number =       "3",
  pages =        "298--298",
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Nov 13 18:22:48 MST 2000",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2000-18-3/p298-saito/",
  abstract =     "This paper describes the motivation, design and
                 performance of Porcupine, a scalable mail server. The
                 goal of Porcupine is to provide a highly available and
                 scalable electronic mail service using a large cluster
                 of commodity PCs. We designed Porcupine to be easy to
                 manage by emphasizing dynamic load balancing, automatic
                 configuration, and graceful degradation in the presence
                 of failures. Key to the system's manageability,
                 availability, and performance is that sessions, data,
                 and underlying services are distributed homogeneously
                 and dynamically across nodes in a cluster.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Management; Performance; Reliability",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "cluster; distributed systems; email; group membership
                 protocol; load balancing; replication",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Distributed Systems
                 (C.2.4): {\bf Distributed applications}; Computer
                 Systems Organization --- Performance of Systems (C.4):
                 {\bf Reliability, availability, and serviceability};
                 Computer Systems Organization --- Computer System
                 Implementation --- Servers (C.5.5); Software ---
                 Operating Systems --- Reliability (D.4.5): {\bf
                 Fault-tolerance}; Information Systems --- Information
                 Storage and Retrieval --- Systems and Software (H.3.4):
                 {\bf Distributed systems}; Information Systems ---
                 Information Systems Applications --- Communications
                 Applications (H.4.3): {\bf Electronic mail}",
}

@Article{Gontmakher:2000:JCN,
  author =       "Alex Gontmakher and Assaf Schuster",
  title =        "{Java} consistency: nonoperational characterizations
                 for {Java} memory behavior",
  journal =      j-TOCS,
  volume =       "18",
  number =       "4",
  pages =        "333--386",
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2000-18-4/p333-gontmakher/p333-gontmakher.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2000-18-4/p333-gontmakher/",
  abstract =     "The Java Language Specification (JLS) [Gosling et al.
                 1996] provides an operational definition for the
                 consistency of shared variables. The definition remains
                 unchanged in the JLS 2nd edition, currently under peer
                 review, which relies on a specific abstract machine as
                 its underlying model, is very complicated. Several
                 subsequent works have tried to simplify and formalize
                 it. However, these revised definitions are also
                 operational, and thus have failed to highlight the
                 intuition behind the original specification. In this
                 work we provide a complete nonoperational specification
                 for Java and for the JVM, excluding synchronized
                 operations. We provide a simpler definition, in which
                 we clearly distinguish the consistency model that is
                 promised to the programmer from that which should be
                 implemented in the JVM. This distinction, which was
                 implicit in the original definition, is crucial for
                 building the JVM. We find that the programmer model is
                 strictly weaker than that of the JVM, and precisely
                 define their discrepancy. Moreover, our definition is
                 independent of any specific (or even abstract) machine,
                 and can thus be used to verify JVM implementations and
                 compiler optimizations on any platform. Finally, we
                 show the precise range of consistency relaxations
                 obtainable for the Java memory model when a certain
                 compiler optimization-- called {\em prescient stores\/}
                 in JLS--is applicable.",
  acknowledgement = ack-nhfb,
  generalterms = "Verification",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Java memory models; multithreading; nonoperational
                 specification",
  subject =      "Hardware --- Memory Structures --- Performance
                 Analysis and Design Aids** (B.3.3): {\bf Formal
                 models**}",
}

@Article{Sarkar:2000:HBC,
  author =       "Prasenjit Sarkar and John H. Hartman",
  title =        "Hint-based cooperative caching",
  journal =      j-TOCS,
  volume =       "18",
  number =       "4",
  pages =        "387--419",
  year =         "2000",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2000-18-4/p387-sarkar/p387-sarkar.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2000-18-4/p387-sarkar/",
  abstract =     "This article presents the design, implementation, and
                 measurement of a hint-based cooperative caching file
                 system. Hints allow clients to make decisions based on
                 local state, enabling a loosely coordinated system that
                 is simple to implement. The resulting performance is
                 comparable to that of existing tightly coordinated
                 algorithms that use global state, but with less
                 overhead. Simulations show that the block access times
                 of our system are as good as those of the existing
                 algorithms, while reducing manager load by more than a
                 factor of seven, block lookup traffic by nearly a
                 factor of two-thirds, and replacement traffic a factor
                 of five. To verify our simulation results in a real
                 system with real users, we implemented a prototype and
                 measured its performance for one week. Although the
                 simulation and prototype environments were very
                 different, the prototype system mirrored the simulation
                 results by exhibiting reduced overhead and high hint
                 accuracy. Furthermore, hint-based cooperative caching
                 reduced the average block access time to almost half
                 that of NFS.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Design; Measurement; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "cooperative caching; hints",
  subject =      "Software --- Operating Systems --- File Systems
                 Management (D.4.3)",
}

@Article{Bilas:2001:ASV,
  author =       "Angelos Bilas and Dongming Jiang and Jaswinder Pal
                 Singh",
  title =        "Accelerating shared virtual memory via general-purpose
                 network interface support",
  journal =      j-TOCS,
  volume =       "19",
  number =       "1",
  pages =        "1--35",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-1/p1-bilas/p1-bilas.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-1/p1-bilas/",
  abstract =     "Clusters of symmetric multiprocessors (SMPs) are
                 important platforms for high-performance computing.
                 With the success of hardware cache-coherent distributed
                 shared memory (DSM), a lot of effort has also been made
                 to support the coherent shared-address-space
                 programming model in software on clusters. Much
                 research has been done in fast communication on
                 clusters and in protocols for supporting software
                 shared memory across them. However, the performance of
                 software virtual memory (SVM) is still far from that
                 achieved on hardware DSM systems. The goal of this
                 paper is to improve the performance of SVM on system
                 area network clusters by considering communication and
                 protocol layer interactions. We first examine what are
                 the important communication system bottlenecks that
                 stand in the way of improving parallel performance of
                 SVM clusters; in particular, which parameters of the
                 communication architecture are most important to
                 improve further relative to processor speed, which ones
                 are already adequate on modern systems for most
                 applications, and how will this change with technology
                 in the future. We find that the most important
                 communication subsystem cost to improve is the overhead
                 of generating and delivery interrupts for asynchronous
                 protocol processing. Then we proceed to show, that by
                 providing simple and general support for asynchronous
                 message handling in a commodity network interface (NI)
                 and by altering SVM protocols appropriately, protocol
                 activity can be decoupled from asynchronous message
                 handling, and the need for interrupts or polling can be
                 eliminated. The NI mechanisms needed are generic, not
                 SVM-dependent. We prototype the mechanisms and such a
                 {\em synchronous home-based LRC\/} protocol, called
                 {\em GeNIMA\/} (GEneral-purpose Network Interface
                 support for shared Memory Abstractions), on a cluster
                 of SMPs with a programmable NI. We find that the
                 performance improvements are substantial, bringing
                 performance on a small-scale SMP cluster much closer to
                 that of hardware-coherent shared memory for many
                 applications, and we show the value of each of the
                 mechanisms in different applications.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "applications; clusters; shared virtual memory; system
                 area networks",
  subject =      "Computer Systems Organization --- Performance of
                 Systems (C.4)",
}

@Article{Grimm:2001:SAC,
  author =       "Robert Grimm and Brian N. Bershad",
  title =        "Separating access control policy, enforcement, and
                 functionality in extensible systems",
  journal =      j-TOCS,
  volume =       "19",
  number =       "1",
  pages =        "36--70",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-1/p36-grimm/p36-grimm.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-1/p36-grimm/",
  abstract =     "Extensible systems, such as Java or the SPIN
                 extensible operating system, allow for units of code,
                 or extensions, to be added to a running system in
                 almost arbitrary fashion. Extensions closely interact
                 through low-latency but type-safe interfaces to form a
                 tightly integrated system. As extensions can come from
                 arbitrary sources, not all of whom can be trusted to
                 conform to an organization's security policy, such
                 structuring raises the question of how security
                 constraints are enforced in an extensible system. In
                 this paper, we present an access control mechanism for
                 extensible systems to address this problem. Our access
                 control mechanism decomposes access control into a
                 policy-neutral enforcement manager and a security
                 policy manager, and it is transparent to extensions in
                 the absence of security violations. It structures the
                 system into protection domains, enforces protection
                 domains through access control checks, and performs
                 auditing of system operations. The access control
                 mechanism works by inspecting extensions for their
                 types and operations to determine which abstractions
                 require protection and by redirecting procedure or
                 method invocations to inject access control operations
                 into the system. We describe the design of this access
                 control mechanism, present an implementation within the
                 SPIN extensible operating systems, and provide a
                 qualitative as well as quantitative evaluation of the
                 mechanism.",
  acknowledgement = ack-nhfb,
  generalterms = "Security",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "access check; auditing; extensible systems; Java;
                 policy-neutral enforcement; protection domain;
                 protection domain transfer; security policy; SPIN",
  subject =      "Software --- Operating Systems (D.4); Software ---
                 Operating Systems --- General (D.4.0); Software ---
                 Operating Systems --- Security and Protection (D.4.6):
                 {\bf Access controls}",
}

@Article{Luk:2001:ACS,
  author =       "Chi-Keung Luk and Todd C. Mowry",
  title =        "Architectural and compiler support for effective
                 instruction prefetching: a cooperative approach",
  journal =      j-TOCS,
  volume =       "19",
  number =       "1",
  pages =        "71--109",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-1/p71-luk/p71-luk.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-1/p71-luk/",
  abstract =     "Instruction cache miss latency is becoming an
                 increasingly important performance bottleneck,
                 especially for commercial applications. Although
                 instruction prefetching is an attractive technique for
                 tolerating this latency, we find that existing
                 prefetching schemes are insufficient for modern
                 superscalar processors, since they fail to issue
                 prefetches early enough (particularly for nonsequential
                 accesses). To overcome these limitations, we propose a
                 new instruction prefetching technique whereby the
                 hardware and software {\em cooperate\/} to hide the
                 latency as follows. The hardware performs aggressive
                 sequential prefetching combined with a novel {\em
                 prefetch filtering\/} mechanism to allow it to get far
                 ahead without polluting the cache. To hide the latency
                 of nonsequential accesses, we propose and implement a
                 novel compiler algorithm which automatically inserts
                 {\em instruction-??\/} --- prefetch the targets of
                 control transfers far enough in advance. Our
                 experimental results demonstrate that this new approach
                 hides 50\% or more of the latency remaining with the
                 best previous techniques, while at the same time
                 reduces the number of useless prefetches by a factor of
                 six. We find that both the {\em prefetch filtering\/}
                 and {\em compiler-inserted prefetching\/} components of
                 our design are essential and complementary, and that
                 the compiler can limit the code expansion to only 9\%
                 on average. In addition, we show that the performance
                 of our technique can be further increased by using
                 profiling information to help reduce cache conflicts
                 and unnecessary prefetches. From an architectural
                 perspective, these performance advantages are sustained
                 over a range of common miss latencies and bandwidth.
                 Finally, our technique is cost effective as well, since
                 it delivers performance comparable to (or even better
                 than) that of larger caches, but requires a much
                 smaller hardware budget.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Experimentation; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "compiler optimization; instruction prefetching",
  subject =      "Software --- Programming Languages --- Processors
                 (D.3.4): {\bf Compilers}; Software --- Programming
                 Languages --- Processors (D.3.4): {\bf Optimization};
                 Hardware --- Memory Structures --- Design Styles
                 (B.3.2): {\bf Cache memories}",
}

@Article{Brown:2001:CBP,
  author =       "Angela Demke Brown and Todd C. Mowry and Orran
                 Krieger",
  title =        "Compiler-based {I/O} prefetching for out-of-core
                 applications",
  journal =      j-TOCS,
  volume =       "19",
  number =       "2",
  pages =        "111--170",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-2/p111-brown/p111-brown.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-2/p111-brown/",
  abstract =     "Current operating systems offer poor performance when
                 a numeric application's working set does not fit in
                 main memory. As a result, programmers who wish to solve
                 ``out-of-core'' problems efficiently are typically
                 faced with the onerous task of rewriting an application
                 to use explicit I/O operations (e.g., read/write). In
                 this paper, we propose and evaluate a fully automatic
                 technique which liberates the programmer from this
                 task, provides high performance, and requires only
                 minimal changes to current operating systems. In our
                 scheme the compiler provides the crucial information on
                 future access patterns without burdening the
                 programmer; the operating system supports nonbinding
                 {\em prefetch\/} and {\em release\/} hints for managing
                 I/O; and the operating systems cooperates with a
                 run-time layer to accelerate performance by adapting to
                 dynamic behavior and minimizing prefetch overhead. This
                 approach maintains the abstraction of unlimited virtual
                 memory for the programmer, gives the compiler the
                 flexibility to aggressively insert prefetches ahead of
                 references, and gives the operating system the
                 flexibility to arbitrate between the competing resource
                 demands of multiple applications. We implemented our
                 compiler analysis within the SUIF compiler, and used it
                 to target implementations of our run-time and OS
                 support on both research and commercial systems
                 (Hurricane and IRIX 6.5, respectively). Our
                 experimental results show large performance gains for
                 out-of-core scientific applications on both systems:
                 more than 50\% of the I/O stall time has been eliminated
                 in most cases, thus translating into overall speedups
                 of roughly twofold in many cases.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Experimentation; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "compiler optimization; prefetching; virtual memory",
  subject =      "Software --- Operating Systems --- Storage Management
                 (D.4.2): {\bf Virtual memory}; Software --- Operating
                 Systems --- Performance (D.4.8); Software ---
                 Programming Languages --- Processors (D.3.4): {\bf
                 Compilers}; Software --- Programming Languages ---
                 Processors (D.3.4): {\bf Optimization}",
}

@Article{Fekete:2001:SUP,
  author =       "Alan Fekete and Nancy Lynch and Alex Shvartsman",
  title =        "Specifying and using a partitionable group
                 communication service",
  journal =      j-TOCS,
  volume =       "19",
  number =       "2",
  pages =        "171--216",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-2/p171-fekete/p171-fekete.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-2/p171-fekete/",
  abstract =     "Group communication services are becoming accepted as
                 effective building blocks for the construction of
                 fault-tolerant distributed applications. Many
                 specifications for group communication services have
                 been proposed. However, there is still no agreement
                 about what these specifications should say, especially
                 in cases where the services are {\em partitionable},
                 i.e., where communication failures may lead to
                 simultaneous creation of groups with disjoint
                 memberships, such that each group is unaware of the
                 existence of any other group. In this paper, we present
                 a new, succinct specification for a view-oriented
                 partitionable group communication service. The service
                 associates each message with a particular {\em view\/}
                 of the group membership. All send and receive events
                 for a message occur within the associated view. The
                 service provides a total order on the messages within
                 each view, and each processor receives a prefix of this
                 order. Our specification separates safety requirements
                 from performance and fault-tolerance requirements. The
                 safety requirements are expressed by an abstract,
                 global {\em state machine}. To present the performance
                 and fault-tolerance requirements, we include {\em
                 failure-status input actions\/} in the specification;
                 we then give properties saying that consensus on the
                 view and timely message delivery are guaranteed in an
                 execution provided that the execution {\em
                 stabilizes\/} to a situation in which the
                 failure-status stops changing and corresponds to
                 consistently partioned system. Because consensus is not
                 required in every execution, the specification is not
                 subject to the existing impossibility results for
                 partionable systems. Our specification has a simple
                 implementation, based on the membership algorithm of
                 Christian and Schmuck. We show the utility of the
                 specification by constructing an ordered-broadcast
                 application, using an algorithm (based on algorithms of
                 Amir, Dolev, Keidar, and others) that reconciles
                 information derived from different instantiations of
                 the group. The application manages the view-change
                 activity to build a shared sequence of messages, i.e.,
                 the per-view total orders of the group service are
                 combined to give a universal total order. We prove the
                 correctness and analyze the performance and
                 fault-tolerance of the resulting application.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Design; Performance; Verification",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "composable building blocks; conditional performance
                 analysis; distributed algorithms; group communication
                 protocols; message-passing protocols; ordered
                 broadcast; service specification; total-order
                 broadcast",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Distributed Systems
                 (C.2.4); Software --- Operating Systems --- Reliability
                 (D.4.5): {\bf Fault-tolerance}; Software --- Software
                 Engineering --- Software/Program Verification (D.2.4):
                 {\bf Correctness proofs}",
}

@Article{McNamee:2001:STT,
  author =       "Dylan McNamee and Jonathan Walpole and Calton Pu and
                 Crispin Cowan and Charles Krasic and Ashvin Goel and
                 Perry Wagle and Charles Consel and Gilles Muller and
                 Renauld Marlet",
  title =        "Specialization tools and techniques for systematic
                 optimization of system software",
  journal =      j-TOCS,
  volume =       "19",
  number =       "2",
  pages =        "217--251",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-2/p217-mcnamee/p217-mcnamee.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-2/p217-mcnamee/",
  abstract =     "Specialization has been recognized as a powerful
                 technique for optimizing operating systems. However,
                 specialization has not been broadly applied beyond the
                 research community because current techniques based on
                 manual specialization, are time-consuming and
                 error-prone. The goal of the work described in this
                 paper is to help operating system tuners perform
                 specialization more easily. We have built a
                 specialization toolkit that assists the major tasks of
                 specializing operating systems. We demonstrate the
                 effectiveness of the toolkit by applying it to three
                 diverse operating system components. We show that using
                 tools to assist specialization enables significant
                 performance optimizations without error-prone manual
                 modifications. Our experience with the toolkit suggests
                 new ways of designing systems that combine high
                 performance and clean structure.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "operating system specialization; optimization;
                 software architecture",
  subject =      "Software --- Operating Systems --- Organization and
                 Design (D.4.7)",
}

@Article{Mendelson:2001:ESC,
  author =       "Avi Mendelson and Freddy Gabbay",
  title =        "The effect of seance communication on multiprocessing
                 systems",
  journal =      j-TOCS,
  volume =       "19",
  number =       "2",
  pages =        "252--281",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/articles/journals/tocs/2001-19-2/p252-mendelson/p252-mendelson.pdf;
                 http://www.acm.org/pubs/citations/journals/tocs/2001-19-2/p252-mendelson/",
  abstract =     "This paper introduces the seance communication
                 phenomenon and analyzes its effect on a multiprocessing
                 environment. Seance communication is an unnecessary
                 coherency-related activity that is associated with dead
                 cache information. Dead information may reside in the
                 cache for various reasons: task migration, context
                 switches, or working-set changes. Dead information does
                 not have a significant performance impact on a
                 single-processor system; however, it can dominate the
                 performance of multicache environment. In order to
                 evaluate the overhead of seance communication, we
                 develop an analytical model that is based on the
                 fractal behavior of the memory references. So far, all
                 previous works that used the same modeling approach
                 extracted the fractal parameters of a program manually.
                 This paper provides an additional important
                 contribution by demonstrating how these parameters can
                 be automatically extracted from the program trace. Our
                 analysis indicates that Seance communication may
                 severely reduce the overall system performance when
                 using write-update or write-invalidate cache coherency
                 protocols. In addition, we find that the performance of
                 write-update protocols is affected more severely than
                 write-invalidate protocols. The results that are
                 provided by our model are important for better
                 understanding of the coherency-related overhead in
                 multicache systems and for better development of
                 parallel applications and operating systems.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Experimentation; Measurement; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "cache coherency protocols; multicache systems;
                 performance analysis; seance communication",
  subject =      "Hardware --- Memory Structures (B.3); Hardware ---
                 Memory Structures --- Design Styles (B.3.2): {\bf Cache
                 memories}; Computer Systems Organization --- General
                 (C.0); Computer Systems Organization --- Processor
                 Architectures --- Multiple Data Stream Architectures
                 (Multiprocessors) (C.1.2): {\bf Interconnection
                 architectures}",
}

@Article{Arpaci-Dusseau:2001:ICC,
  author =       "Andrea Carol Arpaci-Dusseau",
  title =        "Implicit coscheduling: coordinated scheduling with
                 implicit information in distributed systems",
  journal =      j-TOCS,
  volume =       "19",
  number =       "3",
  pages =        "283--331",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2001-19-3/p283-arpaci-dusseau/",
  abstract =     "In modern distributed systems, coordinated
                 time-sharing is required for communicating processes to
                 leverage the performance of switch-based networks and
                 low-overhead protocols. Coordinated time-sharing has
                 traditionally been achieved with gang scheduling or
                 explicit coscheduling, implementations of which often
                 suffer from many deficiencies: multiple points of
                 failure, high context-switch overheads, and poor
                 interaction with client-server, interactive, and
                 I/O-intensive workloads. {\em Implicit coscheduling\/}
                 dynamically coordinates communicating processes across
                 distributed machines without these structural
                 deficiencies. In implicit coscheduling, no
                 communication is required across operating system
                 schedulers; instead, cooperating processes achieve
                 coordination by reacting to {\em implicit
                 information\/} carried by communication existing within
                 the parallel application. The implementation of this
                 approach is simple and allows participating nodes to
                 act autonomously. We introduce two key mechanisms in
                 implicit coscheduling. The first is {\em conditional
                 two-phase waiting}, a generalization of traditional
                 two-phase waiting in which spin-time may be increased
                 depending upon events occurring while the process
                 waits. The second is an extension to stride scheduling
                 that provides preemption and is fair to processes that
                 block. To demonstrate that implicit coscheduling
                 performs well, we show that results from an extensive
                 set of simulation and implementation experiments. To
                 exercise the conditional two-phase waiting algorithm,
                 we examine three workloads: bulk-synchronous and
                 continuous-communication synthetic applications and
                 application kernels written in the Split-C language. To
                 exercise the local scheduler, we examine competing jobs
                 with different communication characteristics. We
                 demonstrate that our implementation scales well with
                 the number of jobs and workstations and is robust to
                 process placement. Our experiments show that implicit
                 coscheduling is effective and fair for a wide of
                 workloads; most perform within 30\% of an idealized
                 model of gang scheduling.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Design; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "clusters; coscheduling; gang scheduling; networks of
                 workstations; proportional-share scheduling; two-phase
                 waiting",
  subject =      "Software --- Operating Systems --- Process Management
                 (D.4.1): {\bf Scheduling}; Computer Systems
                 Organization --- Computer-Communication Networks ---
                 Distributed Systems (C.2.4): {\bf Network operating
                 systems}",
}

@Article{Carzaniga:2001:DEW,
  author =       "Antonio Carzaniga and David S. Rosenblum and Alexander
                 L. Wolf",
  title =        "Design and evaluation of a wide-area event
                 notification service",
  journal =      j-TOCS,
  volume =       "19",
  number =       "3",
  pages =        "332--383",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2001-19-3/p332-carzaniga/",
  abstract =     "The components of a loosely coupled system are
                 typically designed to operate by generating and
                 responding to asynchronous events. An {\em event
                 notification service\/} is an application-independent
                 infrastructure that supports the construction of
                 event-based systems, whereby generators of events
                 publish event notifications to the infrastructure and
                 consumers of events subscribe with the infrastructure
                 to receive relevant notification. The two primary
                 services that should be provided to components by the
                 infrastructure are notification selection (i.e.,
                 determining which notifications match which
                 subscriptions) and notification delivery (i.e., routing
                 matching notifications from publishers to subscribers).
                 Numerous event notification services have been
                 developed for local-area networks, generally based on a
                 centralized server to select and deliver event
                 notifications. Therefore, they suffer from an inherent
                 inability to scale to wide-area networks, such as the
                 internet, where the number and physical distribution of
                 the service's clients can quickly overwhelm a
                 centralized solution. The critical challenge in the
                 setting of a wide-area network is to maximize the
                 expressiveness in the selection mechanism without
                 sacrificing scalability in the delivery mechanism. This
                 paper presents Siena, an event notification service
                 that we have designed and implemented to exhibit both
                 expressiveness and scalability. We describe the
                 service's interface to applications, the algorithms
                 used by networks of servers to select and deliver event
                 notifications, and the strategies used to optimize
                 performance. We also present results of simulation
                 studies that examine the scalability and performance of
                 the service.",
  acknowledgement = ack-nhfb,
  generalterms = "Algorithms; Experimentation; Performance",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "content-based addressing and routing; event
                 notification; publish/subscribe",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Network
                 Architecture and Design (C.2.1): {\bf Distributed
                 networks}; Computer Systems Organization ---
                 Computer-Communication Networks --- Network Protocols
                 (C.2.2); Computer Systems Organization ---
                 Computer-Communication Networks --- Distributed Systems
                 (C.2.4): {\bf Distributed applications}; Computer
                 Systems Organization --- Computer-Communication
                 Networks --- Local and Wide-Area Networks (C.2.5): {\bf
                 Internet}; Computer Systems Organization ---
                 Computer-Communication Networks --- Internetworking
                 (C.2.6): {\bf Routers}; Computer Systems Organization
                 --- Performance of Systems (C.4): {\bf Design studies};
                 Computing Methodologies --- Simulation and Modeling ---
                 Applications (I.6.3); Computing Methodologies ---
                 Simulation and Modeling --- Model Validation and
                 Analysis (I.6.4); Computing Methodologies ---
                 Simulation and Modeling --- Types of Simulation
                 (I.6.8): {\bf Discrete event}",
}

@Article{Maxemchuk:2001:IMS,
  author =       "N. F. Maxemchuk and D. H. Shur",
  title =        "An {Internet} multicast system for the stock market",
  journal =      j-TOCS,
  volume =       "19",
  number =       "3",
  pages =        "384--412",
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Jul 18 10:18:45 MDT 2001",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  URL =          "http://www.acm.org/pubs/citations/journals/tocs/2001-19-3/p384-maxemchuk/",
  abstract =     "We are moving toward an international, 24-hour,
                 distributed, electronic stock exchange. The exchange
                 will use the global internet, or Internet, technology.
                 This system is a natural application of multicast
                 because there are a large number of receivers that
                 should receive the same information simultaneously. The
                 data requirements for the stock exchange are discussed.
                 The current multi-cast protocols lack the reliability,
                 fairness, and scalability needed in this application.
                 We describe a distributed architecture and a timed
                 reliable multicast protocol, TRMP, that has the
                 appropriate characteristics. We consider three
                 applications: (1) A unified stock ticker of the
                 transactions that are being conducted on the various
                 physical and electronic exchanges. Our objective is to
                 deliver the same combined ticker reliably and
                 simultaneously to all receivers, anywhere in the world.
                 (2) A unified sequence of buy and sell offers that are
                 delivered to a single exchange or a collection of
                 exchanges. Our objectives is to give all traders the
                 same fair access to an exchange independent of their
                 relative distances to the exchange or the delay and
                 loss characteristics of the international network. (3)
                 A distributed, electronic trading floor that can
                 replace the current exchanges. This application has the
                 fairness attributes of the first two applications and
                 uses TRMP to conduct irrefutable, distributed trades.",
  acknowledgement = ack-nhfb,
  generalterms = "Design; Performance; Theory",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "multicast",
  subject =      "Computer Systems Organization ---
                 Computer-Communication Networks --- Network
                 Architecture and Design (C.2.1); Computer Systems
                 Organization --- Computer-Communication Networks ---
                 Network Protocols (C.2.2); Computer Systems
                 Organization --- Computer-Communication Networks ---
                 Distributed Systems (C.2.4)",
}

@Article{Collins:2001:RIC,
  author =       "Jamison D. Collins and Dean M. Tullsen",
  title =        "Runtime identification of cache conflict misses: {The}
                 adaptive miss buffer",
  journal =      j-TOCS,
  volume =       "19",
  number =       "4",
  pages =        "413--439",
  month =        nov,
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Feb 19 15:24:55 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Waldvogel:2001:SHS,
  author =       "Marcel Waldvogel and George Varghese and Jon Turner
                 and Bernhard Plattner",
  title =        "Scalable high-speed prefix matching",
  journal =      j-TOCS,
  volume =       "19",
  number =       "4",
  pages =        "440--482",
  month =        nov,
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Feb 19 15:24:55 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Alvarez:2001:MAR,
  author =       "Guillermo A. Alvarez and Elizabeth Borowsky and Susie
                 Go and Theodore H. Romer and Ralph Becker-Szendy and
                 Richard Golding and Arif Merchant and Mirjana
                 Spasojevic and Alistair Veitch and John Wilkes",
  title =        "{Minerva}: An automated resource provisioning tool
                 for large-scale storage systems",
  journal =      j-TOCS,
  volume =       "19",
  number =       "4",
  pages =        "483--518",
  month =        nov,
  year =         "2001",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Feb 19 15:24:55 MST 2002",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Fu:2002:FSD,
  author =       "Kevin Fu and M. Frans Kaashoek and David
                 Mazi{\`e}res",
  title =        "Fast and secure distributed read-only file system",
  journal =      j-TOCS,
  volume =       "20",
  number =       "1",
  pages =        "1--24",
  month =        feb,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:23 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Anderson:2002:IRR,
  author =       "Darrell C. Anderson and Jeffrey S. Chase and Amin M.
                 Vahdat",
  title =        "Interposed request routing for scalable network
                 storage",
  journal =      j-TOCS,
  volume =       "20",
  number =       "1",
  pages =        "25--48",
  month =        feb,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:23 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Ganger:2002:FFA,
  author =       "Gregory R. Ganger and Dawson R. Engler and M. Frans
                 Kaashoek and H{\'e}ctor M. Brice{\~n}o and Russell Hunt
                 and Thomas Pinckney",
  title =        "Fast and flexible application-level networking on
                 exokernel systems",
  journal =      j-TOCS,
  volume =       "20",
  number =       "1",
  pages =        "49--83",
  month =        feb,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:23 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Satyanarayanan:2002:EC,
  author =       "M. Satyanarayanan",
  title =        "The evolution of {Coda}",
  journal =      j-TOCS,
  volume =       "20",
  number =       "2",
  pages =        "85--124",
  month =        may,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:24 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Burgess:2002:MSN,
  author =       "Mark Burgess and H{\aa}rek Haugerud and Sigmund
                 Straumsnes and Trond Reitan",
  title =        "Measuring system normality",
  journal =      j-TOCS,
  volume =       "20",
  number =       "2",
  pages =        "125--160",
  month =        may,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:24 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Hu:2002:LCD,
  author =       "Zhigang Hu and Stefanos Kaxiras and Margaret
                 Martonosi",
  title =        "Let caches decay: reducing leakage energy via
                 exploitation of cache generational behavior",
  journal =      j-TOCS,
  volume =       "20",
  number =       "2",
  pages =        "161--190",
  month =        may,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:24 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Keidar:2002:MGM,
  author =       "Idit Keidar and Jeremy Sussman and Keith Marzullo and
                 Danny Dolev",
  title =        "{Moshe}: a group membership service for {WANs}",
  journal =      j-TOCS,
  volume =       "20",
  number =       "3",
  pages =        "191--238",
  month =        aug,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:17:48 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Yu:2002:DEC,
  author =       "Haifeng Yu and Amin Vahdat",
  title =        "Design and evaluation of a conit-based continuous
                 consistency model for replicated services",
  journal =      j-TOCS,
  volume =       "20",
  number =       "3",
  pages =        "239--282",
  month =        aug,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:17:48 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "conit (consistency unit)",
}

@Article{Zdancewic:2002:SPP,
  author =       "Steve Zdancewic and Lantian Zheng and Nathaniel
                 Nystrom and Andrew C. Myers",
  title =        "Secure program partitioning",
  journal =      j-TOCS,
  volume =       "20",
  number =       "3",
  pages =        "283--328",
  month =        aug,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:17:48 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Zhou:2002:CSD,
  author =       "Lidong Zhou and Fred B. Schneider and Robbert {Van
                 Renesse}",
  title =        "{COCA}: a secure distributed online certification
                 authority",
  journal =      j-TOCS,
  volume =       "20",
  number =       "4",
  pages =        "329--368",
  month =        nov,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:24 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Jimenez:2002:NMD,
  author =       "Daniel A. Jim{\'e}nez and Calvin Lin",
  title =        "Neural methods for dynamic branch prediction",
  journal =      j-TOCS,
  volume =       "20",
  number =       "4",
  pages =        "369--397",
  month =        nov,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:24 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Castro:2002:PBF,
  author =       "Miguel Castro and Barbara Liskov",
  title =        "Practical {Byzantine} fault tolerance and proactive
                 recovery",
  journal =      j-TOCS,
  volume =       "20",
  number =       "4",
  pages =        "398--461",
  month =        nov,
  year =         "2002",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:24 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Hu:2003:RTS,
  author =       "Y. Charlie Hu and Weimin Yu and Alan Cox and Dan
                 Wallach and Willy Zwaenepoel",
  title =        "Run-time support for distributed sharing in safe
                 languages",
  journal =      j-TOCS,
  volume =       "21",
  number =       "1",
  pages =        "1--35",
  month =        feb,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:21:30 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Arpaci-Dusseau:2003:RTA,
  author =       "Remzi H. Arpaci-Dusseau",
  title =        "Run-time adaptation in {River}",
  journal =      j-TOCS,
  volume =       "21",
  number =       "1",
  pages =        "36--86",
  month =        feb,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:21:30 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Nieh:2003:MTC,
  author =       "Jason Nieh and S. Jae Yang and Naomi Novik",
  title =        "Measuring thin-client performance using slow-motion
                 benchmarking",
  journal =      j-TOCS,
  volume =       "21",
  number =       "1",
  pages =        "87--115",
  month =        feb,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:21:30 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Nieh:2003:SSM,
  author =       "Jason Nieh and Monica S. Lam",
  title =        "A {SMART} scheduler for multimedia applications",
  journal =      j-TOCS,
  volume =       "21",
  number =       "2",
  pages =        "117--163",
  month =        may,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:25 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{VanRenesse:2003:ARS,
  author =       "Robbert {Van Renesse} and Kenneth P. Birman and Werner
                 Vogels",
  title =        "{Astrolabe}: a robust and scalable technology for
                 distributed system monitoring, management, and data
                 mining",
  journal =      j-TOCS,
  volume =       "21",
  number =       "2",
  pages =        "164--206",
  month =        may,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:25 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Harchol-Balter:2003:SBS,
  author =       "Mor Harchol-Balter and Bianca Schroeder and Nikhil
                 Bansal and Mukesh Agrawal",
  title =        "Size-based scheduling to improve {Web} performance",
  journal =      j-TOCS,
  volume =       "21",
  number =       "2",
  pages =        "207--233",
  month =        may,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:25 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Ellis:2003:E,
  author =       "Carla Schlatter Ellis",
  title =        "Editorial",
  journal =      j-TOCS,
  volume =       "21",
  number =       "3",
  pages =        "235--235",
  month =        aug,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:26 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Castro:2003:BUA,
  author =       "Miguel Castro and Rodrigo Rodrigues and Barbara
                 Liskov",
  title =        "{BASE}: {Using} abstraction to improve fault
                 tolerance",
  journal =      j-TOCS,
  volume =       "21",
  number =       "3",
  pages =        "236--269",
  month =        aug,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:26 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Estan:2003:NDT,
  author =       "Cristian Estan and George Varghese",
  title =        "New directions in traffic measurement and accounting:
                 {Focusing} on the elephants, ignoring the mice",
  journal =      j-TOCS,
  volume =       "21",
  number =       "3",
  pages =        "270--313",
  month =        aug,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:26 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Swanson:2003:ESI,
  author =       "Steven Swanson and Luke K. McDowell and Michael M.
                 Swift and Susan J. Eggers and Henry M. Levy",
  title =        "An evaluation of speculative instruction execution on
                 simultaneous multithreaded processors",
  journal =      j-TOCS,
  volume =       "21",
  number =       "3",
  pages =        "314--340",
  month =        aug,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Aug 7 10:13:26 MDT 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Eugster:2003:LPB,
  author =       "P. Th. Eugster and R. Guerraoui and S. B. Handurukande
                 and P. Kouznetsov and A.-M. Kermarrec",
  title =        "Lightweight probabilistic broadcast",
  journal =      j-TOCS,
  volume =       "21",
  number =       "4",
  pages =        "341--374",
  month =        nov,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Oct 31 06:17:27 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Hadzic:2003:BPF,
  author =       "Ilija Had{\v{z}}i{\'c} and Jonathan M. Smith",
  title =        "Balancing performance and flexibility with hardware
                 support for network architectures",
  journal =      j-TOCS,
  volume =       "21",
  number =       "4",
  pages =        "375--411",
  month =        nov,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Oct 31 06:17:27 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Annavaram:2003:CGP,
  author =       "Murali Annavaram and Jignesh M. Patel and Edward S.
                 Davidson",
  title =        "Call graph prefetching for database applications",
  journal =      j-TOCS,
  volume =       "21",
  number =       "4",
  pages =        "412--444",
  month =        nov,
  year =         "2003",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Oct 31 06:17:27 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Reumann:2004:SDI,
  author =       "John Reumann and Kang G. Shin",
  title =        "Stateful distributed interposition",
  journal =      j-TOCS,
  volume =       "22",
  number =       "1",
  pages =        "1--48",
  month =        feb,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Feb 2 14:07:29 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Olshefski:2004:UCI,
  author =       "David Olshefski and Jason Nieh and Dakshi Agrawal",
  title =        "Using {Certes} to infer client response time at the
                 {Web} server",
  journal =      j-TOCS,
  volume =       "22",
  number =       "1",
  pages =        "49--93",
  month =        feb,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Feb 2 14:07:29 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Certes (CliEnt Response Time Estimated by the
                 Server)",
}

@Article{Adve:2004:PPP,
  author =       "Vikram S. Adve and Mary K. Vernon",
  title =        "Parallel program performance prediction using
                 deterministic task graph analysis",
  journal =      j-TOCS,
  volume =       "22",
  number =       "1",
  pages =        "94--136",
  month =        feb,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Feb 2 14:07:29 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Flinn:2004:MBL,
  author =       "Jason Flinn and M. Satyanarayanan",
  title =        "Managing battery lifetime with energy-aware
                 adaptation",
  journal =      j-TOCS,
  volume =       "22",
  number =       "2",
  pages =        "137--179",
  month =        may,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 4 08:16:45 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Ashok:2004:CCE,
  author =       "Raksit Ashok and Saurabh Chheda and Csaba Andras
                 Moritz",
  title =        "Coupling compiler-enabled and conventional memory
                 accessing for energy efficiency",
  journal =      j-TOCS,
  volume =       "22",
  number =       "2",
  pages =        "180--213",
  month =        may,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 4 08:16:45 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Choi:2004:GFP,
  author =       "Seungryul Choi and Nicholas Kohout and Sumit Pamnani
                 and Dongkeun Kim and Donald Yeung",
  title =        "A general framework for prefetch scheduling in linked
                 data structures and its application to multi-chain
                 prefetching",
  journal =      j-TOCS,
  volume =       "22",
  number =       "2",
  pages =        "214--280",
  month =        may,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 4 08:16:45 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Verstoep:2004:CCP,
  author =       "Kees Verstoep and Raoul A. F. Bhoedjang and Tim
                 R{\"u}hl and Henri E. Bal and Rutger F. H. Hofman",
  title =        "Cluster communication protocols for
                 parallel-programming systems",
  journal =      j-TOCS,
  volume =       "22",
  number =       "3",
  pages =        "281--325",
  month =        aug,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 4 08:16:45 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Kim:2004:SSL,
  author =       "Dongkeun Kim and Donald Yeung",
  title =        "A study of source-level compiler algorithms for
                 automatic construction of pre-execution code",
  journal =      j-TOCS,
  volume =       "22",
  number =       "3",
  pages =        "326--379",
  month =        aug,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 4 08:16:45 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Bartal:2004:FNF,
  author =       "Yair Bartal and Alain Mayer and Kobbi Nissim and
                 Avishai Wool",
  title =        "{{\em Firmato\/}}: a novel firewall management
                 toolkit",
  journal =      j-TOCS,
  volume =       "22",
  number =       "4",
  pages =        "381--420",
  month =        nov,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Dec 2 05:29:12 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Grimm:2004:SSP,
  author =       "Robert Grimm and Janet Davis and Eric Lemar and Adam
                 Macbeth and Steven Swanson and Thomas Anderson and
                 Brian Bershad and Gaetano Borriello and Steven Gribble
                 and David Wetherall",
  title =        "System support for pervasive applications",
  journal =      j-TOCS,
  volume =       "22",
  number =       "4",
  pages =        "421--486",
  month =        nov,
  year =         "2004",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Dec 2 05:29:12 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Ellis:2005:E,
  author =       "Carla Schlatter Ellis",
  title =        "Editorial",
  journal =      j-TOCS,
  volume =       "23",
  number =       "1",
  pages =        "1--1",
  month =        feb,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Apr 14 10:29:37 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Maniatis:2005:LPP,
  author =       "Petros Maniatis and Mema Roussopoulos and T. J. Giuli
                 and David S. H. Rosenthal and Mary Baker",
  title =        "The {LOCKSS} peer-to-peer digital preservation
                 system",
  journal =      j-TOCS,
  volume =       "23",
  number =       "1",
  pages =        "2--50",
  month =        feb,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Apr 14 10:29:37 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{King:2005:BI,
  author =       "Samuel T. King and Peter M. Chen",
  title =        "Backtracking intrusions",
  journal =      j-TOCS,
  volume =       "23",
  number =       "1",
  pages =        "51--76",
  month =        feb,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Apr 14 10:29:37 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Swift:2005:IRC,
  author =       "Michael M. Swift and Brian N. Bershad and Henry M.
                 Levy",
  title =        "Improving the reliability of commodity operating
                 systems",
  journal =      j-TOCS,
  volume =       "23",
  number =       "1",
  pages =        "77--110",
  month =        feb,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Apr 14 10:29:37 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Gluhovsky:2005:CMC,
  author =       "Ilya Gluhovsky and Brian O'Krafka",
  title =        "Comprehensive multiprocessor cache miss rate
                 generation using multivariate models",
  journal =      j-TOCS,
  volume =       "23",
  number =       "2",
  pages =        "111--145",
  month =        may,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon May 9 11:20:41 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Herlihy:2005:NMM,
  author =       "Maurice Herlihy and Victor Luchangco and Paul Martin
                 and Mark Moir",
  title =        "Nonblocking memory management support for
                 dynamic-sized data structures",
  journal =      j-TOCS,
  volume =       "23",
  number =       "2",
  pages =        "146--196",
  month =        may,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon May 9 11:20:41 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Jimenez:2005:ILA,
  author =       "Daniel A. Jim{\'e}nez",
  title =        "Improved latency and accuracy for neural branch
                 prediction",
  journal =      j-TOCS,
  volume =       "23",
  number =       "2",
  pages =        "197--218",
  month =        may,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon May 9 11:20:41 MDT 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Jelasity:2005:GBA,
  author =       "M{\'a}rk Jelasity and Alberto Montresor and Ozalp
                 Babaoglu",
  title =        "{Gossip}-based aggregation in large dynamic networks",
  journal =      j-TOCS,
  volume =       "23",
  number =       "3",
  pages =        "219--252",
  month =        aug,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Nov 18 08:19:50 MST 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Steffan:2005:SAT,
  author =       "J. Gregory Steffan and Christopher Colohan and Antonia
                 Zhai and Todd C. Mowry",
  title =        "The {STAMPede} approach to thread-level speculation",
  journal =      j-TOCS,
  volume =       "23",
  number =       "3",
  pages =        "253--300",
  month =        aug,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Nov 18 08:19:50 MST 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Kontothanassis:2005:SMC,
  author =       "Leonidas Kontothanassis and Robert Stets and Galen
                 Hunt and Umit Rencuzogullari and Gautam Altekar and
                 Sandhya Dwarkadas and Michael L. Scott",
  title =        "Shared memory computing on clusters with symmetric
                 multiprocessors and system area networks",
  journal =      j-TOCS,
  volume =       "23",
  number =       "3",
  pages =        "301--335",
  month =        aug,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Nov 18 08:19:50 MST 2005",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Anderson:2005:QFN,
  author =       "Eric Anderson and Susan Spence and Ram Swaminathan and
                 Mahesh Kallahalla and Qian Wang",
  title =        "Quickly finding near-optimal storage designs",
  journal =      j-TOCS,
  volume =       "23",
  number =       "4",
  pages =        "337--374",
  month =        nov,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Sat Feb 4 09:45:56 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Patino-Martinez:2005:MRC,
  author =       "Marta Pati{\~n}o-Martinez and Ricardo
                 Jim{\'e}nez-Peris and Bettina Kemme and Gustavo
                 Alonso",
  title =        "{MIDDLE-R}: {Consistent} database replication at the
                 middleware level",
  journal =      j-TOCS,
  volume =       "23",
  number =       "4",
  pages =        "375--423",
  month =        nov,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Sat Feb 4 09:45:56 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Hsu:2005:AIL,
  author =       "Windsor W. Hsu and Alan Jay Smith and Honesty C.
                 Young",
  title =        "The automatic improvement of locality in storage
                 systems",
  journal =      j-TOCS,
  volume =       "23",
  number =       "4",
  pages =        "424--473",
  month =        nov,
  year =         "2005",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Sat Feb 4 09:45:56 MST 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Keromytis:2006:COS,
  author =       "Angelos D. Keromytis and Jason L. Wright and Theo {De
                 Raadt} and Matthew Burnside",
  title =        "Cryptography as an operating system service: a case
                 study",
  journal =      j-TOCS,
  volume =       "24",
  number =       "1",
  pages =        "1--38",
  month =        feb,
  year =         "2006",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1124153.1124154",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Apr 7 08:15:08 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Cryptographic transformations are a fundamental
                 building block in many security applications and
                 protocols. To improve performance, several vendors
                 market hardware accelerator cards. However, until now
                 no operating system provided a mechanism that allowed
                 both uniform and efficient use of this new type of
                 resource. We present the OpenBSD Cryptographic
                 Framework (OCF), a service virtualization layer
                 implemented inside the operating system kernel, that
                 provides uniform access to accelerator functionality by
                 hiding card-specific details behind a carefully
                 designed API. We evaluate the impact of the OCF in a
                 variety of benchmarks, measuring overall system
                 performance, application throughput and latency, and
                 aggregate throughput when multiple applications make
                 use of it. We conclude that the OCF is extremely
                 efficient in utilizing cryptographic accelerator
                 functionality, attaining 95\% of the theoretical peak
                 device performance and over 800 Mbps aggregate
                 throughput using 3DES. We believe that this validates
                 our decision to opt for ease of use by applications and
                 kernel components through a uniform API and for
                 seamless support for new accelerators. Furthermore, our
                 evaluation points to several bottlenecks in system and
                 operating system design: data copying between user and
                 kernel modes, PCI bus signaling inefficiency, protocols
                 that use small data units, and single-threaded
                 applications. We identify some of these limitations
                 through a set of measurements focusing on
                 application-layer cryptographic protocols such as SSL.
                 We offer several suggestions for improvements and
                 directions for future work. We provide experimental
                 evidence of the effectiveness of a new approach which
                 we call operating system shortcutting. Shortcutting can
                 improve the performance of application-layer
                 cryptographic protocols by 27\% with very small changes
                 to the kernel.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Coarfa:2006:PAT,
  author =       "Cristian Coarfa and Peter Druschel and Dan S.
                 Wallach",
  title =        "Performance analysis of {TLS Web} servers",
  journal =      j-TOCS,
  volume =       "24",
  number =       "1",
  pages =        "39--69",
  month =        feb,
  year =         "2006",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1124153.1124155",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Apr 7 08:15:08 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Yu:2006:CLA,
  author =       "Haifeng Yu and Amin Vahdat",
  title =        "The costs and limits of availability for replicated
                 services",
  journal =      j-TOCS,
  volume =       "24",
  number =       "1",
  pages =        "70--113",
  month =        feb,
  year =         "2006",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1124153.1124156",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Apr 7 08:15:08 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Moore:2006:IID,
  author =       "David Moore and Colleen Shannon and Douglas J. Brown
                 and Geoffrey M. Voelker and Stefan Savage",
  title =        "Inferring {Internet} denial-of-service activity",
  journal =      j-TOCS,
  volume =       "24",
  number =       "2",
  pages =        "115--139",
  month =        may,
  year =         "2006",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1132026.1132027",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu May 18 08:01:47 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "In this article, we seek to address a simple question:
                 ``How prevalent are denial-of-service attacks in the
                 Internet?'' Our motivation is to quantitatively
                 understand the nature of the current threat as well as
                 to enable longer-term analyses of trends and recurring
                 patterns of attacks. We present a new technique, called
                 ``backscatter analysis,'' that provides a conservative
                 estimate of worldwide denial-of-service activity. We
                 use this approach on 22 traces (each covering a week or
                 more) gathered over three years from 2001 through 2004.
                 Across this corpus we quantitatively assess the number,
                 duration, and focus of attacks, and qualitatively
                 characterize their behavior. In total, we observed over
                 68,000 attacks directed at over 34,000 distinct victim
                 IP addresses---ranging from well-known e-commerce
                 companies such as Amazon and Hotmail to small foreign
                 ISPs and dial-up connections. We believe our technique
                 is the first to provide quantitative estimates of
                 Internet-wide denial-of-service activity and that this
                 article describes the most comprehensive public
                 measurements of such activity to date.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Holman:2006:LUP,
  author =       "Philip Holman and James H. Anderson",
  title =        "Locking under {Pfair} scheduling",
  journal =      j-TOCS,
  volume =       "24",
  number =       "2",
  pages =        "140--174",
  month =        may,
  year =         "2006",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1132026.1132028",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu May 18 08:01:47 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "We present several locking synchronization protocols
                 for Pfair-scheduled multiprocessor systems. We focus on
                 two classes of protocols. The first class is only
                 applicable in systems in which all critical sections
                 are short relative to the length of the scheduling
                 quantum. In this case, efficient synchronization can be
                 achieved by ensuring that all locks have been released
                 before tasks are preempted. This is accomplished by
                 exploiting the quantum-based nature of Pfair
                 scheduling, which provides a priori knowledge of all
                 possible preemption points. The second and more general
                 protocol class is applicable to any system. For this
                 class, we consider the use of a client-server model. We
                 also discuss the viability of inheritance-based
                 protocols in Pfair-scheduled systems.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Lai:2006:PWA,
  author =       "Albert M. Lai and Jason Nieh",
  title =        "On the performance of wide-area thin-client
                 computing",
  journal =      j-TOCS,
  volume =       "24",
  number =       "2",
  pages =        "175--209",
  month =        may,
  year =         "2006",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1132026.1132029",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu May 18 08:01:47 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "While many application service providers have proposed
                 using thin-client computing to deliver computational
                 services over the Internet, little work has been done
                 to evaluate the effectiveness of thin-client computing
                 in a wide-area network. To assess the potential of
                 thin-client computing in the context of future
                 commodity high-bandwidth Internet access, we have used
                 a novel, noninvasive slow-motion benchmarking technique
                 to evaluate the performance of several popular
                 thin-client computing platforms in delivering
                 computational services cross-country over Internet2.
                 Our results show that using thin-client computing in a
                 wide-area network environment can deliver acceptable
                 performance over Internet2, even when client and server
                 are located thousands of miles apart on opposite ends
                 of the country. However, performance varies widely
                 among thin-client platforms and not all platforms are
                 suitable for this environment. While many thin-client
                 systems are touted as being bandwidth efficient, we
                 show that network latency is often the key factor in
                 limiting wide-area thin-client performance.
                 Furthermore, we show that the same techniques used to
                 improve bandwidth efficiency often result in worse
                 overall performance in wide-area networks. We
                 characterize and analyze the different design choices
                 in the various thin-client platforms and explain which
                 of these choices should be selected for supporting
                 wide-area computing services.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Vachharajani:2006:LSE,
  author =       "Manish Vachharajani and Neil Vachharajani and David A.
                 Penry and Jason A. Blome and Sharad Malik and David I.
                 August",
  title =        "The {Liberty Simulation Environment}: a deliberate
                 approach to high-level system modeling",
  journal =      j-TOCS,
  volume =       "24",
  number =       "3",
  pages =        "211--249",
  month =        aug,
  year =         "2006",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Aug 29 05:29:09 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Barr:2006:EAL,
  author =       "Kenneth C. Barr and Krste Asanovi{\'c}",
  title =        "Energy-aware lossless data compression",
  journal =      j-TOCS,
  volume =       "24",
  number =       "3",
  pages =        "250--291",
  month =        aug,
  year =         "2006",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Aug 29 05:29:09 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Yuan:2006:EEC,
  author =       "Wanghong Yuan and Klara Nahrstedt",
  title =        "Energy-efficient {CPU} scheduling for multimedia
                 applications",
  journal =      j-TOCS,
  volume =       "24",
  number =       "3",
  pages =        "292--331",
  month =        aug,
  year =         "2006",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1151690.1151692",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Aug 29 05:29:09 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Wireless transmission of a single bit can require over
                 1000 times more energy than a single computation. It
                 can therefore be beneficial to perform additional
                 computation to reduce the number of bits transmitted.
                 If the energy required to compress data is less than
                 the energy required to send it, there is a net energy
                 savings and an increase in battery life for portable
                 computers. This article presents a study of the energy
                 savings possible by losslessly compressing data prior
                 to transmission. A variety of algorithms were measured
                 on a StrongARM SA-110 processor. This work demonstrates
                 that, with several typical compression algorithms,
                 there is a actually a net energy increase when
                 compression is applied before transmission. Reasons for
                 this increase are explained and suggestions are made to
                 avoid it. One such energy-aware suggestion is
                 asymmetric compression, the use of one compression
                 algorithm on the transmit side and a different
                 algorithm for the receive path. By choosing the
                 lowest-energy compressor and decompressor on the test
                 platform, overall energy to send and receive data can
                 be reduced by 11\% compared with a well-chosen
                 symmetric pair, or up to 57\% over the default
                 symmetric {\tt zlib} scheme.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Swift:2006:RDD,
  author =       "Michael M. Swift and Muthukaruppan Annamalai and Brian
                 N. Bershad and Henry M. Levy",
  title =        "Recovering device drivers",
  journal =      j-TOCS,
  volume =       "24",
  number =       "4",
  pages =        "333--360",
  month =        nov,
  year =         "2006",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:54 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Nightingale:2006:SED,
  author =       "Edmund B. Nightingale and Peter M. Chen and Jason
                 Flinn",
  title =        "Speculative execution in a distributed file system",
  journal =      j-TOCS,
  volume =       "24",
  number =       "4",
  pages =        "361--392",
  month =        nov,
  year =         "2006",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:54 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Yang:2006:UMC,
  author =       "Junfeng Yang and Paul Twohey and Dawson Engler and
                 Madanlal Musuvathi",
  title =        "Using model checking to find serious file system
                 errors",
  journal =      j-TOCS,
  volume =       "24",
  number =       "4",
  pages =        "393--423",
  month =        nov,
  year =         "2006",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:54 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Higham:2007:SMC,
  author =       "Lisa Higham and Lillanne Jackson and Jalal Kawash",
  title =        "Specifying memory consistency of write buffer
                 multiprocessors",
  journal =      j-TOCS,
  volume =       "25",
  number =       "1",
  pages =        "1:1--1:??",
  month =        feb,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:55 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Gluhovsky:2007:CME,
  author =       "Ilya Gluhovsky and David Vengerov and Brian O'Krafka",
  title =        "Comprehensive multivariate extrapolation modeling of
                 multiprocessor cache miss rates",
  journal =      j-TOCS,
  volume =       "25",
  number =       "1",
  pages =        "2:1--2:??",
  month =        feb,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:55 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Behar:2007:TCS,
  author =       "Michael Behar and Avi Mendelson and Avinoam Kolodny",
  title =        "Trace cache sampling filter",
  journal =      j-TOCS,
  volume =       "25",
  number =       "1",
  pages =        "3:1--3:??",
  month =        feb,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:55 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Swanson:2007:WA,
  author =       "Steven Swanson and Andrew Schwerin and Martha Mercaldi
                 and Andrew Petersen and Andrew Putnam and Ken Michelson
                 and Mark Oskin and Susan J. Eggers",
  title =        "The {WaveScalar} architecture",
  journal =      j-TOCS,
  volume =       "25",
  number =       "2",
  pages =        "4:1--4:??",
  month =        may,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:56 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Fraser:2007:CPL,
  author =       "Keir Fraser and Tim Harris",
  title =        "Concurrent programming without locks",
  journal =      j-TOCS,
  volume =       "25",
  number =       "2",
  pages =        "5:1--5:??",
  month =        may,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:56 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Appavoo:2007:EDO,
  author =       "Jonathan Appavoo and Dilma {Da Silva} and Orran
                 Krieger and Marc Auslander and Michal Ostrowski and
                 Bryan Rosenburg and Amos Waterland and Robert W.
                 Wisniewski and Jimi Xenidis and Michael Stumm and Livio
                 Soares",
  title =        "Experience distributing objects in an {SMMP OS}",
  journal =      j-TOCS,
  volume =       "25",
  number =       "3",
  pages =        "6:1--6:??",
  month =        aug,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:57 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Qin:2007:RTB,
  author =       "Feng Qin and Joseph Tucek and Yuanyuan Zhou and
                 Jagadeesan Sundaresan",
  title =        "Rx: {Treating} bugs as allergies---a safe method to
                 survive software failures",
  journal =      j-TOCS,
  volume =       "25",
  number =       "3",
  pages =        "7:1--7:??",
  month =        aug,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:57 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Jelasity:2007:GBP,
  author =       "M{\'a}rk Jelasity and Spyros Voulgaris and Rachid
                 Guerraoui and Anne-Marie Kermarrec and Maarten van
                 Steen",
  title =        "Gossip-based peer sampling",
  journal =      j-TOCS,
  volume =       "25",
  number =       "3",
  pages =        "8:1--8:??",
  month =        aug,
  year =         "2007",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Nov 29 16:06:57 MST 2007",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Xu:2007:MEE,
  author =       "Ruibin Xu and Daniel Moss{\'e} and Rami Melhem",
  title =        "Minimizing expected energy consumption in real-time
                 systems through dynamic voltage scaling",
  journal =      j-TOCS,
  volume =       "25",
  number =       "4",
  pages =        "9:1--9:??",
  month =        dec,
  year =         "2007",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1314299.1314300",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:15 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Many real-time systems, such as battery-operated
                 embedded devices, are energy constrained. A common
                 problem for these systems is how to reduce energy
                 consumption in the system as much as possible while
                 still meeting the deadlines; a commonly used power
                 management mechanism by these systems is dynamic
                 voltage scaling (DVS). Usually, the workloads executed
                 by these systems are variable and, more often than not,
                 unpredictable. Because of the unpredictability of the
                 workloads, one cannot guarantee to minimize the energy
                 consumption in the system. However, if the variability
                 of the workloads can be captured by the probability
                 distribution of the computational requirement of each
                 task in the system, it is possible to achieve the goal
                 of minimizing the expected energy consumption in the
                 system. In this paper, we investigate DVS schemes that
                 aim at minimizing expected energy consumption for
                 frame-based hard real-time systems. Our investigation
                 considers various DVS strategies (i.e., intra-task DVS,
                 inter-task DVS, and hybrid DVS) and both an ideal
                 system model (i.e., assuming unrestricted continuous
                 frequency, well-defined power-frequency relation, and
                 no speed change overhead) and a realistic system model
                 (i.e., the processor provides a set of discrete speeds,
                 no assumption is made on power-frequency relation, and
                 speed change overhead is considered). The highlights of
                 the investigation are two practical DVS schemes:
                 Practical PACE (PPACE) for a single task and Practical
                 Inter-Task DVS (PITDVS2) for general frame-based
                 systems. Evaluation results show that our proposed
                 schemes outperform and achieve significant energy
                 savings over existing schemes.",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "dynamic voltage scaling; power management; processor
                 acceleration to conserve energy; real-time",
}

@Article{Hur:2007:MSM,
  author =       "Ibrahim Hur and Calvin Lin",
  title =        "Memory scheduling for modern microprocessors",
  journal =      j-TOCS,
  volume =       "25",
  number =       "4",
  pages =        "10:1--10:??",
  month =        dec,
  year =         "2007",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1314299.1314301",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:15 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "The need to carefully schedule memory operations has
                 increased as memory performance has become increasingly
                 important to overall system performance. This article
                 describes the adaptive history-based (AHB) scheduler,
                 which uses the history of recently scheduled operations
                 to provide three conceptual benefits: (1) it allows the
                 scheduler to better reason about the delays associated
                 with its scheduling decisions, (2) it provides a
                 mechanism for combining multiple constraints, which is
                 important for increasingly complex DRAM structures, and
                 (3) it allows the scheduler to select operations so
                 that they match the program's mixture of Reads and
                 Writes, thereby avoiding certain bottlenecks within the
                 memory controller.\par

                 We have previously evaluated this scheduler in the
                 context of the IBM Power5. When compared with the state
                 of the art, this scheduler improves performance by
                 15.6\\%, 9.9\\%, and 7.6\\% for the Stream, NAS, and
                 commercial benchmarks, respectively. This article
                 expands our understanding of the AHB scheduler in a
                 variety of ways. Looking backwards, we describe the
                 scheduler in the context of prior work that focused
                 exclusively on avoiding bank conflicts, and we show
                 that the AHB scheduler is superior for the IBM Power5,
                 which we argue will be representative of future
                 microprocessor memory controllers. Looking forwards, we
                 evaluate this scheduler in the context of future
                 systems by varying a number of microarchitectural
                 features and hardware parameters. For example, we show
                 that the benefit of this scheduler increases as we move
                 to multithreaded environments.",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "adaptive history-based scheduling; memory scheduling;
                 memory system performance",
}

@Article{Vandebogart:2007:LEP,
  author =       "Steve Vandebogart and Petros Efstathopoulos and Eddie
                 Kohler and Maxwell Krohn and Cliff Frey and David
                 Ziegler and Frans Kaashoek and Robert Morris and David
                 Mazi{\`e}res",
  title =        "Labels and event processes in the {Asbestos} operating
                 system",
  journal =      j-TOCS,
  volume =       "25",
  number =       "4",
  pages =        "11:1--11:??",
  month =        dec,
  year =         "2007",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1314299.1314302",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:15 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Asbestos, a new operating system, provides novel
                 labeling and isolation mechanisms that help contain the
                 effects of exploitable software flaws. Applications can
                 express a wide range of policies with Asbestos's
                 kernel-enforced labels, including controls on
                 interprocess communication and system-wide information
                 flow. A new event process abstraction defines
                 lightweight, isolated contexts within a single process,
                 allowing one process to act on behalf of multiple users
                 while preventing it from leaking any single user's data
                 to others. A Web server demonstration application uses
                 these primitives to isolate private user data. Since
                 the untrusted workers that respond to client requests
                 are constrained by labels, exploited workers cannot
                 directly expose user data except as allowed by
                 application policy. The server application requires 1.4
                 memory pages per user for up to 145,000 users and
                 achieves connection rates similar to Apache,
                 demonstrating that additional security can come at an
                 acceptable cost.",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "information flow; labels; mandatory access control;
                 process abstractions; secure Web servers",
}

@Article{Coulson:2008:GCM,
  author =       "Geoff Coulson and Gordon Blair and Paul Grace and
                 Fran{\c{c}}ois Taiani and Ackbar Joolia and Kevin Lee
                 and Jo Ueyama and Thirunavukkarasu Sivaharan",
  title =        "A generic component model for building systems
                 software",
  journal =      j-TOCS,
  volume =       "26",
  number =       "1",
  pages =        "1:1--1:??",
  month =        feb,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1328671.1328672",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:22 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Component-based software structuring principles are
                 now commonplace at the application level; but
                 componentization is far less established when it comes
                 to building low-level systems software. Although there
                 have been pioneering efforts in applying
                 componentization to systems-building, these efforts
                 have tended to target specific application domains
                 (e.g., embedded systems, operating systems,
                 communications systems, programmable networking
                 environments, or middleware platforms). They also tend
                 to be targeted at specific deployment environments
                 (e.g., standard personal computer (PC) environments,
                 network processors, or microcontrollers). The
                 disadvantage of this narrow targeting is that it fails
                 to maximize the genericity and abstraction potential of
                 the component approach. In this article, we argue for
                 the benefits and feasibility of a generic yet
                 tailorable approach to component-based systems-building
                 that offers a uniform programming model that is
                 applicable in a wide range of systems-oriented target
                 domains and deployment environments. The component
                 model, called OpenCom, is supported by a reflective
                 runtime architecture that is itself built from
                 components. After describing OpenCom and evaluating its
                 performance and overhead characteristics, we present
                 and evaluate two case studies of systems we have built
                 using OpenCom technology, thus illustrating its
                 benefits and its general applicability.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "component-based software; computer systems
                 implementation",
}

@Article{Colohan:2008:IPD,
  author =       "Christopher B. Colohan and Anastassia Ailamaki and J.
                 Gregory Steffan and Todd C. Mowry",
  title =        "Incrementally parallelizing database transactions with
                 thread-level speculation",
  journal =      j-TOCS,
  volume =       "26",
  number =       "1",
  pages =        "2:1--2:??",
  month =        feb,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1328671.1328673",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:22 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "With the advent of chip multiprocessors, exploiting
                 intratransaction parallelism in database systems is an
                 attractive way of improving transaction performance.
                 However, exploiting intratransaction parallelism is
                 difficult for two reasons: first, significant changes
                 are required to avoid races or conflicts within the
                 DBMS; and second, adding threads to transactions
                 requires a high level of sophistication from
                 transaction programmers. In this article we show how
                 dividing a transaction into speculative threads solves
                 both problems --- it minimizes the changes required to
                 the DBMS, and the details of parallelization are hidden
                 from the transaction programmer. Our technique requires
                 a limited number of small, localized changes to a
                 subset of the low-level data structures in the DBMS.
                 Through this method of incrementally parallelizing
                 transactions, we can dramatically improve performance:
                 on a simulated four-processor chip-multiprocessor, we
                 improve the response time by 44--66\\% for three of the
                 five TPC-C transactions, assuming the availability of
                 idle processors.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "chip-multiprocessing; incremental parallelization;
                 optimistic concurrency; thread-level speculation",
}

@Article{Kostic:2008:HBD,
  author =       "Dejan Kosti{\'c} and Alex C. Snoeren and Amin Vahdat
                 and Ryan Braud and Charles Killian and James W.
                 Anderson and Jeannie Albrecht and Adolfo Rodriguez and
                 Erik Vandekieft",
  title =        "High-bandwidth data dissemination for large-scale
                 distributed systems",
  journal =      j-TOCS,
  volume =       "26",
  number =       "1",
  pages =        "3:1--3:??",
  month =        feb,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1328671.1328674",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:22 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "This article focuses on the multireceiver data
                 dissemination problem. Initially, IP multicast formed
                 the basis for efficiently supporting such distribution.
                 More recently, overlay networks have emerged to support
                 point-to-multipoint communication. Both techniques
                 focus on constructing trees rooted at the source to
                 distribute content among all interested receivers. We
                 argue, however, that trees have two fundamental
                 limitations for data dissemination. First, since all
                 data comes from a single parent, participants must
                 often continuously probe in search of a parent with an
                 acceptable level of bandwidth. Second, due to packet
                 losses and failures, available bandwidth is
                 monotonically decreasing down the tree.\par

                 To address these limitations, we present Bullet, a data
                 dissemination mesh that takes advantage of the
                 computational and storage capabilities of end hosts to
                 create a distribution structure where a node receives
                 data in parallel from multiple peers. For the mesh to
                 deliver improved bandwidth and reliability, we need to
                 solve several key problems: (i) disseminating disjoint
                 data over the mesh, (ii) locating missing content,
                 (iii) finding who to peer with (peering strategy), (iv)
                 retrieving data at the right rate from all peers (flow
                 control), and (v) recovering from failures and adapting
                 to dynamically changing network conditions.
                 Additionally, the system should be self-adjusting and
                 should have few user-adjustable parameter settings. We
                 describe our approach to addressing all of these
                 problems in a working, deployed system across the
                 Internet. Bullet outperforms state-of-the-art systems,
                 including BitTorrent, by 25-70\\% and exhibits strong
                 performance and reliability in a range of deployment
                 settings. In addition, we find that, relative to
                 tree-based solutions, Bullet reduces the need to
                 perform expensive bandwidth probing.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "bandwidth; overlays; peer-to-peer",
}

@Article{Chang:2008:BDS,
  author =       "Fay Chang and Jeffrey Dean and Sanjay Ghemawat and
                 Wilson C. Hsieh and Deborah A. Wallach and Mike Burrows
                 and Tushar Chandra and Andrew Fikes and Robert E.
                 Gruber",
  title =        "{Bigtable}: a distributed storage system for
                 structured data",
  journal =      j-TOCS,
  volume =       "26",
  number =       "2",
  pages =        "4:1--4:??",
  month =        jun,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1365815.1365816",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:30 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Bigtable is a distributed storage system for managing
                 structured data that is designed to scale to a very
                 large size: petabytes of data across thousands of
                 commodity servers. Many projects at Google store data
                 in Bigtable, including web indexing, Google Earth, and
                 Google Finance. These applications place very different
                 demands on Bigtable, both in terms of data size (from
                 URLs to web pages to satellite imagery) and latency
                 requirements (from backend bulk processing to real-time
                 data serving). Despite these varied demands, Bigtable
                 has successfully provided a flexible, high-performance
                 solution for all of these Google products. In this
                 article, we describe the simple data model provided by
                 Bigtable, which gives clients dynamic control over data
                 layout and format, and we describe the design and
                 implementation of Bigtable.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "large-scale distributed storage",
}

@Article{Bar-Yossef:2008:RRW,
  author =       "Ziv Bar-Yossef and Roy Friedman and Gabriel Kliot",
  title =        "{RaWMS} --- {Random Walk Based Lightweight Membership
                 Service} for Wireless Ad Hoc Networks",
  journal =      j-TOCS,
  volume =       "26",
  number =       "2",
  pages =        "5:1--5:??",
  month =        jun,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1365815.1365817",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jun 16 17:52:30 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "This article presents RaWMS, a novel lightweight
                 random membership service for ad hoc networks. The
                 service provides each node with a partial uniformly
                 chosen view of network nodes. Such a membership service
                 is useful, for example, in data dissemination
                 algorithms, lookup and discovery services, peer
                 sampling services, and complete membership
                 construction. The design of RaWMS is based on a novel
                 reverse random walk (RW) sampling technique. The
                 article includes a formal analysis of both the reverse
                 RW sampling technique and RaWMS and verifies it through
                 a detailed simulation study. In addition, RaWMS is
                 compared both analytically and by simulations with a
                 number of other known methods such as flooding and
                 gossip-based techniques.",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "ad hoc networks; membership service; random walk",
}

@Article{Nightingale:2008:RS,
  author =       "Edmund B. Nightingale and Kaushik Veeraraghavan and
                 Peter M. Chen and Jason Flinn",
  title =        "Rethink the sync",
  journal =      j-TOCS,
  volume =       "26",
  number =       "3",
  pages =        "6:1--6:26",
  month =        sep,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1394441.1394442",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Sep 17 14:28:13 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "We introduce {\em external synchrony}, a new model for
                 local file I/O that provides the reliability and
                 simplicity of synchronous I/O, yet also closely
                 approximates the performance of asynchronous I/O. An
                 external observer cannot distinguish the output of a
                 computer with an externally synchronous file system
                 from the output of a computer with a synchronous file
                 system. No application modification is required to use
                 an externally synchronous file system. In fact,
                 application developers can program to the simpler
                 synchronous I/O abstraction and still receive excellent
                 performance. We have implemented an externally
                 synchronous file system for Linux, called xsyncfs.
                 Xsyncfs provides the same durability and
                 ordering-guarantees as those provided by a {\em
                 synchronously\/} mounted ext3 file system. Yet even for
                 I/O-intensive benchmarks, xsyncfs performance is within
                 7\% of ext3 mounted {\em asynchronously}. Compared to
                 ext3 mounted synchronously, xsyncfs is up to two orders
                 of magnitude faster.",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "causality; file systems; speculative execution;
                 synchronous I/O",
}

@Article{Agrawal:2008:AWS,
  author =       "Kunal Agrawal and Charles E. Leiserson and Yuxiong He
                 and Wen Jing Hsu",
  title =        "Adaptive work-stealing with parallelism feedback",
  journal =      j-TOCS,
  volume =       "26",
  number =       "3",
  pages =        "7:1--7:32",
  month =        sep,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1394441.1394443",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Sep 17 14:28:13 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Multiprocessor scheduling in a shared multiprogramming
                 environment can be structured as two-level scheduling,
                 where a kernel-level job scheduler allots processors to
                 jobs and a user-level thread scheduler schedules the
                 work of a job on its allotted processors. We present a
                 randomized work-stealing thread scheduler for fork-join
                 multithreaded jobs that provides continual parallelism
                 feedback to the job scheduler in the form of requests
                 for processors. Our A-STEAL algorithm is appropriate
                 for large parallel servers where many jobs share a
                 common multiprocessor resource and in which the number
                 of processors available to a particular job may vary
                 during the job's execution. Assuming that the job
                 scheduler never allots a job more processors than
                 requested by the job's thread scheduler, A-STEAL
                 guarantees that the job completes in near-optimal time
                 while utilizing at least a constant fraction of the
                 allotted processors.\par

                 We model the job scheduler as the thread scheduler's
                 adversary, challenging the thread scheduler to be
                 robust to the operating environment as well as to the
                 job scheduler's administrative policies. For example,
                 the job scheduler might make a large number of
                 processors available exactly when the job has little
                 use for them. To analyze the performance of our
                 adaptive thread scheduler under this stringent
                 adversarial assumption, we introduce a new technique
                 called {\em trim analysis,\/} which allows us to prove
                 that our thread scheduler performs poorly on no more
                 than a small number of time steps, exhibiting
                 near-optimal behavior on the vast majority.\par

                 More precisely, suppose that a job has work $T_1$ and
                 span $T_\infty$. On a machine with $P$ processors,
                 A-STEAL completes the job in an expected duration of
                 $O(T_1 / \tilde{P} + T_\infty + L \lg P)$ time steps,
                 where $L$ is the length of a scheduling quantum, and
                 $\tilde{P}$ denotes the $O(T_\infty + L \lg P)$-trimmed
                 availability. This quantity is the average of the
                 processor availability over all time steps except the
                 $O(T_\infty + L \lg P)$ time steps that have the
                 highest processor availability. When the job's
                 parallelism dominates the trimmed availability, that
                 is, $\tilde{P} \ll T_1 / T_\infty$, the job achieves
                 nearly perfect linear speedup. Conversely, when the
                 trimmed mean dominates the parallelism, the asymptotic
                 running time of the job is nearly the length of its
                 span, which is optimal.\par

                 We measured the performance of A-STEAL on a simulated
                 multiprocessor system using synthetic workloads. For
                 jobs with sufficient parallelism, our experiments
                 confirm that A-STEAL provides almost perfect linear
                 speedup across a variety of processor availability
                 profiles. We compared A-STEAL with the ABP algorithm,
                 an adaptive work-stealing thread scheduler developed by
                 Arora et al. [1998] which does not employ parallelism
                 feedback. On moderately to heavily loaded machines with
                 large numbers of processors, A-STEAL typically
                 completed jobs more than twice as quickly as ABP,
                 despite being allotted the same number or fewer
                 processors on every step, while wasting only 10\% of
                 the processor cycles wasted by ABP.",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "adaptive scheduling; adversary; instantaneous
                 parallelism; job scheduling; multiprocessing;
                 multiprogramming; parallel computation; parallelism
                 feedback; processor allocation; randomized algorithm;
                 space sharing; span; thread scheduling; trim analysis;
                 two-level scheduling; work; work-stealing",
}

@Article{Shieh:2008:SAC,
  author =       "Alan Shieh and Andrew C. Myers and Emin G{\"u}n
                 Sirer",
  title =        "A stateless approach to connection-oriented
                 protocols",
  journal =      j-TOCS,
  volume =       "26",
  number =       "3",
  pages =        "8:1--8:50",
  month =        sep,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1394441.1394444",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Sep 17 14:28:13 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Traditional operating system interfaces and network
                 protocol implementations force some system state to be
                 kept on both sides of a connection. This state ties the
                 connection to its endpoints, impedes transparent
                 failover, permits denial-of-service attacks, and limits
                 scalability. This article introduces a novel TCP-like
                 transport protocol and a new interface to replace
                 sockets that together enable all state to be kept on
                 one endpoint, allowing the other endpoint, typically
                 the server, to operate without any per-connection
                 state. Called {\em Trickles}, this approach enables
                 servers to scale well with increasing numbers of
                 clients, consume fewer resources, and better resist
                 denial-of-service attacks. Measurements on a full
                 implementation in Linux indicate that Trickles achieves
                 performance comparable to TCP/IP, interacts well with
                 other flows, and scales well. Trickles also enables
                 qualitatively different kinds of networked services.
                 Services can be geographically replicated and contacted
                 through an anycast primitive for improved availability
                 and performance. Widely-deployed practices that
                 currently have client-observable side effects, such as
                 periodic server reboots, connection redirection, and
                 failover, can be made transparent, and perform well,
                 under Trickles. The protocol is secure against
                 tampering and replay attacks, and the client interface
                 is backward-compatible, requiring no changes to
                 sockets-based client applications.",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "stateless interfaces; stateless protocols",
}

@Article{Costa:2008:VEE,
  author =       "Manuel Costa and Jon Crowcroft and Miguel Castro and
                 Antony Rowstron and Lidong Zhou and Lintao Zhang and
                 Paul Barham",
  title =        "{Vigilante}: End-to-end containment of {Internet} worm
                 epidemics",
  journal =      j-TOCS,
  volume =       "26",
  number =       "4",
  pages =        "9:1--9:??",
  month =        dec,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1455258.1455259",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Dec 23 13:36:21 MST 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Worm containment must be automatic because worms can
                 spread too fast for humans to respond. Recent work
                 proposed network-level techniques to automate worm
                 containment; these techniques have limitations because
                 there is no information about the vulnerabilities
                 exploited by worms at the network level. We propose
                 Vigilante, a new end-to-end architecture to contain
                 worms automatically that addresses these
                 limitations.\par

                 In Vigilante, hosts detect worms by instrumenting
                 vulnerable programs to analyze infection attempts. We
                 introduce {\em dynamic data-flow analysis\/}: a
                 broad-coverage host-based algorithm that can detect
                 unknown worms by tracking the flow of data from network
                 messages and disallowing unsafe uses of this data. We
                 also show how to integrate other host-based detection
                 mechanisms into the Vigilante architecture. Upon
                 detection, hosts generate {\em self-certifying
                 alerts\/} (SCAs), a new type of security alert that can
                 be inexpensively verified by any vulnerable host. Using
                 SCAs, hosts can cooperate to contain an outbreak,
                 without having to trust each other. Vigilante
                 broadcasts SCAs over an overlay network that propagates
                 alerts rapidly and resiliently. Hosts receiving an SCA
                 protect themselves by generating filters with {\em
                 vulnerability condition slicing\/}: an algorithm that
                 performs dynamic analysis of the vulnerable program to
                 identify control-flow conditions that lead to
                 successful attacks. These filters block the worm attack
                 and all its polymorphic mutations that follow the
                 execution path identified by the SCA.\par

                 Our results show that Vigilante can contain
                 fast-spreading worms that exploit unknown
                 vulnerabilities, and that Vigilante's filters introduce
                 a negligible performance overhead. Vigilante does not
                 require any changes to hardware, compilers, operating
                 systems, or the source code of vulnerable programs;
                 therefore, it can be used to protect current software
                 binaries.",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "dynamic data-flow analysis; program analysis;
                 self-certifying alerts; vulnerability condition
                 slicing; Worm containment",
}

@Article{Qiao:2008:IPP,
  author =       "Yi Qiao and Fabi{\'a}n E. Bustamante and Peter A.
                 Dinda and Stefan Birrer and Dong Lu",
  title =        "Improving peer-to-peer performance through server-side
                 scheduling",
  journal =      j-TOCS,
  volume =       "26",
  number =       "4",
  pages =        "10:1--10:??",
  month =        dec,
  year =         "2008",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1455258.1455260",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Tue Dec 23 13:36:21 MST 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "We show how to significantly improve the mean response
                 time seen by both uploaders and downloaders in
                 peer-to-peer data-sharing systems. Our work is
                 motivated by the observation that response times are
                 largely determined by the performance of the peers
                 serving the requested objects, that is, by the peers in
                 their capacity as servers. With this in mind, we take a
                 close look at this {\em server side\/} of peers,
                 characterizing its workload by collecting and examining
                 an extensive set of traces. Using trace-driven
                 simulation, we demonstrate the promise and potential
                 problems with scheduling policies based on
                 shortest-remaining-processing-time (SRPT), the
                 algorithm known to be optimal for minimizing mean
                 response time. The key challenge to using SRPT in this
                 context is determining request service times. In
                 addressing this challenge, we introduce two new
                 estimators that enable {\em predictive\/} SRPT
                 scheduling policies that closely approach the
                 performance of ideal SRPT. We evaluate our approach
                 through extensive single-server and system-level
                 simulation coupled with real Internet deployment and
                 experimentation.",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Peer-to-peer; scheduling; server-side; size-based
                 scheduling; SRPT",
}

@Article{Choi:2009:HCS,
  author =       "Seungryul Choi and Donald Yeung",
  title =        "Hill-climbing {SMT} processor resource distribution",
  journal =      j-TOCS,
  volume =       "27",
  number =       "1",
  pages =        "1:1--1:??",
  month =        feb,
  year =         "2009",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Feb 13 18:30:25 MST 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "The key to high performance in Simultaneous
                 MultiThreaded (SMT) processors lies in optimizing the
                 distribution of shared resources to active threads.
                 Existing resource distribution techniques optimize
                 performance only indirectly. They infer potential
                 performance bottlenecks by observing indicators, like
                 instruction occupancy or cache miss counts, and take
                 actions to try to alleviate them. While the corrective
                 actions are designed to improve performance, their
                 actual performance impact is not known since end
                 performance is never monitored. Consequently, potential
                 performance gains are lost whenever the corrective
                 actions do not effectively address the actual
                 bottlenecks occurring in the pipeline.\par

                 We propose a different approach to SMT resource
                 distribution that optimizes end performance directly.
                 Our approach observes the impact that resource
                 distribution decisions have on performance at runtime,
                 and feeds this information back to the resource
                 distribution mechanisms to improve future decisions. By
                 evaluating many different resource distributions, our
                 approach tries to learn the best distribution over
                 time. Because we perform learning online, learning time
                 is crucial. We develop a hill-climbing algorithm that
                 quickly learns the best distribution of resources by
                 following the performance gradient within the resource
                 distribution space. We also develop several ideal
                 learning algorithms to enable deeper insights through
                 limit studies.\par

                 This article conducts an in-depth investigation of
                 hill-climbing SMT resource distribution using a
                 comprehensive suite of 63 multiprogrammed workloads.
                 Our results show hill-climbing outperforms ICOUNT,
                 FLUSH, and DCRA (three existing SMT techniques) by
                 11.4\%, 11.5\%, and 2.8\%, respectively, under the
                 weighted IPC metric. A limit study conducted using our
                 ideal learning algorithms shows our approach can
                 potentially outperform the same techniques by 19.2\%,
                 18.0\%, and 7.6\%, respectively, thus demonstrating
                 additional room exists for further improvement. Using
                 our ideal algorithms, we also identify three
                 bottlenecks that limit online learning speed: local
                 maxima, phased behavior, and interepoch jitter. We
                 define metrics to quantify these learning bottlenecks,
                 and characterize the extent to which they occur in our
                 workloads. Finally, we conduct a sensitivity study, and
                 investigate several extensions to improve our
                 hill-climbing technique.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Ntarmos:2009:DHS,
  author =       "N. Ntarmos and P. Triantafillou and G. Weikum",
  title =        "Distributed hash sketches: {Scalable}, efficient, and
                 accurate cardinality estimation for distributed
                 multisets",
  journal =      j-TOCS,
  volume =       "27",
  number =       "1",
  pages =        "2:1--2:??",
  month =        feb,
  year =         "2009",
  CODEN =        "ACSYEC",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Fri Feb 13 18:30:25 MST 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Counting items in a distributed system, and estimating
                 the cardinality of multisets in particular, is
                 important for a large variety of applications and a
                 fundamental building block for emerging Internet-scale
                 information systems. Examples of such applications
                 range from optimizing query access plans in
                 peer-to-peer data sharing, to computing the
                 significance (rank/score) of data items in distributed
                 information retrieval. The general formal problem
                 addressed in this article is computing the network-wide
                 distinct number of items with some property (e.g.,
                 distinct files with file name containing ``spiderman'')
                 where each node in the network holds an arbitrary
                 subset, possibly overlapping the subsets of other
                 nodes. The key requirements that a viable approach must
                 satisfy are: (1) scalability towards very large network
                 size, (2) efficiency regarding messaging overhead, (3)
                 load balance of storage and access, (4) accuracy of the
                 cardinality estimation, and (5) simplicity and easy
                 integration in applications. This article contributes
                 the DHS (Distributed Hash Sketches) method for this
                 problem setting: a distributed, scalable, efficient,
                 and accurate multiset cardinality estimator. DHS is
                 based on hash sketches for probabilistic counting, but
                 distributes the bits of each counter across network
                 nodes in a judicious manner based on principles of
                 Distributed Hash Tables, paying careful attention to
                 fast access and aggregation as well as update costs.
                 The article discusses various design choices,
                 exhibiting tunable trade-offs between estimation
                 accuracy, hop-count efficiency, and load distribution
                 fairness. We further contribute a full-fledged,
                 publicly available, open-source implementation of all
                 our methods, and a comprehensive experimental
                 evaluation for various settings.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Eyerman:2009:MPM,
  author =       "Stijn Eyerman and Lieven Eeckhout and Tejas Karkhanis
                 and James E. Smith",
  title =        "A mechanistic performance model for superscalar
                 out-of-order processors",
  journal =      j-TOCS,
  volume =       "27",
  number =       "2",
  pages =        "3:1--3:??",
  month =        may,
  year =         "2009",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1534909.1534910",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed May 27 15:56:17 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "A mechanistic model for out-of-order superscalar
                 processors is developed and then applied to the study
                 of microarchitecture resource scaling. The model
                 divides execution time into intervals separated by
                 disruptive miss events such as branch mispredictions
                 and cache misses. Each type of miss event results in
                 characterizable performance behavior for the execution
                 time interval. By considering an interval's type and
                 length (measured in instructions), execution time can
                 be predicted for the interval. Overall execution time
                 is then determined by aggregating the execution time
                 over all intervals. The mechanistic model provides
                 several advantages over prior modeling approaches, and,
                 when estimating performance, it differs from detailed
                 simulation of a 4-wide out-of-order processor by an
                 average of 7\%.\par

                 The mechanistic model is applied to the general problem
                 of resource scaling in out-of-order superscalar
                 processors. First, we use the model to determine size
                 relationships among microarchitecture structures in a
                 balanced processor design. Second, we use the
                 mechanistic model to study scaling of both pipeline
                 depth and width in balanced processor designs. We
                 corroborate previous results in this area and provide
                 new results. For example, we show that at optimal
                 design points, the pipeline depth times the square root
                 of the processor width is nearly constant. Finally, we
                 consider the behavior of unbalanced, overprovisioned
                 processor designs based on insight gained from the
                 mechanistic model. We show that in certain situations
                 an overprovisioned processor may lead to improved
                 overall performance. Designs where a processor's
                 dispatch width is wider than its issue width are of
                 particular interest.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "analytical modeling; balanced processor design;
                 mechanistic modeling; overprovisioned processor design;
                 performance modeling; pipeline depth; pipeline width;
                 resource scaling; Superscalar out-of-order processor;
                 wide front-end dispatch processors",
}

@Article{Zagorodnov:2009:PLO,
  author =       "Dmitrii Zagorodnov and Keith Marzullo and Lorenzo
                 Alvisi and Thomas C. Bressoud",
  title =        "Practical and low-overhead masking of failures of
                 {TCP}-based servers",
  journal =      j-TOCS,
  volume =       "27",
  number =       "2",
  pages =        "4:1--4:??",
  month =        may,
  year =         "2009",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1534909.1534911",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed May 27 15:56:17 MDT 2009",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "This article describes an architecture that allows a
                 replicated service to survive crashes without breaking
                 its TCP connections. Our approach does not require
                 modifications to the TCP protocol, to the operating
                 system on the server, or to any of the software running
                 on the clients. Furthermore, it runs on commodity
                 hardware. We compare two implementations of this
                 architecture (one based on primary/backup replication
                 and another based on message logging) focusing on
                 scalability, failover time, and application
                 transparency. We evaluate three types of services: a
                 file server, a Web server, and a multimedia streaming
                 server. Our experiments suggest that the approach
                 incurs low overhead on throughput, scales well as the
                 number of clients increases, and allows recovery of the
                 service in near-optimal time.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Fault-tolerant computing system; primary/backup
                 approach; TCP/IP",
}

@Article{Aguilera:2009:SNP,
  author =       "Marcos K. Aguilera and Arif Merchant and Mehul Shah
                 and Alistair Veitch and Christos Karamanolis",
  title =        "{Sinfonia}: a new paradigm for building scalable
                 distributed systems",
  journal =      j-TOCS,
  volume =       "27",
  number =       "3",
  pages =        "5:1--5:48",
  month =        nov,
  year =         "2009",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1629087.1629088",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Mar 15 09:06:12 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "We propose a new paradigm for building scalable
                 distributed systems. Our approach does not require
                 dealing with message-passing protocols, a major
                 complication in existing distributed systems. Instead,
                 developers just design and manipulate data structures
                 within our service called Sinfonia. Sinfonia keeps data
                 for applications on a set of memory nodes, each
                 exporting a linear address space. At the core of
                 Sinfonia is a new minitransaction primitive that
                 enables efficient and consistent access to data, while
                 hiding the complexities that arise from concurrency and
                 failures. Using Sinfonia, we implemented two very
                 different and complex applications in a few months: a
                 cluster file system and a group communication service.
                 Our implementations perform well and scale to hundreds
                 of machines.",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Distributed systems; fault tolerance; scalability;
                 shared memory; transactions; two-phase commit",
}

@Article{Cherkasova:2009:AAD,
  author =       "Ludmila Cherkasova and Kivanc Ozonat and Ningfang Mi
                 and Julie Symons and Evgenia Smirni",
  title =        "Automated anomaly detection and performance modeling
                 of enterprise applications",
  journal =      j-TOCS,
  volume =       "27",
  number =       "3",
  pages =        "6:1--6:32",
  month =        nov,
  year =         "2009",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1629087.1629089",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Mar 15 09:06:12 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Automated tools for understanding application behavior
                 and its changes during the application lifecycle are
                 essential for many performance analysis and debugging
                 tasks. Application performance issues have an immediate
                 impact on customer experience and satisfaction. A
                 sudden slowdown of enterprise-wide application can
                 effect a large population of customers, lead to delayed
                 projects, and ultimately can result in company
                 financial loss. Significantly shortened time between
                 new software releases further exacerbates the problem
                 of thoroughly evaluating the performance of an updated
                 application. Our thesis is that online performance
                 modeling should be a part of routine application
                 monitoring. Early, informative warnings on significant
                 changes in application performance should help service
                 providers to timely identify and prevent performance
                 problems and their negative impact on the service. We
                 propose a novel framework for automated anomaly
                 detection and application change analysis. It is based
                 on integration of two complementary techniques: (i) a
                 regression-based transaction model that reflects a
                 resource consumption model of the application, and (ii)
                 an application performance signature that provides a
                 compact model of runtime behavior of the application.
                 The proposed integrated framework provides a simple and
                 powerful solution for anomaly detection and analysis of
                 essential performance changes in application behavior.
                 An additional benefit of the proposed approach is its
                 simplicity: It is not intrusive and is based on
                 monitoring data that is typically available in
                 enterprise production environments. The introduced
                 solution further enables the automation of capacity
                 planning and resource provisioning tasks of multitier
                 applications in rapidly evolving IT environments.",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Anomaly detection; capacity planning; multitier
                 applications; online algorithms; performance modeling",
}

@Article{Kotla:2009:ZSB,
  author =       "Ramakrishna Kotla and Lorenzo Alvisi and Mike Dahlin
                 and Allen Clement and Edmund Wong",
  title =        "{Zyzzyva}: {Speculative Byzantine} fault tolerance",
  journal =      j-TOCS,
  volume =       "27",
  number =       "4",
  pages =        "7:1--7:39",
  month =        dec,
  year =         "2009",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1658357.1658358",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Mar 15 09:06:46 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "A longstanding vision in distributed systems is to
                 build reliable systems from unreliable components. An
                 enticing formulation of this vision is Byzantine
                 Fault-Tolerant (BFT) state machine replication, in
                 which a group of servers collectively act as a correct
                 server even if some of the servers misbehave or
                 malfunction in arbitrary (``Byzantine'') ways. Despite
                 this promise, practitioners hesitate to deploy BFT
                 systems, at least partly because of the perception that
                 BFT must impose high overheads.\par

                 In this article, we present Zyzzyva, a protocol that
                 uses speculation to reduce the cost of BFT replication.
                 In Zyzzyva, replicas reply to a client's request
                 without first running an expensive three-phase commit
                 protocol to agree on the order to process requests.
                 Instead, they optimistically adopt the order proposed
                 by a primary server, process the request, and reply
                 immediately to the client. If the primary is faulty,
                 replicas can become temporarily inconsistent with one
                 another, but clients detect inconsistencies, help
                 correct replicas converge on a single total ordering of
                 requests, and only rely on responses that are
                 consistent with this total order. This approach allows
                 Zyzzyva to reduce replication overheads to near their
                 theoretical minima and to achieve throughputs of tens
                 of thousands of requests per second, making BFT
                 replication practical for a broad range of demanding
                 services.",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Byzantine fault tolerance; output commit; replication;
                 speculative execution",
}

@Article{Vera:2009:SRL,
  author =       "Xavier Vera and Jaume Abella and Javier Carretero and
                 Antonio Gonz{\'a}lez",
  title =        "Selective replication: a lightweight technique for
                 soft errors",
  journal =      j-TOCS,
  volume =       "27",
  number =       "4",
  pages =        "8:1--8:30",
  month =        dec,
  year =         "2009",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1658357.1658359",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Mar 15 09:06:46 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Soft errors are an important challenge in contemporary
                 microprocessors. Modern processors have caches and
                 large memory arrays protected by parity or error
                 detection and correction codes. However, today's
                 failure rate is dominated by flip flops, latches, and
                 the increasing sensitivity of combinational logic to
                 particle strikes. Moreover, as Chip Multi-Processors
                 (CMPs) become ubiquitous, meeting the FIT budget for
                 new designs is becoming a major
                 challenge.\par

                 Solutions based on replicating threads have been
                 explored deeply; however, their high cost in
                 performance and energy make them unsuitable for current
                 designs. Moreover, our studies based on a typical
                 configuration for a modern processor show that focusing
                 on the top 5 most vulnerable structures can provide up
                 to 70\% reduction in FIT rate. Therefore, full
                 replication may overprotect the chip by reducing the
                 FIT much below budget.\par

                 We propose {\em Selective Replication}, a
                 lightweight-reconfigurable mechanism that achieves a
                 high FIT reduction by protecting the most vulnerable
                 instructions with minimal performance and energy
                 impact. Low performance degradation is achieved by not
                 requiring additional issue slots and reissuing
                 instructions only during the time window between when
                 they are retirable and they actually retire. Coverage
                 can be reconfigured online by replicating only a subset
                 of the instructions (the most vulnerable ones).
                 Instructions' vulnerability is estimated based on the
                 area they occupy and the time they spend in the issue
                 queue. By changing the vulnerability threshold, we can
                 adjust the trade-off between coverage and performance
                 loss.\par

                 Results for an out-of-order processor configured
                 similarly to Intel{\reg} Core\TM{} Micro-Architecture
                 show that our scheme can achieve over 65\% FIT
                 reduction with less than 4\% performance degradation
                 with small area and complexity overhead.",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "AVF prediction; FIT reduction; redundant
                 multithreading; Soft errors",
}

@Article{Chen:2010:E,
  author =       "Peter M. Chen",
  title =        "Editorial",
  journal =      j-TOCS,
  volume =       "28",
  number =       "1",
  pages =        "1:1--1:??",
  month =        mar,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1731060.1731061",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Apr 5 12:44:43 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Yabandeh:2010:PPI,
  author =       "Maysam Yabandeh and Nikola Kne{\v{z}}evi{\'c} and
                 Dejan Kosti{\'c} and Viktor Kuncak",
  title =        "Predicting and preventing inconsistencies in deployed
                 distributed systems",
  journal =      j-TOCS,
  volume =       "28",
  number =       "1",
  pages =        "2:1--2:??",
  month =        mar,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1731060.1731062",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Apr 5 12:44:43 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "We propose a new approach for developing and deploying
                 distributed systems, in which nodes predict distributed
                 consequences of their actions and use this information
                 to detect and avoid errors. Each node continuously runs
                 a state exploration algorithm on a recent consistent
                 snapshot of its neighborhood and predicts possible
                 future violations of specified safety properties. We
                 describe a new state exploration algorithm, consequence
                 prediction, which explores causally related chains of
                 events that lead to property violation.\par

                 This article describes the design and implementation of
                 this approach, termed CrystalBall. We evaluate
                 CrystalBall on RandTree, BulletPrime, Paxos, and Chord
                 distributed system implementations. We identified new
                 bugs in mature Mace implementations of three systems.
                 Furthermore, we show that if the bug is not corrected
                 during system development, CrystalBall is effective in
                 steering the execution away from inconsistent states at
                 runtime.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "consequence prediction; Distributed systems; enforcing
                 safety properties; execution steering; reliability",
}

@Article{Walfish:2010:DDO,
  author =       "Michael Walfish and Mythili Vutukuru and Hari
                 Balakrishnan and David Karger and Scott Shenker",
  title =        "{DDoS} defense by offense",
  journal =      j-TOCS,
  volume =       "28",
  number =       "1",
  pages =        "3:1--3:??",
  month =        mar,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1731060.1731063",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Apr 5 12:44:43 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "This article presents the design, implementation,
                 analysis, and experimental evaluation of {\em
                 speak-up}, a defense against {\em application-level\/}
                 distributed denial-of-service (DDoS), in which
                 attackers cripple a server by sending
                 legitimate-looking requests that consume computational
                 resources (e.g., CPU cycles, disk). With speak-up, a
                 victimized server encourages all clients, resources
                 permitting, {\em to automatically send higher volumes
                 of traffic}. We suppose that attackers are already
                 using most of their upload bandwidth so cannot react to
                 the encouragement. Good clients, however, have spare
                 upload bandwidth so can react to the encouragement with
                 drastically higher volumes of traffic. The intended
                 outcome of this traffic inflation is that the good
                 clients crowd out the bad ones, thereby capturing a
                 much larger fraction of the server's resources than
                 before. We experiment under various conditions and find
                 that speak-up causes the server to spend resources on a
                 group of clients in rough proportion to their aggregate
                 upload bandwidths, which is the intended result.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "bandwidth; currency; DoS attack",
}

@Article{Roeder:2010:PO,
  author =       "Tom Roeder and Fred B. Schneider",
  title =        "Proactive obfuscation",
  journal =      j-TOCS,
  volume =       "28",
  number =       "2",
  pages =        "4:1--4:??",
  month =        jul,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1813654.1813655",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jul 22 12:42:28 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "{\em Proactive obfuscation\/} is a new method for
                 creating server replicas that are likely to have fewer
                 shared vulnerabilities. It uses semantics-preserving
                 code transformations to generate diverse executables,
                 periodically restarting servers with these fresh
                 versions. The periodic restarts help bound the number
                 of compromised replicas that a service ever
                 concurrently runs, and therefore proactive obfuscation
                 makes an adversary's job harder. Proactive obfuscation
                 was used in implementing two prototypes: a distributed
                 firewall based on state-machine replication and a
                 distributed storage service based on quorum systems.
                 Costs intrinsic to supporting proactive obfuscation in
                 replicated systems were evaluated by measuring the
                 performance of these prototypes. The results show that
                 employing proactive obfuscation adds little to the cost
                 of replica-management protocols.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Byzantine fault tolerance; distributed systems;
                 proactive recovery; quorum systems; state machine
                 approach",
}

@Article{Guerraoui:2010:TOT,
  author =       "Rachid Guerraoui and Ron R. Levy and Bastian Pochon
                 and Vivien Qu{\'e}ma",
  title =        "Throughput optimal total order broadcast for cluster
                 environments",
  journal =      j-TOCS,
  volume =       "28",
  number =       "2",
  pages =        "5:1--5:??",
  month =        jul,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1813654.1813656",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Jul 22 12:42:28 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Total order broadcast is a fundamental communication
                 primitive that plays a central role in bringing cheap
                 software-based high availability to a wide range of
                 services. This article studies the practical
                 performance of such a primitive on a cluster of
                 homogeneous machines.\par

                 We present LCR, the first throughput optimal uniform
                 total order broadcast protocol. LCR is based on a ring
                 topology. It only relies on point-to-point
                 inter-process communication and has a linear latency
                 with respect to the number of processes. LCR is also
                 fair in the sense that each process has an equal
                 opportunity of having its messages delivered by all
                 processes.\par

                 We benchmark a C implementation of LCR against Spread
                 and JGroups, two of the most widely used group
                 communication packages. LCR provides higher throughput
                 than the alternatives, over a large number of
                 scenarios.",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "cluster computing; replication; software
                 fault-tolerance; total order broadcast",
}

@Article{Amir:2010:SWM,
  author =       "Yair Amir and Claudiu Danilov and Raluca
                 Musu{\~a}loiu-Elefteri and Nilo Rivera",
  title =        "The {SMesh} wireless mesh network",
  journal =      j-TOCS,
  volume =       "28",
  number =       "3",
  pages =        "6:1--6:??",
  month =        sep,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1841313.1841314",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Sep 30 09:01:34 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Wireless mesh networks extend the connectivity range
                 of mobile devices by using multiple access points, some
                 of them connected to the Internet, to create a mesh
                 topology and forward packets over multiple wireless
                 hops. However, the quality of service provided by the
                 mesh is impaired by the delays and disconnections
                 caused by handoffs, as clients move within the area
                 covered by multiple access points. We present the
                 architecture and protocols of SMesh, the first
                 transparent wireless mesh system that offers seamless,
                 fast handoff, supporting real-time applications such as
                 interactive VoIP. The handoff and routing logic is done
                 solely by the access points, and therefore connectivity
                 is attainable by any 802.11 device. In SMesh, the
                 entire mesh network is seen by the mobile clients as a
                 single, omnipresent access point, giving the mobile
                 clients the illusion that they are stationary. We use
                 multicast for access points coordination and, during
                 handoff transitions, we use more than one access point
                 to handle the moving client. SMesh provides a hybrid
                 routing protocol that optimizes routes over wireless
                 and wired links in a multihomed environment.
                 Experimental results on a fully deployed mesh network
                 demonstrate the effectiveness of the SMesh architecture
                 and its intra-domain and inter-domain handoff
                 protocols.",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "fast handoff; inter-domain; intra-domain;
                 micromobility; Wireless mesh networks",
}

@Article{Friedman:2010:PQS,
  author =       "Roy Friedman and Gabriel Kliot and Chen Avin",
  title =        "Probabilistic quorum systems in wireless {Ad Hoc}
                 networks",
  journal =      j-TOCS,
  volume =       "28",
  number =       "3",
  pages =        "7:1--7:??",
  month =        sep,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1841313.1841315",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Sep 30 09:01:34 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Quorums are a basic construct in solving many
                 fundamental distributed computing problems. One of the
                 known ways of making quorums scalable and efficient is
                 by weakening their intersection guarantee to being
                 probabilistic. This article explores several access
                 strategies for implementing probabilistic quorums in ad
                 hoc networks. In particular, we present the first
                 detailed study of asymmetric probabilistic biquorum
                 systems, that allow to mix different access strategies
                 and different quorums sizes, while guaranteeing the
                 desired intersection probability. We show the
                 advantages of asymmetric probabilistic biquorum systems
                 in ad hoc networks. Such an asymmetric construction is
                 also useful for other types of networks with nonuniform
                 access costs (e.g., peer-to-peer networks). The article
                 includes a formal analysis of these approaches backed
                 up by an extensive simulation-based study. The study
                 explores the impact of various parameters such as
                 network size, network density, mobility speed, and
                 churn. In particular, we show that one of the
                 strategies that uses random walks exhibits the smallest
                 communication overhead, thus being very attractive for
                 ad hoc networks.",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
  keywords =     "Distributed middleware; location service; quorums
                 systems; random walks; wireless ad hoc networks",
}

@Article{Blagodurov:2010:CAS,
  author =       "Sergey Blagodurov and Sergey Zhuravlev and Alexandra
                 Fedorova",
  title =        "Contention-Aware Scheduling on Multicore Systems",
  journal =      j-TOCS,
  volume =       "28",
  number =       "4",
  pages =        "8:1--8:??",
  month =        dec,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1880018.1880019",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Dec 23 17:06:32 MST 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Contention for shared resources on multicore
                 processors remains an unsolved problem in existing
                 systems despite significant research efforts dedicated
                 to this problem in the past. Previous solutions focused
                 primarily on hardware techniques and software page
                 coloring to mitigate this problem. Our goal is to
                 investigate how and to what extent contention for
                 shared resource can be mitigated via thread scheduling.
                 Scheduling is an attractive tool, because it does not
                 require extra hardware and is relatively easy to
                 integrate into the system. Our study is the first to
                 provide a comprehensive analysis of
                 contention-mitigating techniques that use only
                 scheduling. The most difficult part of the problem is
                 to find a classification scheme for threads, which
                 would determine how they affect each other when
                 competing for shared resources.",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Cheung:2010:LBC,
  author =       "Alex King Yeung Cheung and Hans-Arno Jacobsen",
  title =        "Load Balancing Content-Based Publish\slash Subscribe
                 Systems",
  journal =      j-TOCS,
  volume =       "28",
  number =       "4",
  pages =        "9:1--9:??",
  month =        dec,
  year =         "2010",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1880018.1880020",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Thu Dec 23 17:06:32 MST 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Distributed content-based publish/subscribe systems
                 suffer from performance degradation and poor
                 scalability caused by uneven load distributions typical
                 in real-world applications. The reason for this
                 shortcoming is the lack of a load balancing scheme.
                 This article proposes a load balancing solution
                 specifically tailored to the needs of content-based
                 publish/subscribe systems that is distributed, dynamic,
                 adaptive, transparent, and accommodates heterogeneity.
                 The solution consists of three key contributions: a
                 load balancing framework, a novel load estimation
                 algorithm, and three offload strategies. A working
                 prototype of our solution is built on an open-sourced
                 content-based publish/subscribe system and evaluated on
                 PlanetLab, a cluster testbed, and in simulations.",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Kim:2011:SSE,
  author =       "Changhoon Kim and Matthew Caesar and Jennifer
                 Rexford",
  title =        "{SEATTLE}: a {Scalable Ethernet Architecture for Large
                 Enterprises}",
  journal =      j-TOCS,
  volume =       "29",
  number =       "1",
  pages =        "1:1--1:35",
  month =        feb,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1925109.1925110",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Feb 28 16:17:43 MST 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "IP networks today require massive effort to configure
                 and manage. Ethernet is vastly simpler to manage, but
                 does not scale beyond small local area networks. This
                 article describes an alternative network architecture
                 called SEATTLE that achieves the best of both worlds:
                 The scalability of IP combined with the simplicity of
                 Ethernet. SEATTLE provides plug-and-play functionality
                 via flat addressing, while ensuring scalability and
                 efficiency through shortest-path routing and hash-based
                 resolution of host information. In contrast to previous
                 work on identity-based routing, SEATTLE ensures path
                 predictability, controllability, and stability, thus
                 simplifying key network-management operations, such as
                 capacity planning, traffic engineering, and
                 troubleshooting. We performed a simulation study driven
                 by real-world traffic traces and network topologies,
                 and used Emulab to evaluate a prototype of our design
                 based on the Click and XORP open-source routing
                 platforms.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Lagar-Cavilla:2011:SVM,
  author =       "H. Andr{\'e}s Lagar-Cavilla and Joseph A. Whitney and
                 Roy Bryant and Philip Patchin and Michael Brudno and
                 Eyal de Lara and Stephen M. Rumble and M.
                 Satyanarayanan and Adin Scannell",
  title =        "{SnowFlock}: Virtual Machine Cloning as a First-Class
                 Cloud Primitive",
  journal =      j-TOCS,
  volume =       "29",
  number =       "1",
  pages =        "2:1--2:45",
  month =        feb,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1925109.1925111",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Feb 28 16:17:43 MST 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "A basic building block of cloud computing is
                 virtualization. Virtual machines (VMs) encapsulate a
                 user's computing environment and efficiently isolate it
                 from that of other users. VMs, however, are large
                 entities, and no clear APIs exist yet to provide users
                 with programatic, fine-grained control on short time
                 scales. We present SnowFlock, a paradigm and system for
                 cloud computing that introduces VM cloning as a
                 first-class cloud abstraction. VM cloning exploits the
                 well-understood and effective semantics of UNIX fork.
                 We demonstrate multiple usage models of VM cloning:
                 users can incorporate the primitive in their code, can
                 wrap around existing toolchains via scripting, can
                 encapsulate the API within a parallel programming
                 framework, or can use it to load-balance and self-scale
                 clustered servers.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Meisner:2011:PSA,
  author =       "David Meisner and Brian T. Gold and Thomas F.
                 Wenisch",
  title =        "The {PowerNap} Server Architecture",
  journal =      j-TOCS,
  volume =       "29",
  number =       "1",
  pages =        "3:1--3:24",
  month =        feb,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1925109.1925112",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Feb 28 16:17:43 MST 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Data center power consumption is growing to
                 unprecedented levels: the EPA estimates U.S. data
                 centers will consume 100 billion kilowatt hours
                 annually by 2011. Much of this energy is wasted in idle
                 systems: in typical deployments, server utilization is
                 below 30\%, but idle servers still consume 60\% of
                 their peak power draw. Typical idle periods---though
                 frequent---last seconds or less, confounding simple
                 energy-conservation approaches. In this article, we
                 propose PowerNap, an energy-conservation approach where
                 the entire system transitions rapidly between a
                 high-performance active state and a near-zero-power
                 idle state in response to instantaneous load. Rather
                 than requiring fine-grained power-performance states
                 and complex load-proportional operation from individual
                 system components, PowerNap instead calls for
                 minimizing idle power and transition time, which are
                 simpler optimization goals.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Gupta:2011:DTD,
  author =       "Diwaker Gupta and Kashi Venkatesh Vishwanath and
                 Marvin McNett and Amin Vahdat and Ken Yocum and Alex
                 Snoeren and Geoffrey M. Voelker",
  title =        "{DieCast}: Testing Distributed Systems with an
                 Accurate Scale Model",
  journal =      j-TOCS,
  volume =       "29",
  number =       "2",
  pages =        "4:1--4:??",
  month =        may,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1963559.1963560",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon May 9 16:05:59 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Large-scale network services can consist of tens of
                 thousands of machines running thousands of unique
                 software configurations spread across hundreds of
                 physical networks. Testing such services for complex
                 performance problems and configuration errors remains a
                 difficult problem. Existing testing techniques, such as
                 simulation or running smaller instances of a service,
                 have limitations in predicting overall service behavior
                 at such scales. Testing large services should ideally
                 be done at the same scale and configuration as the
                 target deployment, which can be technically and
                 economically infeasible. We present DieCast, an
                 approach to scaling network services in which we
                 multiplex all of the nodes in a given service
                 configuration as virtual machines across a much smaller
                 number of physical machines in a test harness.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Yadgar:2011:MMM,
  author =       "Gala Yadgar and Michael Factor and Kai Li and Assaf
                 Schuster",
  title =        "Management of Multilevel, Multiclient Cache
                 Hierarchies with Application Hints",
  journal =      j-TOCS,
  volume =       "29",
  number =       "2",
  pages =        "5:1--5:??",
  month =        may,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1963559.1963561",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon May 9 16:05:59 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Multilevel caching, common in many storage
                 configurations, introduces new challenges to
                 traditional cache management: data must be kept in the
                 appropriate cache and replication avoided across the
                 various cache levels. Additional challenges are
                 introduced when the lower levels of the hierarchy are
                 shared by multiple clients. Sharing can have both
                 positive and negative effects. While data fetched by
                 one client can be used by another client without
                 incurring additional delays, clients competing for
                 cache buffers can evict each other's blocks and
                 interfere with exclusive caching schemes. We present a
                 global noncentralized, dynamic and informed management
                 policy for multiple levels of cache, accessed by
                 multiple clients.",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{deBruijn:2011:ATS,
  author =       "Willem de Bruijn and Herbert Bos and Henri Bal",
  title =        "Application-Tailored {I/O} with {Streamline}",
  journal =      j-TOCS,
  volume =       "29",
  number =       "2",
  pages =        "6:1--6:??",
  month =        may,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/1963559.1963562",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon May 9 16:05:59 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Streamline is a stream-based OS communication
                 subsystem that spans from peripheral hardware to
                 userspace processes. It improves performance of
                 I/O-bound applications (such as webservers and
                 streaming media applications) by constructing
                 tailor-made I/O paths through the operating system for
                 each application at runtime. Path optimization removes
                 unnecessary copying, context switching and cache
                 replacement and integrates specialized hardware.
                 Streamline automates optimization and only presents
                 users a clear, concise job control language based on
                 Unix pipelines. For backward compatibility Streamline
                 also presents well known files, pipes and sockets
                 abstractions.",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Ayari:2011:DPR,
  author =       "Brahim Ayari and Abdelmajid Khelil and Neeraj Suri",
  title =        "On the design of perturbation-resilient atomic commit
                 protocols for mobile transactions",
  journal =      j-TOCS,
  volume =       "29",
  number =       "3",
  pages =        "7:1--7:??",
  month =        aug,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/2003690.2003691",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Aug 24 18:08:12 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Distributed mobile transactions utilize commit
                 protocols to achieve atomicity and consistent
                 decisions. This is challenging, as mobile environments
                 are typically characterized by frequent perturbations
                 such as network disconnections and node failures. On
                 one hand environmental constraints on mobile
                 participants and wireless links may increase the
                 resource blocking time of fixed participants. On the
                 other hand frequent node and link failures complicate
                 the design of atomic commit protocols by increasing
                 both the transaction abort rate and resource blocking
                 time. Hence, the deployment of classical commit
                 protocols (such as two-phase commit) does not
                 reasonably extend to distributed infrastructure-based
                 mobile environments driving the need for
                 perturbation-resilient commit protocols.",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Kalibera:2011:SRT,
  author =       "Tomas Kalibera and Filip Pizlo and Antony L. Hosking
                 and Jan Vitek",
  title =        "Scheduling real-time garbage collection on
                 uniprocessors",
  journal =      j-TOCS,
  volume =       "29",
  number =       "3",
  pages =        "8:1--8:??",
  month =        aug,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/2003690.2003692",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Aug 24 18:08:12 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Managed languages such as Java and C\# are
                 increasingly being considered for hard real-time
                 applications because of their productivity and software
                 engineering advantages. Automatic memory management, or
                 garbage collection, is a key enabler for robust,
                 reusable libraries, yet remains a challenge for
                 analysis and implementation of real-time execution
                 environments. This article comprehensively compares
                 leading approaches to hard real-time garbage
                 collection. There are many design decisions involved in
                 selecting a real-time garbage collection algorithm. For
                 time-based garbage collectors on uniprocessors one must
                 choose whether to use periodic, slack-based or hybrid
                 scheduling. A significant impediment to valid
                 experimental comparison of such choices is that
                 commercial implementations use completely different
                 proprietary infrastructures.",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Reddi:2011:MPE,
  author =       "Vijay Janapa Reddi and Benjamin C. Lee and Trishul
                 Chilimbi and Kushagra Vaid",
  title =        "Mobile processors for energy-efficient web search",
  journal =      j-TOCS,
  volume =       "29",
  number =       "3",
  pages =        "9:1--9:??",
  month =        aug,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/2003690.2003693",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Aug 24 18:08:12 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "As cloud and utility computing spreads, computer
                 architects must ensure continued capability growth for
                 the data centers that comprise the cloud. Given
                 megawatt scale power budgets, increasing data center
                 capability requires increasing computing hardware
                 energy efficiency. To increase the data center's
                 capability for work, the work done per Joule must
                 increase. We pursue this efficiency even as the nature
                 of data center applications evolves. Unlike traditional
                 enterprise workloads, which are typically memory or I/O
                 bound, big data computation and analytics exhibit
                 greater compute intensity. This article examines the
                 efficiency of mobile processors as a means for data
                 center capability. In particular, we compare and
                 contrast the performance and efficiency of the
                 Microsoft Bing search engine executing on the