Herlihy, Maurice
Overview
Works:  58 works in 199 publications in 4 languages and 2,067 library holdings 

Genres:  Conference papers and proceedings 
Roles:  Author, Editor, Other, Creator 
Classifications:  QA76.6, 005.434 
Publication Timeline
.
Most widely held works by
Maurice Herlihy
The art of multiprocessor programming by
Maurice Herlihy(
Book
)
46 editions published between 2008 and 2012 in 4 languages and held by 562 WorldCat member libraries worldwide
Multiprocessor programming, also known as multicore programming, requires new principles, algorithms, and programming tools. This book provides a comprehensive presentation of the principles and tools available for programming multiprocessor machines. It will be of immediate use to programmers working with the new architectures
46 editions published between 2008 and 2012 in 4 languages and held by 562 WorldCat member libraries worldwide
Multiprocessor programming, also known as multicore programming, requires new principles, algorithms, and programming tools. This book provides a comprehensive presentation of the principles and tools available for programming multiprocessor machines. It will be of immediate use to programmers working with the new architectures
Distributed computing : 14th International Conference, DISC 2000, Toledo, Spain, October 46, 2000 : proceedings by
Maurice Herlihy(
Book
)
20 editions published in 2000 in English and held by 272 WorldCat member libraries worldwide
This book constitutes the refereed proceedings of the 14th International Conference on Distributed Computing, DISC 2000, held in Toledo, Spain in October 2000. The 23 revised full papers presented together with one invited contribution were carefully reviewed and selected from more than 100 submissions. The papers address a variety of current issues in distributed computing including mutual exclusion, distributed algorithms, protocols, approximation algorithms, distributed cooperation, electronic commerce, selfstabilizing algorithms, lower bounds, networking, broadcasting, Internet services, interconnection networks, distributed objects, CORBA, etc
20 editions published in 2000 in English and held by 272 WorldCat member libraries worldwide
This book constitutes the refereed proceedings of the 14th International Conference on Distributed Computing, DISC 2000, held in Toledo, Spain in October 2000. The 23 revised full papers presented together with one invited contribution were carefully reviewed and selected from more than 100 submissions. The papers address a variety of current issues in distributed computing including mutual exclusion, distributed algorithms, protocols, approximation algorithms, distributed cooperation, electronic commerce, selfstabilizing algorithms, lower bounds, networking, broadcasting, Internet services, interconnection networks, distributed objects, CORBA, etc
Distributed computing through combinatorial topology by
Maurice Herlihy(
Book
)
13 editions published between 2013 and 2014 in English and held by 56 WorldCat member libraries worldwide
Distributed Computing Through Combinatorial Topology describes techniques for analyzing distributed algorithms based on award winning combinatorial topology research. The authors present a solid theoretical foundation relevant to many real systems reliant on parallelism with unpredictable delays, such as multicore microprocessors, wireless networks, distributed systems, and Internet protocols. Today, a new student or researcher must assemble a collection of scattered conference publications, which are typically terse and commonly use different notations and terminologies. This book provides a selfcontained explanation of the mathematics to readers with computer science backgrounds, as well as explaining computer science concepts to readers with backgrounds in applied mathematics. The first section presents mathematical notions and models, including message passing and sharedmemory systems, failures, and timing models. The next section presents core concepts in two chapters each: first, proving a simple result that lends itself to examples and pictures that will build up readers' intuition; then generalizing the concept to prove a more sophisticated result. The overall result weaves together and develops the basic concepts of the field, presenting them in a gradual and intuitively appealing way. The book's final section discusses advanced topics typically found in a graduatelevel course for those who wish to explore further. Gathers knowledge otherwise spread across research and conference papers using consistent notations and a standard approach to facilitate understandingPresents unique insights applicable to multiple computing fields, including multicore microprocessors, wireless networks, distributed systems, and Internet protocols Synthesizes and distills material into a simple, unified presentation with examples, illustrations, and exercises
13 editions published between 2013 and 2014 in English and held by 56 WorldCat member libraries worldwide
Distributed Computing Through Combinatorial Topology describes techniques for analyzing distributed algorithms based on award winning combinatorial topology research. The authors present a solid theoretical foundation relevant to many real systems reliant on parallelism with unpredictable delays, such as multicore microprocessors, wireless networks, distributed systems, and Internet protocols. Today, a new student or researcher must assemble a collection of scattered conference publications, which are typically terse and commonly use different notations and terminologies. This book provides a selfcontained explanation of the mathematics to readers with computer science backgrounds, as well as explaining computer science concepts to readers with backgrounds in applied mathematics. The first section presents mathematical notions and models, including message passing and sharedmemory systems, failures, and timing models. The next section presents core concepts in two chapters each: first, proving a simple result that lends itself to examples and pictures that will build up readers' intuition; then generalizing the concept to prove a more sophisticated result. The overall result weaves together and develops the basic concepts of the field, presenting them in a gradual and intuitively appealing way. The book's final section discusses advanced topics typically found in a graduatelevel course for those who wish to explore further. Gathers knowledge otherwise spread across research and conference papers using consistent notations and a standard approach to facilitate understandingPresents unique insights applicable to multiple computing fields, including multicore microprocessors, wireless networks, distributed systems, and Internet protocols Synthesizes and distills material into a simple, unified presentation with examples, illustrations, and exercises
Replication methods for abstract data types by
Maurice Herlihy(
Book
)
5 editions published in 1984 in English and held by 15 WorldCat member libraries worldwide
An advantage of distributed systems over centralized systems is that valuable data can be stored redundantly at multiple locationsa practica commonly called 'replication'. Replication can enhance the availability of data in the presence of failures, increasing the likelihood that the data will be accessible when needed. This thesis introduces a new method for managing replicated data. We propose new techniques to address four problems associated with replication: the representation and manipulation of replicated data, concurrency control, onthefly reconfiguration, and enhancing availability in the presence of partitions. Unlike many methods that support replication only for uninterpreted files, our method makes use of typespecific properties of objects (such as sets, queues, or directories) to provide more effective replication. Associated with each operation of the data type is a set of quorums, which are collections of sites whose cooperation suffices to execute the operation. Analysis of the algebraic structure of the data type is used to derive a set of constraints on quorum intersections. Any choice of quorums that satisfies these constraints yields a correct implementation, and it can be shown that no smaller set of constraints guarantees correctness. By taking advantage of typespecific properties in a general and systematic way, our method can realize a wider range of availability properties, more concurrency, more flexible reconfiguration, and better tolerance of partitions than existing replication methods. Keywords: Atomicity, Availability, Concurrency control, Partitions, Reconfiguration, and Reliability
5 editions published in 1984 in English and held by 15 WorldCat member libraries worldwide
An advantage of distributed systems over centralized systems is that valuable data can be stored redundantly at multiple locationsa practica commonly called 'replication'. Replication can enhance the availability of data in the presence of failures, increasing the likelihood that the data will be accessible when needed. This thesis introduces a new method for managing replicated data. We propose new techniques to address four problems associated with replication: the representation and manipulation of replicated data, concurrency control, onthefly reconfiguration, and enhancing availability in the presence of partitions. Unlike many methods that support replication only for uninterpreted files, our method makes use of typespecific properties of objects (such as sets, queues, or directories) to provide more effective replication. Associated with each operation of the data type is a set of quorums, which are collections of sites whose cooperation suffices to execute the operation. Analysis of the algebraic structure of the data type is used to derive a set of constraints on quorum intersections. Any choice of quorums that satisfies these constraints yields a correct implementation, and it can be shown that no smaller set of constraints guarantees correctness. By taking advantage of typespecific properties in a general and systematic way, our method can realize a wider range of availability properties, more concurrency, more flexible reconfiguration, and better tolerance of partitions than existing replication methods. Keywords: Atomicity, Availability, Concurrency control, Partitions, Reconfiguration, and Reliability
Transmitting abstract values in messages by
Maurice Herlihy(
Book
)
6 editions published in 1980 in English and Undetermined and held by 15 WorldCat member libraries worldwide
This thesis develops primitives for a programming language intended for use in a distributed computer system where individual nodes may have different hardware or software configurations. Our primitives are presented as extensions to the CLU language. We assume that differences in hardware and in administrative policy require that individual nodes be free to choose their own local representations for common types, including userdefined types. Our main objective is to provide primitives to communicate values of userdefined type. Our primitives support a large degree of node autonomy, without requiring that communicating nodes have prior knowledge of one another's special characteristics. We argue that the precise meaning of value transmission is typedependent; thus the user, not the language, must control the meaning of transmission for values of a type. (Author)
6 editions published in 1980 in English and Undetermined and held by 15 WorldCat member libraries worldwide
This thesis develops primitives for a programming language intended for use in a distributed computer system where individual nodes may have different hardware or software configurations. Our primitives are presented as extensions to the CLU language. We assume that differences in hardware and in administrative policy require that individual nodes be free to choose their own local representations for common types, including userdefined types. Our main objective is to provide primitives to communicate values of userdefined type. Our primitives support a large degree of node autonomy, without requiring that communicating nodes have prior knowledge of one another's special characteristics. We argue that the precise meaning of value transmission is typedependent; thus the user, not the language, must control the meaning of transmission for values of a type. (Author)
Counting networks by
Massachusetts Institute of Technology(
Book
)
6 editions published between 1991 and 1993 in English and Undetermined and held by 12 WorldCat member libraries worldwide
Many fundamental multiprocessor coordination problems can be expressed as counting problems: processes must cooperate to assign successive values from a given range, such as addresses in memory or destinations on an interconnection network. Conventional solutions to these problems perform poorly because of synchronization bottlenecks and high memory contention. Motivated by observations on the behavior of sorting networks, we offer a completely new approach to solving such problems. We introduce a new class of networks called counting networks, i.e., networks that can be used to count. We give two counting network constructions of depth log square n, using n log square n gates, avoiding the sequential bottlenecks inherent to former solutions, and substantially lowering the memory contention. Finally, to show that counting networks are not merely mathematical creatures, we provide experimental evidence that they outperform conventional synchronization techniques under a variety of circumstances
6 editions published between 1991 and 1993 in English and Undetermined and held by 12 WorldCat member libraries worldwide
Many fundamental multiprocessor coordination problems can be expressed as counting problems: processes must cooperate to assign successive values from a given range, such as addresses in memory or destinations on an interconnection network. Conventional solutions to these problems perform poorly because of synchronization bottlenecks and high memory contention. Motivated by observations on the behavior of sorting networks, we offer a completely new approach to solving such problems. We introduce a new class of networks called counting networks, i.e., networks that can be used to count. We give two counting network constructions of depth log square n, using n log square n gates, avoiding the sequential bottlenecks inherent to former solutions, and substantially lowering the memory contention. Finally, to show that counting networks are not merely mathematical creatures, we provide experimental evidence that they outperform conventional synchronization techniques under a variety of circumstances
Optimistic concurrency control for abstract data types by
Maurice Herlihy(
Book
)
6 editions published between 1986 and 1988 in English and Undetermined and held by 10 WorldCat member libraries worldwide
Atomic transactions are a widely accepted mechanism for coping with failures and concurrency in database systems, both distributed and centralized. Many algorithms have been proposed for concurrency control and recovery. Recent work has focused on typed objects, such as queues, directories, or counters, that provide a richer set of operations. Several algorithms have been proposed to enhance concurrency and recovery by exploiting data objects' typespecific properties. Most of these algorithms are locking schemes in which conflicts are governed by some notion of commutativity: lock modes for commuting operations do not conflict. This paper presents a new locking algorithm that permits more concurrency than existing commutativitybased protocols. In addition, the protocol permits operations to be both partial and nondeterministic, and it permits the lock mode for an operation to be determined by its results as well as its name and arguments. The protocol exploits typespecific properties of objects; necessary and sufficient constraints on lock conflicts are defined directly from a data type specification. We give a complete formal description of the protocol, encompassing both concurrency control and recovery, and prove that the protocol satisfies hybrid atomicity, a local atomicity property that combines aspects of static and dynamic atomic protocols. We also show that the protocol is optimal in the sense that no hybrid atomic locking scheme can permit more concurrency. Keywords: Distributed data processing, Locking, Time stamps, Local atomicity, Hybrid atomicity
6 editions published between 1986 and 1988 in English and Undetermined and held by 10 WorldCat member libraries worldwide
Atomic transactions are a widely accepted mechanism for coping with failures and concurrency in database systems, both distributed and centralized. Many algorithms have been proposed for concurrency control and recovery. Recent work has focused on typed objects, such as queues, directories, or counters, that provide a richer set of operations. Several algorithms have been proposed to enhance concurrency and recovery by exploiting data objects' typespecific properties. Most of these algorithms are locking schemes in which conflicts are governed by some notion of commutativity: lock modes for commuting operations do not conflict. This paper presents a new locking algorithm that permits more concurrency than existing commutativitybased protocols. In addition, the protocol permits operations to be both partial and nondeterministic, and it permits the lock mode for an operation to be determined by its results as well as its name and arguments. The protocol exploits typespecific properties of objects; necessary and sufficient constraints on lock conflicts are defined directly from a data type specification. We give a complete formal description of the protocol, encompassing both concurrency control and recovery, and prove that the protocol satisfies hybrid atomicity, a local atomicity property that combines aspects of static and dynamic atomic protocols. We also show that the protocol is optimal in the sense that no hybrid atomic locking scheme can permit more concurrency. Keywords: Distributed data processing, Locking, Time stamps, Local atomicity, Hybrid atomicity
Concurrency and availability as dual properties of replicated atomic data by
Maurice Herlihy(
Book
)
3 editions published in 1986 in English and Undetermined and held by 9 WorldCat member libraries worldwide
3 editions published in 1986 in English and Undetermined and held by 9 WorldCat member libraries worldwide
Proceedings from the Second Workshop on LargeGrained Parallelism by
J Wing(
Book
)
4 editions published between 1987 and 1988 in English and held by 9 WorldCat member libraries worldwide
4 editions published between 1987 and 1988 in English and held by 9 WorldCat member libraries worldwide
Linearizable counting networks by
Maurice Herlihy(
Book
)
3 editions published in 1991 in English and held by 8 WorldCat member libraries worldwide
3 editions published in 1991 in English and held by 8 WorldCat member libraries worldwide
On the correctness of orphan management algorithms by
M Herlihy(
Book
)
3 editions published in 1989 in English and held by 8 WorldCat member libraries worldwide
In a distributed system, node failures, network delays and other unpredictable occurrences can result in orphan computationssubcomputations that continue to run but whose results are no longer needed. Several algorithms have been proposed to prevent such computations from seeing inconsistent states of the shared data. In this paper, two such orphan management algorithms are analyzed. The first is an algorithm proposed at CarnegieMellon. The algorithms are described formally, and complete proofs of their correctness are given. The proofs show that the fundamental concepts underlying the two algorithms are very similar in that each can be regarded as an implementation of the same highlevel algorithm. By exploiting properties of information flow within transaction management systems, the algorithms ensure that orphans only see states of the shared data that they could also see if they are not orphans. When the algorithms are used in combination with any correct concurrency control algorithm, they guarantee that all computations, orphan as well as nonorphan see consistent states of the shared data. (KR)
3 editions published in 1989 in English and held by 8 WorldCat member libraries worldwide
In a distributed system, node failures, network delays and other unpredictable occurrences can result in orphan computationssubcomputations that continue to run but whose results are no longer needed. Several algorithms have been proposed to prevent such computations from seeing inconsistent states of the shared data. In this paper, two such orphan management algorithms are analyzed. The first is an algorithm proposed at CarnegieMellon. The algorithms are described formally, and complete proofs of their correctness are given. The proofs show that the fundamental concepts underlying the two algorithms are very similar in that each can be regarded as an implementation of the same highlevel algorithm. By exploiting properties of information flow within transaction management systems, the algorithms ensure that orphans only see states of the shared data that they could also see if they are not orphans. When the algorithms are used in combination with any correct concurrency control algorithm, they guarantee that all computations, orphan as well as nonorphan see consistent states of the shared data. (KR)
Optimal randomized fair exchange with secret shared coins(
)
1 edition published in 2005 in English and held by 7 WorldCat member libraries worldwide
In the fair exchange problem, mutually untrusting parties must securely exchange digital goods. A fair exchange protocol must ensure that no combination of cheating or failures will result in some goods being delivered but not others, and that all goods will be delivered in the absence of cheating and failures. This paper proposes two novel randomized protocols for solving fair exchange using simple trusted units. Both protocols have an optimal expected running time, completing in a constant (3) expected number of rounds. They also have optimal resilience. The first one tolerates any number of dishonest parties, as long as one is honest, while the second one, which assumes more aggressive cheating and failures assumptions, tolerates up to a minority of dishonest parties. The key insight is similar to the idea underlying the codedivision multiple access (CDMA) communication protocol: outwitting an adversary is much easier if participants share a common, secret pseudorandom number generator
1 edition published in 2005 in English and held by 7 WorldCat member libraries worldwide
In the fair exchange problem, mutually untrusting parties must securely exchange digital goods. A fair exchange protocol must ensure that no combination of cheating or failures will result in some goods being delivered but not others, and that all goods will be delivered in the absence of cheating and failures. This paper proposes two novel randomized protocols for solving fair exchange using simple trusted units. Both protocols have an optimal expected running time, completing in a constant (3) expected number of rounds. They also have optimal resilience. The first one tolerates any number of dishonest parties, as long as one is honest, while the second one, which assumes more aggressive cheating and failures assumptions, tolerates up to a minority of dishonest parties. The key insight is similar to the idea underlying the codedivision multiple access (CDMA) communication protocol: outwitting an adversary is much easier if participants share a common, secret pseudorandom number generator
General quorum consensus : a replication method for abstract data types by
Maurice Herlihy(
Book
)
3 editions published in 1984 in English and Undetermined and held by 7 WorldCat member libraries worldwide
3 editions published in 1984 in English and Undetermined and held by 7 WorldCat member libraries worldwide
Impossibility and universality results for waitfree synchronization by
Maurice Herlihy(
Book
)
2 editions published in 1988 in Undetermined and English and held by 7 WorldCat member libraries worldwide
2 editions published in 1988 in Undetermined and English and held by 7 WorldCat member libraries worldwide
Comparing how atomicity mechanisms support replication by
Maurice Herlihy(
Book
)
2 editions published in 1985 in English and held by 6 WorldCat member libraries worldwide
2 editions published in 1985 in English and held by 6 WorldCat member libraries worldwide
Reasoning about atomic objects by
Maurice Herlihy(
Book
)
2 editions published in 1987 in English and held by 6 WorldCat member libraries worldwide
2 editions published in 1987 in English and held by 6 WorldCat member libraries worldwide
Waitfree implementations in messagepassing systems by Soma Chaudhuri(
Book
)
4 editions published in 1998 in English and held by 6 WorldCat member libraries worldwide
4 editions published in 1998 in English and held by 6 WorldCat member libraries worldwide
Concurrency vs. availability : atomicity mechanisms for replicated data by
Maurice Herlihy(
Book
)
3 editions published in 1987 in English and Undetermined and held by 6 WorldCat member libraries worldwide
3 editions published in 1987 in English and Undetermined and held by 6 WorldCat member libraries worldwide
The art of multiprocessor programming, revised first edition by
Maurice Herlihy(
)
2 editions published in 2012 in English and held by 0 WorldCat member libraries worldwide
2 editions published in 2012 in English and held by 0 WorldCat member libraries worldwide
The Art of Multiprocessor Programming, Revised Reprint by
Maurice Herlihy(
)
1 edition published in 2012 in English and held by 0 WorldCat member libraries worldwide
Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient singlecore programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues. This revised edition incorporates muchdemanded updates thr
1 edition published in 2012 in English and held by 0 WorldCat member libraries worldwide
Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient singlecore programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues. This revised edition incorporates muchdemanded updates thr
more
fewer
Audience Level
0 

