Причинно-наслідкове впорядкування подій на вузлах територіально розподіленої системи
Loading...
Date
2018
Authors
Черкасов, Дмитро
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Для забезпечення високої масштабованості, відмовостійкості, а також для впровадження сервісів на великих географічних територіях інформаційні системи будуються як сукупність розподілених вузлів, розташованих таким чином, щоб оптимізувати інформаційні потоки та максимально
наблизити точку надання сервісу до споживача. Однією з найважливіших задач, яка розв’язується
під час побудови розподілених систем, є здійснення синхронізації між вузлами системи, тобто приведення їх у взаємоузгоджений стан та реплікація даних між ними. Задача синхронізації може розглядатися як обмін повідомленнями, внаслідок якого кожен із вузлів потрапляє в потрібний стан.
Унаслідок затримок передачі повідомлень між вузлами, які рознесені на значну відстань, можлива
втрата причинно-наслідкового порядку створення повідомлень. У той час як відтворення правильного хронологічного порядку може досягатися за допомогою часових відміток повідомлень, факти
появи певних повідомлень як реакції на певні події можуть бути втрачені. Для збереження під час
синхронізації вузлів розподіленої системи не лише хронологічного, а й логічного порядку подій
потрібно застосовувати причинно-наслідкове їх упорядкування.
Using the Internet as a universal and global media for information exchange apart from convenience has brought up a set of significant challenges. To secure scalability and redundancy and to provide service over wide geographic areas, information systems include multiple distributed nodes that are placed in the best way to optimize data flows and bring the service as close to consumers as possible. One of critically important tasks when designing such systems is synchronization between nodes of the system, which means bringing them to a coordinated state and replicating data between them. The task of synchronization may be considered as message exchange between the nodes, as a result of which each of the nodes gets into the desired state. Due to message propagation delays, which are common in wide area systems, it is possible that reason-consequence relations between events are lost. While a correct chronological order of the events can be achieved by using timestamps for the messages, the fact is that that some message appeared as a reaction to some other message that may be gone. To preserve not only the chronological order but also the logic of the events during synchronization of nodes in a wide area system, it is necessary to use reason-consequence events ordering. The other problem with the distributed system is handling the case of connectivity loss between parts of the system known as split brain. Choosing one of disconnected parts as a single operational one and considering all the others as failed simplifies synchronization upon recovery but may cause a severe performance degradation. On the other hand, allowing all of the disconnected parts to operate significantly complicates integration of operational results of all the nodes. Adding reason-consequence relations between events may lead to more natural ordering of events that occurred on disconnected nodes, and simplify synchronization.
Using the Internet as a universal and global media for information exchange apart from convenience has brought up a set of significant challenges. To secure scalability and redundancy and to provide service over wide geographic areas, information systems include multiple distributed nodes that are placed in the best way to optimize data flows and bring the service as close to consumers as possible. One of critically important tasks when designing such systems is synchronization between nodes of the system, which means bringing them to a coordinated state and replicating data between them. The task of synchronization may be considered as message exchange between the nodes, as a result of which each of the nodes gets into the desired state. Due to message propagation delays, which are common in wide area systems, it is possible that reason-consequence relations between events are lost. While a correct chronological order of the events can be achieved by using timestamps for the messages, the fact is that that some message appeared as a reaction to some other message that may be gone. To preserve not only the chronological order but also the logic of the events during synchronization of nodes in a wide area system, it is necessary to use reason-consequence events ordering. The other problem with the distributed system is handling the case of connectivity loss between parts of the system known as split brain. Choosing one of disconnected parts as a single operational one and considering all the others as failed simplifies synchronization upon recovery but may cause a severe performance degradation. On the other hand, allowing all of the disconnected parts to operate significantly complicates integration of operational results of all the nodes. Adding reason-consequence relations between events may lead to more natural ordering of events that occurred on disconnected nodes, and simplify synchronization.
Description
Keywords
синхронізація, розподілена система, синхронна реплікація, асинхронна реплікація, причинно-наслідкове впорядкування, стаття, synchronization, distributed system, wide area system, synchronous replication, asynchronous replication, reason-consequence ordering
Citation
Черкасов Д. І. Причинно-наслідкове впорядкування подій на вузлах територіально розподіленої системи / Черкасов Д. І. // Наукові записки НаУКМА. Комп'ютерні науки. - 2018. - Т. 1. - С. 44-49.