ВУЗ:
Составители:
Рубрика:
- 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) применена схема синхронизации об-
мена информацией между процессами, основанная на использовании прими-
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
