Многопроцессорные системы - базовый объект диспетчеризации в UNIX
Желание увеличить производительность компьютерных систем привело к появлению новых аппаратных архитектур. Основным направлением развития вычислительной техники стало создание многопроцессорных систем. Такие системы могут содержать от двух и более центральных процессоров, при этом остальные ресурсы, такие как память, используются ими совместно.
Также может иметь смысл заглянуть на сайт tmo48.ru, ведь именно там можно узнать много нового на тему http://www.tmo48.ru/deka-septik.html. Тема биодека купить может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт tmo48.ru, и тема биодека купить начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема биодека купить очень подробно представлена на сайте tmo48.ru. Трудно найти более детальное освещение темы биодека купить чем это сделано на сайте tmo48.ru. Спасибо сайту tmo48.ru за такое доскональное преподнесение темы биодека купить.
Многопроцессорные технологии обладают некоторыми бесспорными преимуществами. Они позволяют гибко расширять объем ресурсов, используемых программой, которая может начать выполнение на одном процессоре и в дальнейшем, при увеличении объема производимых вычислений, использовать другие процессоры системы. Большинство вычислительных задач зависят, прежде всего, от производительности CPU. Для таких задач мощность процессора (или процессоров) является самым критичным параметром, в отличие от работы с шиной ввода-вывода или памятью, используемых менее интенсивно.
Применение многопроцессорных систем позволяет увеличивать вычислительные мощности без дублирования остальных ресурсов. Следовательно, такое решение для вычислительных задач является самым эффективным по себестоимости.
Многопроцессорные системы обладают повышенной надежностью: если на одном из процессоров произойдет сбой, система сможет продолжать работу дальше. Но, с другой стороны, многопроцессорные архитектуры таят в себе и определенные проблемы, связанные с большим количеством потенциально опасных точек сбоев. Чтобы гарантировать определенное количество среднего времени наработки на отказ (mean time before failure, MTBF), многопроцессорные системы должны разрабатываться на основе отказоустойчивого оборудования и программного обеспечения. В частности, многопроцессорные системы должны уметь восстанавливаться после сбоя одного из процессоров.
Теоретически производительность системы
Существуют различные операционные системы, созданные с учетом многопроцессорных архитектур. Одна из первых многопроцессорных реализаций UNIX работала на машинах AT&T ЗВ20А и IBM 370 [1]. На сегодняшний день большинство вариантов систем UNIX поддерживают многопроцессорную обработку изначально (DEC UNIX, Solaris 2.x), либо для этой цели имеются специализированные версии ОС (SVR4/MP, SCO/MPX).
Теоретически производительность системы должна увеличиваться пропорционально умножению числа процессоров. Однако в реальности все происходит немного иначе. На это существует несколько причин. Так как остальные компоненты системы не дублируются, именно они и становятся узким местом, тормозящим ее работу. Доступ к разделяемым структурам данных требует определенной синхронизации. Для многопроцессорных систем необходимо обеспечивать синхронизацию при помощи дополнительных средств, увеличивающих загрузку процессоров и уменьшающих тем самым общую производительность. Операционная система обязана по возможности уметь минимизировать такие перегрузки и оптимизировать использование ресурсов CPU.
Ядро традиционных вариантов UNIX разрабатывалось для однопроцессорных машин. Для того, чтобы такие системы работали на многопроцессорных архитектурах, требуется внести в дизайн их ядра значительные изменения. Необходимо заново переписать такие компоненты, как реализация синхронизации, параллельного выполнения задач и правил планирования. Синхронизация используется для управления доступом к разделяемым данным и ресурсам системы. Традиционный подход, основанный на приостановке и возобновлении работы процессов, совмещенный с блокировкой прерываний, является непригодным для многопроцессорных сред и должен быть заменен более производительными методиками.
Параллельность позволяет эффективно использовать объекты синхронизации для управления доступом к разделяемым ресурсам. Эта технология предлагает решения, позволяющие регулировать степень детализации и место блокировок, защищать от возникновения взаимоблокировок и т. д. Некоторые из перечисленных проблем будут описаны в разделе 7.10. Для оптимизации использования всех процессоров системы необходимо разработать новые правила планирования. Некоторые аспекты реализации планирования в многопроцессорных системах будут обсуждаться в разделе 7.4.
Эта статья базовым объектом диспетчеризации начинается с описания механизмов синхронизации традиционных систем UNIX и анализа их ограничений. Затем вы познакомитесь со многопроцессорными архитектурами. В конце главы приведено описание технологий синхронизации, применяемых в современных вариантах UNIX. Эти методы работают одинаково хорошо как на однопроцессорных, так и на многопроцессорных системах.
В традиционных вариантах UNIX базовым объектом диспетчеризации является процесс, который обладает единственным управляемой нитью. В главе 3 описывались современные системы UNIX, которые позволяют процессу иметь несколько нитей выполнения, поддерживаемых на уровне ядра. Многоните- вые системы существуют как для однопроцессорных, так и для многопроцессорных архитектур. В таких системах нити соревнуются за обладание разделяемыми ресурсами и блокируют их. В дальнейшем (до окончания главы) мы будем считать нить базовой единицей планирования. Для однонитевых систем нить является синонимом процесса.
Опубликовал katy
July 06 2015 16:12:12 ·
0 Комментариев ·
2859 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.