Алгоритм динамического разделения

Динамическое разделение сводит к минимуму потери производительности, вследствие промахов к КЭШе, пытаясь поддерживать максимальную привязку процессов к процессорам. Планировщик поровну распределяет процессоры системы между задачами. Количество процессоров, которое достанется каждой задаче всегда меньше или равно количеству доступных для выполнения процессов в этой задаче.

35) Синхронизация в многопроцессорных системах. Синхронизация часов. Централизованные алгоритмы синхронизации.

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

В централизованных системах возможно использование средств синхронизации таких же как в однопроцессорных многозадачных системах. Наиболее важным отличием распределенных систем от централизованных является межпроцессорное взаимодействие. Основой этого взаимодействия может служить только передача сообщений по сети. В самом простом случае системные средства обеспечения связи могут быть сведены к двум системным вызовам: один для посылки сообщений; другой для их получения. В дальнейшем на этой базе могут быть построены более мощные средства сетевых коммуникаций. Такие как: распределенная файловая система или вызов удаленных процедур, которые в свою очередь так же могут служить основой для построения других сетевых сервисов.

Основные методы:

1. Алгоритмы синхронизации часов

2. Алгоритмы централизованные

· Алгоритмы голосования

3. Алгоритмы распределенные

· Взаимные исключения

· Распределенные транзакции

Синхронизации времени

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

Алгоритмы с синхронизацией в распределенных системах обладают, как правило, следующими свойствами:

1. Относящаяся к делу информация распределена между множеством компьютеров

2. Процессы принимают решения только на основе локальной информации

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

4. Не существует общих часов или другого источника точного глобального времени.



В централизованной однопроцессорной системе не важна точность часов и можно использовать относительное время.

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

Для некоторых процессов важен только правильный порядок событий. В этом случае организуются логические часы.

Алгоритмы синхронизации часов


3102008198412909.html
3102050679354088.html
    PR.RU™