1  
Kids  General  Special 
Related Identities
 Shavit, Nir 1959
 Rajsbaum, Sergio Contributor
 Kozlov, D. N. (Dmitriĭ Nikolaevich) Contributor
 DISC <14, 2000, Toledo>
 Wing, Jeannette Marie Author
 Massachusetts Institute of Technology Laboratory for Computer Science
 Digital Equipment Corporation Cambridge Research Laboratory
 Aspnes, James D. (James David) Author
 Waarts, Orli
 McKendry, Martin S. Author
Useful Links
Associated Subjects
Abstract data types (Computer science) Algorithms Combinatorial topology Computer networks Computer science Computer software Counting circuits Database management Data structures (Computer science) Data transmission systems Digital counters Distributed databases Electronic data processing Electronic data processingDistributed processing Faulttolerant computing Interpreters (Computer programs) Multiprocessors Multiprogramming (Electronic computers) Operating systems (Computers) Parallel processing (Electronic computers) Programming languages (Electronic computers) Synchronization Transaction systems (Computer systems)
Alternative Names
Herlihy, Maurice P.
Herlihy, Maurice P. 1954
Herlihy, Maurice Peter.
Herlihy, Maurice Peter 1954
Maurice Herlihy American computer scientist
Maurice Herlihy informaticien américain
Maurice Herlihy USamerikanischer Informatiker
헐리히, 모리스
ハーリヒ, モーリス
Languages
Covers