Операционные системы распределенных вычислительных систем


Реализация распределенных файловых систем. - часть 16


Параллельные операции записи не задерживают выполнение операций с общей памятью, а также не требуют неделимости широковещательных рассылок.

Определение потенциальной причинной зависимости может осуществляться компилятором посредством анализа зависимости операторов программы по данным.

Система DSM может это осуществить посредством нумерации всех записей на каждом процессоре,  распространения этих номеров по всем процессорам вместе с модифицируемыми данными, и задержке любой модификации на любом процессоре до тех пор, пока он не получит все те модификации, о которых известно процессору - автору задерживаемой модификации.

6.3.4    PRAM консистентность и процессорная консистентность.

PRAM (Pipelined RAM) консистентность определяется следующим образом: «Операции записи, выполняемые одним процессором, видны всем остальным процессорам в том порядке, в каком они выполнялись, но операции записи, выполняемые разными процессорами, могут быть видны в произвольном порядке.»

Пример допустимой последовательности событий в системе с PRAM консистентностью.

P1:

W(x)1

 

 

 

 

P2:

 

R(x)1

W(x)2

 

 

P3:

 

 

 

R(x)1

R(x)2

P4:

 

 

 

R(x)2

R(x)1

Преимущество модели PRAM консистентности заключается в простоте ее реализации, поскольку операции записи на одном процессоре могут быть конвейеризованы: выполнение операций с общей памятью можно начинать не дожидаясь завершения предыдущих операций записи (модификации всех копий страниц, например), необходимо только быть уверенным, что все процессоры увидят эти записи в одном и том же порядке.

PRAM консистентность может приводить к результатам, противоречащим интуитивному представлению. Пример:

 

Процесс P1

Процесс P2

..........

..........

a = 1;

b = 1;

if (b==0) kill (P2);

if (a==0) kill (P1);

..........

..........

 

 Оба процесса могут быть убиты, что невозможно при последовательной консистентности.




Начало  Назад  Вперед