Distributed Systems
eBook - ePub

Distributed Systems

Concurrency and Consistency

  1. 188 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Distributed Systems

Concurrency and Consistency

About this book

Distributed Systems: Concurrency and Consistency explores the gray area of distributed systems and draws a map of weak consistency criteria, identifying several families and demonstrating how these may be implemented into a programming language. Unlike their sequential counterparts, distributed systems are much more difficult to design, and are therefore prone to problems. On a large scale, usability reminiscent of sequential consistency, which would provide the same global view to all users, is very expensive or impossible to achieve. This book investigates the best ways to specify the objects that are still possible to implement in these systems.- Explores the gray area of distributed systems and draws a map of weak consistency criteria- Investigates the best ways to specify the objects that are still possible to implement in these systems- Presents a description of existing memory models and consistency criteria

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Distributed Systems by Matthieu Perrin in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Engineering. We have over one million books available in our catalogue for you to explore.
1

Specification of Shared Objects

Abstract

When a project manager designs the general architecture of an application, one of his main concerns is to divide the workload into distinct logical entities, software building blocks, thus enabling them to be implemented by different developers. Each software building block is then separately specified to mitigate the risks of conflict during the final integration. The specification is thus the communication vector between two developers: the designer who designs the object and the user who uses it in his/her own program. When the object in question is part of a library (and all the more when the source code is proprietary), this is the only way to describe the object. A good specification should be written from the user’s perspective and for the user. We will now describe the three main qualities that a specification must have.

Keywords

Abstract data types; ADT composition communications; Asynchronous processes; Concurrent history; Consistency criteria; Modelization; Sequential specifications; Shared objects

1.1 Introduction

When a project manager designs the general architecture of an application, one of his main concerns is to divide the workload into distinct logical entities, software building blocks, thus enabling them to be implemented by different developers. Each software building block is then separately specified to mitigate the risks of conflict during the final integration. The specification is thus the communication vector between two developers: the designer who designs the object and the user who uses it in his/her own program. When the object in question is part of a library (and all the more when the source code is proprietary), this is the only way to describe the object. A good specification should be written from the user’s perspective and for the user. We will now describe the three main qualities that a specification must have.
Rigor. A specification should not necessarily be an accurate characterization of all the possible reactions of the object. In general, it instead concerns properties verified in all situations. The proper level of detail must be adopted: properties that are too strong excessively constrain the implementation, but too weak constraints only partially depict the semantics of the object. On the other hand, all properties must be perfectly mathematically defined to not give room for subjective interpretation. This is especially true if formal validation techniques are being utilized.
Abstraction. One way to describe the behavior of an object in a rigorous way is to give away its source code. This, however, does not make a good specification. As a matter of fact, code modifications may be necessary in order to improve the efficiency for solving errors, or adapt to a new environment. In all these cases, if the semantics remain the same, there is no reason to change the specification. A specification should be independent of the implementation. For a shared object, the values stored in the local memory of a process and the ...

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Acknowledgments
  6. Introduction
  7. List of Notations
  8. 1: Specification of Shared Objects
  9. 2: Overview of Existing Models
  10. 3: Update Consistency
  11. 4: Causal Consistency
  12. 5: Weak Consistency Space
  13. 6: CODS Library
  14. Conclusion
  15. Bibliography
  16. Index