Science of Computer Programming
The drinking philosophers problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Operating system concepts (2nd ed.)
Operating system concepts (2nd ed.)
Distributed systems: methods and tools for specification. An advanced course
Distributed systems: methods and tools for specification. An advanced course
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
The connection machine
Algorithms for mutual exclusion
Algorithms for mutual exclusion
Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
Derivation of a distributed algorithm for finding paths in directed networks
Science of Computer Programming
Warp architecture and implementation
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
Operation systems: advanced concepts
Operation systems: advanced concepts
Software—Practice & Experience
DIB—a distributed implementation of backtracking
ACM Transactions on Programming Languages and Systems (TOPLAS)
An overview of the SR language and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Networks and distributed computation: concepts, tools, and algorithms
Networks and distributed computation: concepts, tools, and algorithms
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Distributed algorithms and protocols
Distributed algorithms and protocols
An overview for the PTRAN analysis system for multiprocessing
Journal of Parallel and Distributed Computing - Special Issue on Languages, Compilers and environments for Parallel Programming
Performance of multi-tasking and synchronization mechanisms in the programming language SR
Software—Practice & Experience
Computer networks
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
A message-optimal algorithm for distributed termination detection
Journal of Parallel and Distributed Computing
Concurrent programming: principles and practice
Concurrent programming: principles and practice
A distributed mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
A N algorithm for mutual exclusion in decentralized systems
ACM Transactions on Computer Systems (TOCS)
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
A Majority consensus approach to concurrency control for multiple copy databases
ACM Transactions on Database Systems (TODS)
The structuring of systems using upcalls
Proceedings of the tenth ACM symposium on Operating systems principles
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Output Guards and Nondeterminism in “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
Termination Detection of Diffusing Computations in Communicating Sequential Processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synchronization in Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fail-stop processors: an approach to designing fault-tolerant computing systems
ACM Transactions on Computer Systems (TOCS)
An optimal algorithm for mutual exclusion in computer networks
Communications of the ACM
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
Distributed data structures in Linda
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Parallel Sorting Algorithms
A Discipline of Programming
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Weighted voting for replicated data
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Detecting termination of distributed computations using markers
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Maintaining the time in a distributed system
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
Decentralized algorithms in distributed systems
Decentralized algorithms in distributed systems
Distributed computing with APL
APL '92 Proceedings of the international conference on APL
Extending the two-partner shared variable protocol to n partners
APL '93 Proceedings of the international conference on APL
Enhancing compositional reachability analysis with context constraints
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
The HetNOS network operating system: a tool for writing distributed applications
ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review
A compact Petri net representation for concurrent programs
Proceedings of the 17th international conference on Software engineering
Selecting locking primitives for parallel programming
Communications of the ACM
A Compact Petri Net Representation and Its Implications for Analysis
IEEE Transactions on Software Engineering
Toward boxology: preliminary classification of architectural styles
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Distributed software engineering
ICSE '94 Proceedings of the 16th international conference on Software engineering
Anonymous Remote Computing: A Paradigm for Parallel Programming on Interconnected Workstations
IEEE Transactions on Software Engineering
Principled design of the modern Web architecture
Proceedings of the 22nd international conference on Software engineering
The coming-of-age of software architecture research
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
DP: A Paradigm for Anonymous Remote Computation and Communication for Cluster Computing
IEEE Transactions on Parallel and Distributed Systems
Apportioning: A Technique for Efficient Reachability Analysis of Concurrent Object-Oriented Programs
IEEE Transactions on Software Engineering - Special section on the seventh international software metrics symposium
Principled design of the modern Web architecture
ACM Transactions on Internet Technology (TOIT)
Efficient Garbage Collection Schemes for Causal Message Logging with Independent Checkpointing
The Journal of Supercomputing
Sharing Multimedia Data Over a Client-Server Network
IEEE MultiMedia
A Framework for the Development of Multiagent Architectures
IEEE Expert: Intelligent Systems and Their Applications
Low-Cost Garbage Collection for Causal Message Logging
HiPC '01 Proceedings of the 8th International Conference on High Performance Computing
A General Data Layout for Distributed Consistency in Data Parallel Applications
HiPC '02 Proceedings of the 9th International Conference on High Performance Computing
A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Dynamic Reconfiguration of CORBA-Based Applications
SOFSEM '99 Proceedings of the 26th Conference on Current Trends in Theory and Practice of Informatics on Theory and Practice of Informatics
Prototyping network architectures on a supercomputer
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
A source-level transformation framework for RPC-based distributed programs
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
Using design fragments to modularize the design of communications in concurrent systems
IWSSD '93 Proceedings of the 7th international workshop on Software specification and design
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
A causal message logging protocol for mobile nodes in mobile computing systems
Future Generation Computer Systems - Special issue: Advanced services for clusters and internet computing
The Golden Age of Software Architecture
IEEE Software
Indus: an object oriented language for Ubiquitous computing
ACM SIGPLAN Notices
A Component Coordination Model Based on Mobile Channels
Fundamenta Informaticae
Adding dynamic reconfiguration support to JBoss AOP
MAI '07 Proceedings of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007
Messengers: Distributed Programming Using Mobile Agents
Journal of Integrated Design & Process Science
Mobile Information Systems - Mobile Systems and Applications
A comparative study of parallelization paradigms
SEPADS'08 Proceedings of the 7th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems
International Journal of Internet Protocol Technology
Mobile agent programming for clusters with parallel skeletons
VECPAR'02 Proceedings of the 5th international conference on High performance computing for computational science
Journal of Systems and Software
Improving user experience by infusing web technologies into desktops
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
A Component Coordination Model Based on Mobile Channels
Fundamenta Informaticae
A survey of support for structured communication in concurrency control models
Journal of Parallel and Distributed Computing
Hi-index | 0.02 |
Distributed computations are concurrent programs in which processes communicate by message passing. Such programs typically execute on network architectures such as networks of workstations or distributed memory parallel machines (i.e., multicomputers such as hypercubes). Several paradigms—examples or models—for process interaction in distributed computations are described. These include networks of filters, clients, and servers, heartbeat algorithms, probe/echo algorithms, broadcast algorithms, token-passing algorithms, decentralized servers, and bags of tasks. These paradigms are appliable to numerous practical problems. They are illustrated by solving problems, including parallel sorting, file servers, computing the topology of a network, distributed termination detection, replicated databases, and parallel adaptive quadrature. Solutions to all problems are derived in a step-wise fashion from a general specification of the problem to a concrete solution. The derivations illustrate techniques for developing distributed algorithms.