Параллельные вычисления. Баканов В.М. - 29 стр.

UptoLike

Составители: 

- 29 -
вместно с ячейкой
R
как раз и осуществляет такую синхронизацию - состоя-
ние
R=0
свидетельствует об окончании процессов разной длительности). На-
пример, момент времени наступления обмена данными между процессорами
априори никак не согласован и не может быть определен точно (т.к. зависит
от множества труднооцениваемых параметров функционирования МВС), при
этом для обеспечения полноценного рандеву (встречи для обмена информа-
цией) просто необходимо применять синхронизацию. В
слабосвязанных
МВС вообще нельзя надеяться на абсолютную синхронизацию машинных
часов отдельных процессоров, можно говорить только об измерении проме-
жутков времени во временной системе каждого процессора.
Синхронизация является действенным способом предотвращения ситуаций
дедлока (deadlock, клинч, тупик) – ситуации, когда каждый из взаимодейст-
вующих процессов получил в распоряжение часть необходимых ему (разде-
ляемых с другими процессами) ресурсов, но ни ему ни иным процессам это-
го количества ресурсов недостаточно для завершения обработки (и после-
дующего освобождения ресурсов), [4].
Одним из известных методов синхронизации является использование се-
мафоров (E.Дейкстра, 1965). Семафор представляет собой доступный ис-
полняющимся процессам целочисленный объект, для которого определены
следующие элементарные (
атомарные, неделимые) операции:
Инициализация семафора, в результате которой семафору присваивается
неотрицательное значение.
Операция типа P (от датского слова proberen - проверять), уменьшающая
значение семафора. Если значение семафора опускается ниже нулевой
отметки, выполняющий операцию процесс приостанавливает свою рабо-
ту.
Операция типа V (от verhogen - увеличивать), увеличивающая значение
семафора. Если значение семафора в результате операции становится
больше или равно 0, один из процессов, приостановленных во время вы-
полнения операции P, выходит из состояния приостанова.
Условная операция типа P (сокращенно CP, conditional P), уменьшающая
значение семафора и возвращающая логическое значениеистинав том
случае, когда значение семафора остается положительным. Если в резуль-
тате операции значение семафора должно стать отрицательным или нуле-
вым, никаких действий над ним не производится и операция возвращает
логическое значениеложь’.
В системах параллельного программирования используют существенно
более высокоуровневые приемы синхронизации. В технологии параллельного
программирования MPI (см. раздел 4.2) применена схема синхронизации об-
мена информацией между процессами, основанная на использовании прими-
                                     - 29 -


вместно с ячейкой R как раз и осуществляет такую синхронизацию - состоя-
ние R=0 свидетельствует об окончании процессов разной длительности). На-
пример, момент времени наступления обмена данными между процессорами
априори никак не согласован и не может быть определен точно (т.к. зависит
от множества труднооцениваемых параметров функционирования МВС), при
этом для обеспечения полноценного рандеву (встречи для обмена информа-
цией) просто необходимо применять синхронизацию. В слабосвязанных
МВС вообще нельзя надеяться на абсолютную синхронизацию машинных
часов отдельных процессоров, можно говорить только об измерении проме-
жутков времени во временной системе каждого процессора.
  Синхронизация является действенным способом предотвращения ситуаций
дедлока (deadlock, клинч, тупик) – ситуации, когда каждый из взаимодейст-
вующих процессов получил в распоряжение часть необходимых ему (разде-
ляемых с другими процессами) ресурсов, но ни ему ни иным процессам это-
го количества ресурсов недостаточно для завершения обработки (и после-
дующего освобождения ресурсов), [4].
  Одним из известных методов синхронизации является использование се-
мафоров (E.Дейкстра, 1965). Семафор представляет собой доступный ис-
полняющимся процессам целочисленный объект, для которого определены
следующие элементарные (атомарные, неделимые) операции:

 •   Инициализация семафора, в результате которой семафору присваивается
     неотрицательное значение.
 •   Операция типа P (от датского слова proberen - проверять), уменьшающая
     значение семафора. Если значение семафора опускается ниже нулевой
     отметки, выполняющий операцию процесс приостанавливает свою рабо-
     ту.
 •   Операция типа V (от verhogen - увеличивать), увеличивающая значение
     семафора. Если значение семафора в результате операции становится
     больше или равно 0, один из процессов, приостановленных во время вы-
     полнения операции P, выходит из состояния приостанова.
 •   Условная операция типа P (сокращенно CP, conditional P), уменьшающая
     значение семафора и возвращающая логическое значение ‘истина’ в том
     случае, когда значение семафора остается положительным. Если в резуль-
     тате операции значение семафора должно стать отрицательным или нуле-
     вым, никаких действий над ним не производится и операция возвращает
     логическое значение ‘ложь’.

  В системах параллельного программирования используют существенно
более высокоуровневые приемы синхронизации. В технологии параллельного
программирования MPI (см. раздел 4.2) применена схема синхронизации об-
мена информацией между процессами, основанная на использовании прими-