![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Алгоритм динамического разделения
Динамическое разделение сводит к минимуму потери производительности, вследствие промахов к КЭШе, пытаясь поддерживать максимальную привязку процессов к процессорам. Планировщик поровну распределяет процессоры системы между задачами. Количество процессоров, которое достанется каждой задаче всегда меньше или равно количеству доступных для выполнения процессов в этой задаче. 35) Синхронизация в многопроцессорных системах. Синхронизация часов. Централизованные алгоритмы синхронизации.
Наличие нескольких ядер усложняет архитектуру системы, поскольку для обмена данными между приложениями, работающими на разных ядрах, требуется механизм межпроцессорного взаимодействия и примитивы синхронизации, которые обеспечивают защиту общедоступных ресурсов от одновременного доступа. ВС должна обладать средствами обеспечения доступа к каждому ядру только строго определенным ресурсам и разделять доступ приложений к ресурсам, чтобы избежать гонок и тупиков. В централизованных системах возможно использование средств синхронизации таких же как в однопроцессорных многозадачных системах. Наиболее важным отличием распределенных систем от централизованных является межпроцессорное взаимодействие. Основой этого взаимодействия может служить только передача сообщений по сети. В самом простом случае системные средства обеспечения связи могут быть сведены к двум системным вызовам: один для посылки сообщений; другой для их получения. В дальнейшем на этой базе могут быть построены более мощные средства сетевых коммуникаций. Такие как: распределенная файловая система или вызов удаленных процедур, которые в свою очередь так же могут служить основой для построения других сетевых сервисов. Основные методы: 1. Алгоритмы синхронизации часов 2. Алгоритмы централизованные · Алгоритмы голосования 3. Алгоритмы распределенные · Взаимные исключения · Распределенные транзакции Синхронизации времени В традиционных архитектурах синхронизация выполнялась через общий для всех процессов участок памяти. В системе есть общий таймер, и проблема времени в них не существует. Синхронизация в распределенных системах используют децентрализованные алгоритмы и становится гораздо более сложной, чем в централизованных. Алгоритмы с синхронизацией в распределенных системах обладают, как правило, следующими свойствами: 1. Относящаяся к делу информация распределена между множеством компьютеров 2. Процессы принимают решения только на основе локальной информации 3. Не должно быть критической точки, выход из которой приводил бы к краху алгоритма. 4. Не существует общих часов или другого источника точного глобального времени. В централизованной однопроцессорной системе не важна точность часов и можно использовать относительное время. В распределенной системе, где каждый процессор имеет собственные часы, со своей точностью хода, программы, для которых важно, например, время прибытия сообщений становятся зависимыми от того часами какого компьютера они пользуются. В распределенных системах синхронизация физических часов является сложной проблемой, но часто в этом нет необходимости, так как процессам не нужно, чтобы на всех компьютерах было правильное время, а важно, чтобы оно было везде одинаковое. Для некоторых процессов важен только правильный порядок событий. В этом случае организуются логические часы. Алгоритмы синхронизации часов
|