Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Martin S. McKendry

dblp:27/1471 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
0since 2021 · last 1989
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 2 first-authorSystems, architecture and hardware · 2 · 1 first-authorComputer networks · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
5 papers
Distributed systems · 54% Storage systems · 31% Performance modeling and evaluation · 16%
Software engineering, system software, and programming languages
3 papers
Operating systems · 37% Concurrent programming · 34% Programming languages and type systems · 29%
Databases, data mining, and information retrieval
2 papers
Transaction processing and concurrency control · 100%

Topics — the 13 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
fault tolerance
0.021989
Timestamp-Based Orphan Elimination · IEEE Trans. Software Eng. 1989
Synchronization and Recovery of Actions · PODC 1983
Distributed systems › fault tolerance
atomic actions
0.021985
Ordering Actions for Visibility · IEEE Trans. Software Eng. 1985
Synchronization and Recovery of Actions · PODC 1983
Transaction processing and concurrency control
distributed transaction management
0.011989
Timestamp-Based Orphan Elimination · IEEE Trans. Software Eng. 1989
Storage systems › file systems
distributed file system
0.011989
Exploiting Read-Mostly Workloads in The FileNet File System · SOSP 1989
Storage systems
file systems
0.011989
Exploiting Read-Mostly Workloads in The FileNet File System · SOSP 1989
Performance modeling and evaluation
workload characterization
0.011989
Exploiting Read-Mostly Workloads in The FileNet File System · SOSP 1989
Concurrent programming
synchronization
0.011985
Ordering Actions for Visibility · IEEE Trans. Software Eng. 1985
Distributed systems
distributed coordination
0.011985
Ordering Actions for Visibility · IEEE Trans. Software Eng. 1985
Programming languages and type systems › language design
language mechanisms
0.011984
Implementing Language Support in High-Level Languages · IEEE Trans. Software Eng. 1984
Transaction processing and concurrency control
serializability
0.011983
Synchronization and Recovery of Actions · PODC 1983
Distributed systems › distributed system architecture
distributed operating systems
0.011983
Architecture for a Global Operating System · INFOCOM 1983
Internet architecture and protocols
network interconnection
0.011983
Architecture for a Global Operating System · INFOCOM 1983
Operating systems › distributed systems
distributed operating system
0.011983
Synchronization and Recovery of Actions · PODC 1983

Methods — techniques the papers use, named apart from their topics

two-phase locking · 0.0timestamp-based protocols · 0.0event-based computation model · 0.0abstract data types · 0.0workload characterization · 0.0semaphores · 0.0software capabilities · 0.0execute statement · 0.0
YearPublicationVenuePosition
1989 Exploiting Read-Mostly Workloads in The FileNet File System
abstract
Most recent studies of file system workloads have focussed on loads imposed by general computing. This paper introduces a significantly different workload imposed by a distributed application system. The FileNet system is a distributed application system that supports document image processing. The FileNet file system was designed to support the workload imposed by this application. To characterize the read-mostly workload applied to the file system and how it differs from general computing environments, we present statistics gathered from live production installations. We contrast these statistics with previously published data for more general computing.
David A. Edwards, Martin S. McKendry
SOSP2
1989 Timestamp-Based Orphan Elimination
abstract
An orphan in a distributed transaction system is an activity executing on behalf of an aborted transaction. A method is proposed for managing orphans created by crashes and by aborts that ensures that orphans are detected and eliminated in a timely manner, and also prevents them from observing inconsistent states. The method uses timestamps generated at each site. Transactions are assigned timeouts at different sites. These timeouts are related by a global invariant, and they may be adjusted by simple two-phase protocols. The principal advantage of this method is simplicity: it is easy to understand, and to implement, and it can be proved correct. An 'eager' version of this method uses approximately synchronized real-time clocks to ensure that orphans are eliminated within a fixed duration, and a 'lazy' version uses logical clocks to ensure that orphans are eventually eliminated as information propagates through the system. The method is fail-safe: unsynchronized clocks and lost messages may affect performance, but they cannot produce inconsistencies or protect orphans from eventual elimination. Although the method is informally described in terms of two-phase locking, the formal argument shows it is applicable to any concurrency control method that preserved atomicity.>
Maurice Herlihy, Martin S. McKendry
IEEE Trans. Software Eng.2
1985 Ordering Actions for Visibility
abstract
Several research projects are studying architectures for distributed computing that are founded on the notion of atomic actions operating on objects (instances of abstract data types). Such projects as Clouds at Georgia Tech and Archons at Carnegie-Mellon University are evaluating this approach as the foundation for constructing distributed operating systems. Objects are not new to operating systems. They provide substantial benefits in such dimensions as protection and synchronization, as well as their inherent organizational characteristics. This paper is concerned with synchronization to control ordering, a function often associated with objects. Conventional approaches require substantial extension for the action environment. Typically, they are based on (or equivalent to) general semaphores. Semaphores take no account of the visibility requirements of actions however, and consequently they can allow an action to progress beyond the point at which its effects can be undone. Also, they do not account for failures.
Martin S. McKendry
IEEE Trans. Software Eng.1
1984 Implementing Language Support in High-Level Languages
abstract
One of the requirements for building an operating system in a high-level operating system language, such as Ada, Concurrent Pascal, or Modula, is the construction of a language support system, or kernel. This paper presents a model that generalizes the concept of a kernel, and defines a kernel and the processes it supports to be at different levels of abstraction. A high-level language mechanism, the Execute statement, is then proposed as the basis of the interface between a kernel and the processes it supports. Software capabilities control access between levels and the Execute statement controls processor context switching between levels. The mechanisms rely on data typing for reliability and protection. They encourage systems that are well protected and exhibit an explicit hierarchical structure. Software capabilities and the Execute statement are illustrated with a pilot implementation on the Prime 650. An experimental operating system that encompasses their use is discussed. Extensions are presented which manage interrupts, timeslicing and preemption, and hardware protection mechanisms.
Martin S. McKendry, Roy H. Campbell
IEEE Trans. Software Eng.1
1983 Architecture for a Global Operating System
Martin S. McKendry, James E. Allchin, W. C. Thibault
INFOCOM1
1983 Synchronization and Recovery of Actions
abstract
We introduce an approach to robust computation in distributed systems. This approach is the foundation for reliability in the Clouds decentralized operating system. It is based on atomic actions operating on instances of abstract data types (objects). We present an event-based model of computation in which scheduling of responses to operation invocations is controlled by objects. We discuss an integrated strategy for synchronization and recovery which uses relationships between the abstract states of objects to track dependencies between actions. Serializability is defined in terms of the semantics of operations. This permits high concurrency to be obtained in non-serializable implementations without deviation from serializable abstract behavior. We define a class of schedulers that allows objects to make autonomous scheduling decisions. We present the use of non-serializable operation semantics. Finally, we discuss implementation of the model, including action synchronization, object operation ordering using action-based counting semaphores, and action recovery.
James E. Allchin, Martin S. McKendry
PODC2
1978 The use of monitors in microprocessor software development
Martin S. McKendry
Euromicro Newsletter1