SlideShare a Scribd company logo
2
Most read
3
Most read
11
Most read
Communication and synchronization in distributed systems Johanna OrtizDiego NiñoAlejandro Velandia
Communication in distributed systemsIn a distributed system there is no shared memory and thus the whole nature of the communication between processes should be reconsidered. The processes, to communicate, must adhere to rules known as protocols. For distributed systems in a wide area, these protocols often take the form of several layers and each layer has its own goals and rules. Messages are exchanged in various ways, and there are many design options in this regard, an important option is the "remote procedure call. It is also important to consider the possibilities of communication between groups of processes, not only between two processes.
client-server modelTwo different roles in the interactionClient: requesting service. Request: Operation + dataServer: provides service. response: result
RPCThe model client - server is a convenient way of structuring a S. O. distributed, but has a flaw The essential paradigm that is built around communication is the input / output. The procedures send / receive are reserved for conducting e / s. A different option was raised by Birrell and Nelson: Allow programs that call procedures located on other machines. When a process in the machine "A" calls a procedure in the machine "B": The process that makes the call is suspended. The implementation of the procedure is done in "B". The information can be transported from one place to another using the parameters and can return in the subsequent procedure. The programmer does not worry about a transfer of messages or e / s. This method is called Remote Procedure Call or RPC. The procedure makes the call and the person receiving it run on different machines, ie using different address spaces.
proxy or cache modelthree different roles in the interaction:Client: requesting service Server: provides service Proxy: agent
Multilayer modelserver can be a client of another server typical web applications:presentation + business logic + Data access
Peer-to-peer model Dialogue protocol:chordin entities among themselvesthe end of each stage entities synchronize and exchange information
communication characteristicsblocking or non-blocking operation modeShipping:blocking: the sender is blocked until it has been successfully sent to destination.non-blocking: the sender stores the data in a       kernel buffer and resumes executionreception: reception non-blocking: If there is available data is read by the receiver, otherwise indicates that no message had.blocking reception: if there is no available data the receiver is blocked
ReliabilityIssues related to reliability of communication; - Ensuring that the message was received on node (s) target (s) - Maintenance of order in the delivery of messages - Flow control to avoid "flooding" the receiving node - Fragmentation of the messages to eliminate limitations on size Maximum messages If the communication system does not guarantee some of these aspects, it must send the application
Communication in groups:Destination of message is a group of processes:   Multicast Possible applications in distributed systems - Using multiple updates replicated data. - Use of replicated services. - Collective operations in parallel computation. Implementation depends on whether the network provides multicast - If no, is implemented by sending N messages A process can belong to several groups There is a group address EI group usually has a dynamic nature - You can add and remove group processes - Management of membership must be coordinated with the communication
Com design aspects group· Models of groups:- Open Group. · External process can send message to group - Typically used to replicate data or services - Group closed. - Only group processes can send messages. · Is commonly used in parallel processing (model peer-to-peer · Atomicity - Or get the message all processes or none
Order reception of messages:three choices: - Order FIFO: Messages from one source reach each receiver in the order they are sent. · There are no guarantees on messages from different issuers - Causal ordering: If the messages sent between two emitting a possible relationship "cause and effect, all group process first receive the message "cause" and then message "effect." - If no connection, no guarantee any delivery order - Definition of "causality" is discussed in "Synchronization" - Total Management: All messages (various sources) sent a group are received in the same order for all items.
SYNCHRONIZATION OF DISTRIBUTED SYSTEMS
SYNCHRONIZATION OF DISTRIBUTED SYSTEMSAlgorithms forclocksynchronizationCristian'salgorithmBerkeley Algorithm Algorithm with AverageAlgorithms for Mutual ExclusionCentralizationDistributed
Cristian's algorithmThis algorithm is based on the use of coordinated universal time (acronym in English, UTC) which is received by a computer within the distributed system. This team, called receptor UTC, in turn receives periodic requests from the time of other machines to each system of which sends a reply in the shortest possible time UTC requested report, which all machines update their system time and keeping it synchronized across the system. The receiver receives the UTC time through various means available, including mention the airwaves, the Internet, among others. A major problem in this algorithm is that time can run backwards: The UTC time of the receiver can not be shorter than the time of the machine that requested time. The UTC server must process requests for time with the concept of disruption, which affects the attention span. The range of transmission of the request and its response must be taken into account for synchronization. The propagation time adds to the time server to synchronize the sender when it receives the response.
Berkeley AlgorithmA distributed system based on the Berkeley algorithm has no coordinated universal time (UTC) instead, the system manages its own time. For synchronizing the time in the system, there is also a time server that unlike Cristian algorithm behaves proactively. This server performs periodic sampling of the time have some of the machines in the system, which calculates an average time, which is sent to all machines in the system to synchronize.
Algorithm with Average This algorithm does not have a server to control, centralize and maintain time synchronization in the system. In contrast, each machine in the system informs its local time with each message you send requires another machine or machines of the system. From that moment, each machine locally initialize a timer, whose duration is fixed interval and length. From that moment, each machine averages your local time using the hours you report the rest of the machines that interact with it.
Algorithms for Mutual ExclusionThese algorithms are defined to ensure compliance of mutual exclusion between processes that require access to a critical region of the system. Centralized: This algorithm simulates the operating philosophy of mutual exclusion used in uniprocessor systems. To do this, there is a machine in the distributed system which is responsible for controlling access to the various critical sections, which is called the coordinator. Each system process that requires access to a critical section, you must request access to the coordinator, which is awarded in the event that the critical section is available, otherwise placed in a queue to process applicant. When a process received access to the critical section completes its task, inform equally to the coordinator to enable it to grant access to a next requesting process or that is in queue. This algorithm presents a major constraint, namely that the coordinator represents a single point of control for access to the various critical sections of the distributed system, which becomes a bottleneck that can affect the efficiency of processes running in the system. Similarly, any failure to present the result in the cessation coordinator processes.
DistributedThis algorithm was developed to eliminate the latent problem in the centralized algorithm. Therefore, its approach is based on not having a single coordinator to control access to critical sections of the distributed system. In this sense, each process that requires access to a critical section, send your request to all processes in the system, identifying themselves as the critical section who wish to access. Each receiving process sends its response to the process requesting   indicating one of the following possible answers: Critical section not in use by the receiving process. Response Message: OK. Critical section used by the receiving process.   Response Message: Not applicable, place the transmitter in process queue. Critical section in use but not requested by the receiving process. Response Message: OK, if the application is earlier than the receiver. Response Message: Not applicable, if the request is downstream of the receptor,   sender puts the process in queue. However, this algorithm also contains a problem, namely that if a process has a failure can not send its response to a request from a sender process, so this will be interpreted as a denial of access, blocking all processes requesting access to any critical section.
Ring (Token Ring)This algorithm establishes a logical ring of processes, software-controlled through the which circulates a token or control (token) between each process. When a process receives the tab, you can enter a   critical section if required, to process all tasks, leaving the critical section and deliver the card to the next process of the ring. This process is repeated continuously in the ring of processes. When a process receives the information and does not require entering a critical section, it passes the tab immediately to the next process. This algorithm contains a weakness associated with the possible loss of the card for access control to critical sections. If this occurs, the system processes assume that the card is in use by some process that is in the critical section.
ElectionThese algorithms are designed to elect a coordinator process. In the same ensures that once the   coordinator election process, it concluded with the agreement of all the system processes the election of a new coordinator. The big fella (Garcia Molina) This algorithm is initiated when a process determines that there is any response to requests made to the process coordinator. At this time, this process sends to all processes older than him a message of electing a new coordinator, which can lead to the following scenarios: A process with a number greater than the sender of the message process, answer OK, which was elected as coordinator of the system. No process responds election message, which the sender process is elected as the coordinator process. Ring This algorithm operates similarly to the algorithm of the big fella, with the difference that in this method has the following variants: The election message is circulated to all system processes, and processes not only larger than the issuer. Each part of the message process identification. Once the complete message back to the ring and sending process, who sets the new coordinator to process the larger number. It circulates through the ring a new message indicating who is the coordinator of the system.
Atomic TransactionsSynchronization method is a high level, unlike the revised methods so far, does not hold the developer on issues of mutual exclusion, prevent crashes and failover.   On the contrary, this method guides the developer's effort to real problems and substance of the synchronization of distributed systems. The concept of atomic transactions is to ensure that all processes that make a transaction should   implemented fully and satisfactorily. Of a breakdown in one of the processes, the entire transaction fails,   reversed the same and proceeded to restart.
Threads, Processes (Threads)Today's operating systems can support multiple threads of control within a process.   Two notable features in the processes is that threads share a single address space,   and in turn, simulate a multi-ordered, as if it were separate processes in parallel. Only in a multiprocessor machine with may actually run parallel processes. The wires can be placed in four states: Running, when the process is running. Locked, when a process depends on a critical resource. Usually, when it can be used again. Over, when the task ends. Implementation of a Yarn Package There are two ways to implement threads: In the user When performing the installation of user-level packages, the core must not know of its existence, so the kernel will handle only a single thread. The threads are executed in the runtime system in groups of procedures. In the event the system or procedure required to suspend a thread in its handling, the thread stores the records in a table, look for unlocked and reload the machine registers with initial values. Its main advantages are: Each process or thread can have its own algorithm or process planning. The exchange is faster, and identifiers used in the core. It has a more scalable processes increase.
In the CoreUnlike the implementation on the client, the implementation in the kernel does not need the runtime management;   every process in the same table manages its processes, even if it means higher cost in resources and processing time machine. One of the most important advantages is that it requires blocking calls to the system.

More Related Content

What's hot (20)

PPT
Design issues for the layers
jayaprakash
 
PPT
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
mohamed khalaf alla mohamedain
 
PPTX
Translation of expression(copmiler construction)
IrtazaAfzal3
 
PPTX
Developing a Map Reduce Application
Dr. C.V. Suresh Babu
 
PPTX
RPC: Remote procedure call
Sunita Sahu
 
PPT
Unit 5
gopal10scs185
 
PPTX
Introduction to Parallel and Distributed Computing
Sayed Chhattan Shah
 
PPTX
switching techniques in data communication and networking
Harshita Yadav
 
PPT
Operating System Deadlock Galvin
Sonali Chauhan
 
PPTX
Multi processor scheduling
Shashank Kapoor
 
PPT
Requirement modeling
Abdul Basit
 
PDF
Sequence diagrams
Preeti Mishra
 
PPTX
Context model
Ubaid423
 
PPT
UML
iQra Rafaqat
 
PPT
Unit 1( modelling concepts & class modeling)
Manoj Reddy
 
PPT
Advanced Software Engineering.ppt
Rvishnupriya2
 
PPTX
Algorithm and pseudocode conventions
saranyatdr
 
PPTX
Distributed operating system
udaya khanal
 
Design issues for the layers
jayaprakash
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
mohamed khalaf alla mohamedain
 
Translation of expression(copmiler construction)
IrtazaAfzal3
 
Developing a Map Reduce Application
Dr. C.V. Suresh Babu
 
RPC: Remote procedure call
Sunita Sahu
 
Introduction to Parallel and Distributed Computing
Sayed Chhattan Shah
 
switching techniques in data communication and networking
Harshita Yadav
 
Operating System Deadlock Galvin
Sonali Chauhan
 
Multi processor scheduling
Shashank Kapoor
 
Requirement modeling
Abdul Basit
 
Sequence diagrams
Preeti Mishra
 
Context model
Ubaid423
 
Unit 1( modelling concepts & class modeling)
Manoj Reddy
 
Advanced Software Engineering.ppt
Rvishnupriya2
 
Algorithm and pseudocode conventions
saranyatdr
 
Distributed operating system
udaya khanal
 

Viewers also liked (20)

PPT
Synchronization in distributed systems
SHATHAN
 
PPT
Communications is distributed systems
SHATHAN
 
PDF
Inter-Process Communication in distributed systems
Aya Mahmoud
 
PPT
Clock Synchronization (Distributed computing)
Sri Prasanna
 
PDF
Distributed Operating System_1
Dr Sandeep Kumar Poonia
 
PDF
Clock Synchronization in Distributed Systems
Zbigniew Jerzak
 
PPTX
Analysis & Design Method for OSGi-based Development
Linuxmalaysia Malaysia
 
PPTX
Python queue solution with asyncio and kafka
Ondřej Veselý
 
PDF
美团技术沙龙04 - Kv Tair best practise
美团点评技术团队
 
PPT
16.Distributed System Structure
Senthil Kanth
 
PPT
Cryptography (Distributed computing)
Sri Prasanna
 
PDF
Lotus Notes Presentation - Please loo into it!!
projjal ghosh
 
PDF
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch Singapore
Open Mobile Alliance
 
PPTX
Distributed System - Security
Harshana Madusanka Jayamaha
 
PPT
Name services
Rajendran N
 
PPT
Clock synchronization in distributed system
Sunita Sahu
 
PPT
Naming And Binding (Distributed computing)
Sri Prasanna
 
PPT
Mutual exclusion
Dillip Behera
 
PDF
Processes and Processors in Distributed Systems
Dr Sandeep Kumar Poonia
 
PPT
Blue gene technology
Vivek Jha
 
Synchronization in distributed systems
SHATHAN
 
Communications is distributed systems
SHATHAN
 
Inter-Process Communication in distributed systems
Aya Mahmoud
 
Clock Synchronization (Distributed computing)
Sri Prasanna
 
Distributed Operating System_1
Dr Sandeep Kumar Poonia
 
Clock Synchronization in Distributed Systems
Zbigniew Jerzak
 
Analysis & Design Method for OSGi-based Development
Linuxmalaysia Malaysia
 
Python queue solution with asyncio and kafka
Ondřej Veselý
 
美团技术沙龙04 - Kv Tair best practise
美团点评技术团队
 
16.Distributed System Structure
Senthil Kanth
 
Cryptography (Distributed computing)
Sri Prasanna
 
Lotus Notes Presentation - Please loo into it!!
projjal ghosh
 
IoT Seminar (Oct. 2016) Alex Edelmann - Bosch Singapore
Open Mobile Alliance
 
Distributed System - Security
Harshana Madusanka Jayamaha
 
Name services
Rajendran N
 
Clock synchronization in distributed system
Sunita Sahu
 
Naming And Binding (Distributed computing)
Sri Prasanna
 
Mutual exclusion
Dillip Behera
 
Processes and Processors in Distributed Systems
Dr Sandeep Kumar Poonia
 
Blue gene technology
Vivek Jha
 
Ad

Similar to Communication And Synchronization In Distributed Systems (20)

DOC
Distributed Mutual exclusion algorithms
MNM Jain Engineering College
 
PDF
Advanced os 5th unit
Mujtaba Ahmed
 
DOCX
Distributed System
Nitesh Saitwal
 
PPTX
Chapter 6 synchronization
Alagappa Government Arts College, Karaikudi
 
PDF
Analysis of roucairol and carvalho approach in
eSAT Publishing House
 
PPTX
Message Passing Systems
NehaHaroon1
 
PPTX
CST 402 Distributed Computing Module 1 Notes
sm8i4
 
PPT
dos mutual exclusion algos
Akhil Sharma
 
PDF
Analysis of mutual exclusion algorithms with the significance and need of ele...
Govt. P.G. College Dharamshala
 
PPT
Os3
issbp
 
PPT
Coordination and Agreement .ppt
SOURAVKUMAR723356
 
PPT
Chapter 18 - Distributed Coordination
Wayne Jones Jnr
 
PPTX
DC-Unit-1-Part1.pptx-distributed computing notes
YuvaraniAruchamy
 
DOCX
Process synchronization
lodhran-hayat
 
PPTX
Dos unit 2
JebasheelaSJ
 
PPT
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
reginamutio48
 
PPTX
Distributed Mutual Exclusion and Distributed Deadlock Detection
SHIKHA GAUTAM
 
PPTX
mutual exclusion algos 16619.4 pptx cloud computing
9921103075
 
PDF
Client Server Model and Distributed Computing
Abhishek Jaisingh
 
PPTX
Message passing in Distributed Computing Systems
Alagappa Govt Arts College, Karaikudi
 
Distributed Mutual exclusion algorithms
MNM Jain Engineering College
 
Advanced os 5th unit
Mujtaba Ahmed
 
Distributed System
Nitesh Saitwal
 
Analysis of roucairol and carvalho approach in
eSAT Publishing House
 
Message Passing Systems
NehaHaroon1
 
CST 402 Distributed Computing Module 1 Notes
sm8i4
 
dos mutual exclusion algos
Akhil Sharma
 
Analysis of mutual exclusion algorithms with the significance and need of ele...
Govt. P.G. College Dharamshala
 
Os3
issbp
 
Coordination and Agreement .ppt
SOURAVKUMAR723356
 
Chapter 18 - Distributed Coordination
Wayne Jones Jnr
 
DC-Unit-1-Part1.pptx-distributed computing notes
YuvaraniAruchamy
 
Process synchronization
lodhran-hayat
 
Dos unit 2
JebasheelaSJ
 
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
reginamutio48
 
Distributed Mutual Exclusion and Distributed Deadlock Detection
SHIKHA GAUTAM
 
mutual exclusion algos 16619.4 pptx cloud computing
9921103075
 
Client Server Model and Distributed Computing
Abhishek Jaisingh
 
Message passing in Distributed Computing Systems
Alagappa Govt Arts College, Karaikudi
 
Ad

Recently uploaded (20)

PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 

Communication And Synchronization In Distributed Systems

  • 1. Communication and synchronization in distributed systems Johanna OrtizDiego NiñoAlejandro Velandia
  • 2. Communication in distributed systemsIn a distributed system there is no shared memory and thus the whole nature of the communication between processes should be reconsidered. The processes, to communicate, must adhere to rules known as protocols. For distributed systems in a wide area, these protocols often take the form of several layers and each layer has its own goals and rules. Messages are exchanged in various ways, and there are many design options in this regard, an important option is the "remote procedure call. It is also important to consider the possibilities of communication between groups of processes, not only between two processes.
  • 3. client-server modelTwo different roles in the interactionClient: requesting service. Request: Operation + dataServer: provides service. response: result
  • 4. RPCThe model client - server is a convenient way of structuring a S. O. distributed, but has a flaw The essential paradigm that is built around communication is the input / output. The procedures send / receive are reserved for conducting e / s. A different option was raised by Birrell and Nelson: Allow programs that call procedures located on other machines. When a process in the machine "A" calls a procedure in the machine "B": The process that makes the call is suspended. The implementation of the procedure is done in "B". The information can be transported from one place to another using the parameters and can return in the subsequent procedure. The programmer does not worry about a transfer of messages or e / s. This method is called Remote Procedure Call or RPC. The procedure makes the call and the person receiving it run on different machines, ie using different address spaces.
  • 5. proxy or cache modelthree different roles in the interaction:Client: requesting service Server: provides service Proxy: agent
  • 6. Multilayer modelserver can be a client of another server typical web applications:presentation + business logic + Data access
  • 7. Peer-to-peer model Dialogue protocol:chordin entities among themselvesthe end of each stage entities synchronize and exchange information
  • 8. communication characteristicsblocking or non-blocking operation modeShipping:blocking: the sender is blocked until it has been successfully sent to destination.non-blocking: the sender stores the data in a kernel buffer and resumes executionreception: reception non-blocking: If there is available data is read by the receiver, otherwise indicates that no message had.blocking reception: if there is no available data the receiver is blocked
  • 9. ReliabilityIssues related to reliability of communication; - Ensuring that the message was received on node (s) target (s) - Maintenance of order in the delivery of messages - Flow control to avoid "flooding" the receiving node - Fragmentation of the messages to eliminate limitations on size Maximum messages If the communication system does not guarantee some of these aspects, it must send the application
  • 10. Communication in groups:Destination of message is a group of processes:   Multicast Possible applications in distributed systems - Using multiple updates replicated data. - Use of replicated services. - Collective operations in parallel computation. Implementation depends on whether the network provides multicast - If no, is implemented by sending N messages A process can belong to several groups There is a group address EI group usually has a dynamic nature - You can add and remove group processes - Management of membership must be coordinated with the communication
  • 11. Com design aspects group· Models of groups:- Open Group. · External process can send message to group - Typically used to replicate data or services - Group closed. - Only group processes can send messages. · Is commonly used in parallel processing (model peer-to-peer · Atomicity - Or get the message all processes or none
  • 12. Order reception of messages:three choices: - Order FIFO: Messages from one source reach each receiver in the order they are sent. · There are no guarantees on messages from different issuers - Causal ordering: If the messages sent between two emitting a possible relationship "cause and effect, all group process first receive the message "cause" and then message "effect." - If no connection, no guarantee any delivery order - Definition of "causality" is discussed in "Synchronization" - Total Management: All messages (various sources) sent a group are received in the same order for all items.
  • 14. SYNCHRONIZATION OF DISTRIBUTED SYSTEMSAlgorithms forclocksynchronizationCristian'salgorithmBerkeley Algorithm Algorithm with AverageAlgorithms for Mutual ExclusionCentralizationDistributed
  • 15. Cristian's algorithmThis algorithm is based on the use of coordinated universal time (acronym in English, UTC) which is received by a computer within the distributed system. This team, called receptor UTC, in turn receives periodic requests from the time of other machines to each system of which sends a reply in the shortest possible time UTC requested report, which all machines update their system time and keeping it synchronized across the system. The receiver receives the UTC time through various means available, including mention the airwaves, the Internet, among others. A major problem in this algorithm is that time can run backwards: The UTC time of the receiver can not be shorter than the time of the machine that requested time. The UTC server must process requests for time with the concept of disruption, which affects the attention span. The range of transmission of the request and its response must be taken into account for synchronization. The propagation time adds to the time server to synchronize the sender when it receives the response.
  • 16. Berkeley AlgorithmA distributed system based on the Berkeley algorithm has no coordinated universal time (UTC) instead, the system manages its own time. For synchronizing the time in the system, there is also a time server that unlike Cristian algorithm behaves proactively. This server performs periodic sampling of the time have some of the machines in the system, which calculates an average time, which is sent to all machines in the system to synchronize.
  • 17. Algorithm with Average This algorithm does not have a server to control, centralize and maintain time synchronization in the system. In contrast, each machine in the system informs its local time with each message you send requires another machine or machines of the system. From that moment, each machine locally initialize a timer, whose duration is fixed interval and length. From that moment, each machine averages your local time using the hours you report the rest of the machines that interact with it.
  • 18. Algorithms for Mutual ExclusionThese algorithms are defined to ensure compliance of mutual exclusion between processes that require access to a critical region of the system. Centralized: This algorithm simulates the operating philosophy of mutual exclusion used in uniprocessor systems. To do this, there is a machine in the distributed system which is responsible for controlling access to the various critical sections, which is called the coordinator. Each system process that requires access to a critical section, you must request access to the coordinator, which is awarded in the event that the critical section is available, otherwise placed in a queue to process applicant. When a process received access to the critical section completes its task, inform equally to the coordinator to enable it to grant access to a next requesting process or that is in queue. This algorithm presents a major constraint, namely that the coordinator represents a single point of control for access to the various critical sections of the distributed system, which becomes a bottleneck that can affect the efficiency of processes running in the system. Similarly, any failure to present the result in the cessation coordinator processes.
  • 19. DistributedThis algorithm was developed to eliminate the latent problem in the centralized algorithm. Therefore, its approach is based on not having a single coordinator to control access to critical sections of the distributed system. In this sense, each process that requires access to a critical section, send your request to all processes in the system, identifying themselves as the critical section who wish to access. Each receiving process sends its response to the process requesting   indicating one of the following possible answers: Critical section not in use by the receiving process. Response Message: OK. Critical section used by the receiving process.   Response Message: Not applicable, place the transmitter in process queue. Critical section in use but not requested by the receiving process. Response Message: OK, if the application is earlier than the receiver. Response Message: Not applicable, if the request is downstream of the receptor,   sender puts the process in queue. However, this algorithm also contains a problem, namely that if a process has a failure can not send its response to a request from a sender process, so this will be interpreted as a denial of access, blocking all processes requesting access to any critical section.
  • 20. Ring (Token Ring)This algorithm establishes a logical ring of processes, software-controlled through the which circulates a token or control (token) between each process. When a process receives the tab, you can enter a   critical section if required, to process all tasks, leaving the critical section and deliver the card to the next process of the ring. This process is repeated continuously in the ring of processes. When a process receives the information and does not require entering a critical section, it passes the tab immediately to the next process. This algorithm contains a weakness associated with the possible loss of the card for access control to critical sections. If this occurs, the system processes assume that the card is in use by some process that is in the critical section.
  • 21. ElectionThese algorithms are designed to elect a coordinator process. In the same ensures that once the   coordinator election process, it concluded with the agreement of all the system processes the election of a new coordinator. The big fella (Garcia Molina) This algorithm is initiated when a process determines that there is any response to requests made to the process coordinator. At this time, this process sends to all processes older than him a message of electing a new coordinator, which can lead to the following scenarios: A process with a number greater than the sender of the message process, answer OK, which was elected as coordinator of the system. No process responds election message, which the sender process is elected as the coordinator process. Ring This algorithm operates similarly to the algorithm of the big fella, with the difference that in this method has the following variants: The election message is circulated to all system processes, and processes not only larger than the issuer. Each part of the message process identification. Once the complete message back to the ring and sending process, who sets the new coordinator to process the larger number. It circulates through the ring a new message indicating who is the coordinator of the system.
  • 22. Atomic TransactionsSynchronization method is a high level, unlike the revised methods so far, does not hold the developer on issues of mutual exclusion, prevent crashes and failover.   On the contrary, this method guides the developer's effort to real problems and substance of the synchronization of distributed systems. The concept of atomic transactions is to ensure that all processes that make a transaction should   implemented fully and satisfactorily. Of a breakdown in one of the processes, the entire transaction fails,   reversed the same and proceeded to restart.
  • 23. Threads, Processes (Threads)Today's operating systems can support multiple threads of control within a process.   Two notable features in the processes is that threads share a single address space,   and in turn, simulate a multi-ordered, as if it were separate processes in parallel. Only in a multiprocessor machine with may actually run parallel processes. The wires can be placed in four states: Running, when the process is running. Locked, when a process depends on a critical resource. Usually, when it can be used again. Over, when the task ends. Implementation of a Yarn Package There are two ways to implement threads: In the user When performing the installation of user-level packages, the core must not know of its existence, so the kernel will handle only a single thread. The threads are executed in the runtime system in groups of procedures. In the event the system or procedure required to suspend a thread in its handling, the thread stores the records in a table, look for unlocked and reload the machine registers with initial values. Its main advantages are: Each process or thread can have its own algorithm or process planning. The exchange is faster, and identifiers used in the core. It has a more scalable processes increase.
  • 24. In the CoreUnlike the implementation on the client, the implementation in the kernel does not need the runtime management;   every process in the same table manages its processes, even if it means higher cost in resources and processing time machine. One of the most important advantages is that it requires blocking calls to the system.