Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Andy Lowry is active.

Publication


Featured researches published by Andy Lowry.


workshop on parallel & distributed debugging | 1991

Restoring consistent global states of distributed computations

Arthur P. Goldberg; Ajei Sarat Gopal; Andy Lowry; Rob Strom

We present a mechanism for restoring any consistent global state of a distributed computation. This capability can form the baais of support for rollback and replay of computations, an activity we view aa essential in a comprehensive environment for debugging distributed programs. Our mechanism records occasional state checkpoints and logs all messages communicated between processes. Our mechanism offers flexibility in the following ways: any consistent global state of the computation can be restored; execution can be replayed either exactly as it occurred initially or with user-controlled variations; there is no need to know a prioti what states might be of interest. In addition, if checkpoints and logs are written to stable storage, our mechanism can be used to restore states of computations that cause the system to crash.


Information Processing Letters | 1994

Consistent global checkpoints based on direct dependency tracking

Yi-Min Wang; Andy Lowry; W. Kent Fuchs

Abstract We model the consistent global checkpoints in a distributed system as the maximum-sized antichains in the partially ordered set generated by the happened before relation. While the partially ordered set generated by the direct dependency tracking in uncoordinated checkpointing protocols does not capture the complete happened before relation among all checkpoints, we show that the missing happened before information does not affect the identification of consistent global checkpoints.


symposium on principles of programming languages | 1986

Code motion of control structures in high-level languages

Ron Cytron; Andy Lowry; F. Kenneth Zadeck

One trend among programmers is the increased use of abstractions. Through encapsulation techniques, abstractions extend the repertory of data structures and their concomitant operations that are processed directly by a compiler. For example, a compiler might not offer sets or set operations in its base language, but abstractions allow a programmer to define sets in terms of constructs already recognized by the compiler. In particular, abstractions can allow new constructs to be defined in terms of other abstractions. Although significant power is gained through the use of layered abstractions, object code quality suffers as increasingly less of a programs data structures and operations are exposed to the optimization phase of a compiler. Multiple references to abstractions are also inefficient, since the interaction between abstractions is often complex yet hidden from a compiler. Abstractions are most flexible when they are cast in general terms; a specific invocation is then tailored by the abstraction to obtain the appropriate code. A sequence of references to such abstractions can be inefficient due to functional redundancy that cannot be detected at compile-time. By integrating the references, the offending segments of code can be moved to a more advantageous position. Although procedure integration materializes abstracted constructs, the abstractions can still be ineligible for optimization using current techniques; in particular, abstractions often involve loops and conditional branches that can obscure code that would otherwise be eligible for code motion.


international conference on computational logistics | 1992

High-level language support for programming distributed systems

Joshua S. Auerbach; David F. Bacon; Arthur P. Goldberg; Germán S. Goldszmidt; Ajei Sarat Gopal; Mark T. Kennedy; Andy Lowry; James R. Russell; William Silverman; Robert E. Strom; Daniel M. Yellin; Shaula Yemini

A strategy for simplifying the programming of heterogeneous distributed systems is presented. The approach used is based on integrating a high-level distributed programming model, the process model, directly into programming languages. Distributed applications written in such languages are portable across different environments, are shorter, and are simpler to develop than similar applications developed using conventional approaches. The process model is discussed, and Hermes and Concert/C, two languages that implement this model, are described. Hermes is a secure, representation-independent language designed explicitly around the process model. Concert/C is the C language augmented with a small set of extensions to support the process model while allowing reuse of existing C code. Hermes has been prototyped: an implementation of Concert/C is in development.<<ETX>>


symposium on reliable distributed systems | 1991

Optimistic failure recovery for very large networks

Andy Lowry; James R. Russell; Arthur P. Goldberg

Optimistic failure recovery mechanisms are proposed as a way to provide transparent fault tolerance to distributed applications and systems. The authors identify problems that may arise when these mechanisms are applied to vast networks including many processors and spanning large geographical areas and many administrative domains. They present a technique-recovery unit gateways-that can be used to address many of these issues with existing failure recovery algorithms. This method can be applied with minimal disruption to existing transparent recovery systems, as well as to build large optimistic recovery systems while minimizing the dependency tracking overhead.<<ETX>>


Sigplan Notices | 1992

The Hermes language in outline form

Andy Lowry

Hermes is an experimental language for writing disgributed applications and systems. The language is fully described elsewhere[1]. This report summarizes the major features of The language and provides numerous short code fragments to illustrate the various constructs. Missing from this report is any discussion of user-defined constraints, which are in any case not yet supported in the prototype implementation we have developed. Those wishing to obtain the prototype software may do so via anonymous ftp to software.watson.ibm.com (IP address 129.34.139.5); the files/pub/README.FTP and/pub/hermes/README provide further instructions.


Archive | 1991

Hermes: a language for distributed computing

Robert E. Strom; David F. Bacon; Arthur P. Goldberg; Andy Lowry; Daniel M. Yellin; Shaula Yemini


conference of the centre for advanced studies on collaborative research | 1992

High-level language support for programming reliable distributed systems

Joshua S. Auerbach; David F. Bacon; Arthur P. Goldberg; Germán S. Goldszmidt; Ajei Sarat Gopal; Mark T. Kennedy; Andy Lowry; James R. Russell; William Silverman; Robert E. Strom; Daniel M. Yellin; Shaula Yemini


USENIX Summer | 1990

A Portable Run-time System for the Hermes Distributed Programming Language.

David F. Bacon; Andy Lowry


IEEE Personal Communications | 1992

Some problems with optimistic recovery and their solutions

Andy Lowry; Robert E. Strom

Researchain Logo
Decentralizing Knowledge