Введение в распределенные



Download 3,3 Mb.
bet36/74
Sana13.07.2022
Hajmi3,3 Mb.
#785639
1   ...   32   33   34   35   36   37   38   39   ...   74
Bog'liq
Косяков ТАТ книга

Векторное время


Скалярные часы не являются строго непротиворечивыми и не позволяют зафиксировать параллелизм событий. События, которые могли бы происходить одновременно, могут получить различные отметки времени как будто они происходили в каком-то определенном порядке. Для некоторых задач, например, рассмотренных в п. 3.2.2, такое ограничение не является существенным. Однако, к примеру, при отладке распределенных программ (англ. distributed debugging) информация о том,
оказывают ли события потенциальное влияние друг на друга или нет, становится важной.
Параллелизм событий можно зафиксировать, если часовые отметки времени параллельных событий оказываются несравнимыми. Другими словами, выявление параллельных событий возможно только тогда, когда множество T допустимых значений логического времени оказывается упорядоченным частично, но не линейно. Чтобы понять, из каких элементов может состоять такое множество, предположим, что в каждом процессе работают логические локальные часы, увеличивающие свои показания на единицу перед наступлением каждого события. Тогда для стороннего наблюдателя, которому одномоментно доступна вся картина происходящего, ход выполнения распределенной системы будет определяться совокупностью показаний локальных часов всех процессов. Подходящей структурой данных для представления такого глобального времени будет являться N-мерный вектор, в котором i-й компонент содержит текущее значение локального времени процесса Pi. Пример изменения глобального векторного времени V с точки зрения стороннего наблюдателя приведен на рис. 3.5.

Рис. 3.5. Пример изменения глобального векторного времени.


Процессам же текущее значение глобального времени недоступно. Каждый процесс может лишь сформировать свое собственное представление о ходе выполнения процессов распределенной системы через поступающие ему сообщения. Для этого каждый процесс Pi должен локально поддерживать работу с вектором Vi[1..N]. В компоненте Vi[i] этого вектора хранятся показания логических локальных часов процесса Pi,


измеряющих ход его собственного выполнения. Логические глобальные часы, используемые для записи информации о ходе выполнения других процессов, представлены остальными компонентами вектора Vi, а именно, компонент Vi[j] содержит последние сведения, полученные процессом Pi о локальном времени процесса Pj. Другими словами, если Vi[j] = x, то процесс Pi "знает" о том, что локальное время процесса Pj достигло значения x. Стоит отметить, что к настоящему моменту локальные часы процесса Pj могли уйти вперед, т.е. текущее локальное время процесса Pj может превышать значение x, однако, процесс Pi не получал об этом никакой информации через направляемые ему сообщения. Весь вектор Vi можно рассматривать как локальное представление процесса Pi о глобальном векторном времени, отражающем ход выполнения всех процессов в распределенной системе.
Таким образом, областью значений часовой функции Θ является множество N-мерных векторов неотрицательных целых чисел, где N – количество процессов в распределенной системе. Поэтому такие часы называют векторными часами. Отметка времени события ei, происходящего в процессе Pi, определяется всеми компонентами вектора Vi на момент наступления ei. Такую отметку часто называют векторной отметкой времени события ei и обозначают через V(ei).
Для сравнения двух векторных отметок времени V(ei) и V(ej') событий ei и ej' введем следующие отношения:
V(ei) = V(ej')  k: V(ei)[k] = V(ej')[k];
V(ei) ≤ V(ej')  k: V(ei)[k] ≤ V(ej')[k];
V(ei) < V(ej')  V(ei) ≤ V(ej') и k: V(ei)[k] < V(ej')[k].
Очевидно, что введенное выше отношение < определяет частичный порядок на множестве векторных отметок времени для N ≥ 2. Например, вектора V(ei) = [2, 3, 0] и V(ej') = [0, 4, 1] являются несравнимыми. Для обозначения этого факта будем использовать запись V(ei) || V(ej'):
V(ei) || V(ej')  ¬(V(ei) < V(ej')) ˄ ¬(V(ej') < V(ei)).
Для выполнения условия непротиворечивости логических часов каждый процесс Pi использует следующие правила продвижения своего векторного времени.

Download 3,3 Mb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish