Добавлен: 27.06.2023
Просмотров: 112
Скачиваний: 3
ВВЕДЕНИЕ
Учитывая прогрессивное развитие общества, информационных и аппаратных технологий, можно сказать, что информация постепенно превращается в ресурс, равноценный таким стратегическим ресурсам, как уже привычные материальные, временные, энергетические и другие ресурсы.
Закономерно, что в современном мире значительное влияние на успех индивида или какого-либо юридического лица оказывает степень владения навыками по получению, хранению, обработке и передаче информации и информационных ресурсов.
Тот факт, что мировое сообщество осознало роль информации как стратегический ресурс, стимулировал разработку новых информационных технологий для поиска и обработки большого объема данных, а также их хранения и возвращения пользователю. Так, на сегодняшний день наиболее распространенными являются сетевые информационные технологии.
Для того чтобы обеспечить бесперебойное и эффективное функционирование информационных технологий, необходимы постоянные улучшения и новые разработки в области аппаратных решений.
Таким образом, определяется цель исследования – изучение концепций аппаратных решений.
Для достижения поставленной цели необходимо выполнить следующие задачи:
- Рассмотреть понятие аппаратного решения;
- Привести концепции аппаратных решений;
- Проанализировать мультипроцессоры;
- Охарактеризовать мультикомпьютеры;
- Проанализировать гомогенные мультикомпьютерные системы;
- Рассмотреть гетерогенные мультикомпьютерные системы.
Объектом исследования выступают концепции аппаратных решений.
Теоретической базой исследования будут выступать работы таких исследователей проблемы, как Олифер В. Г., Олифер Н. А., Моримото Р., Ноэл М. и Сосински Б.
Структура работы состоит из двух глав, первая из которых включает два параграфа, а вторая – четыре. Кроме того, включены такие структурные элементы, как Содержание, Введение, Заключение и Список использованных источников.
Понятие концепций аппаратных решений
Понятие аппаратного решения
Сервер является компьютером, предназначенным для решения некоторого определенного перечня задач, среди которых – выполнение программных кодов, хранение информации и обслуживание пользователей и баз данных. Для осуществления эффективного функционирования данного списка задач применяется услуга Colocation, которая позволяет размещать сервера на специализированной оборудованной площадке с круглосуточной технической поддержкой, называемой Дата-Центром.
Благодаря серверу обеспечивается максимальная защищенность и безопасность выполняемых задач, а также их целостность. Сервер используется для реализации таких задач, как хранение файлов и веб-сайтов пользователей Интернета (хостинг), ответ на запросы и выдачи запрашиваемой информации, обработка и выполнение скриптов на веб-сайтах, работа с базой данных и большим количеством пользователей. Контроль над работой сервера возлагается на системного администратора[1].
Вопреки расхожему мнению, сервер далеко не обязательно должен быть применен для работы с сетью Интернет. Наиболее часто данная технология применяется в организациях для обеспечения целостности и эффективности работы локальных сетей и хранения информации в базах данных и информационных системах. При помощи сервера системным администратором может быть получена информация обо всех рабочих станциях и компьютерах, входящих в локальную сеть, может быть реализовано управление правами для авторизации и конфигурации системы.
В большинстве случаев сервер не является обычным персональным компьютером. Как правило, это рабочая станция, выполненная в виде мини-башни, хотя существуют различные конфигурации в зависимости от специализации. Серверы содержат один или несколько высокопроизводительных процессоров, большой объем оперативной памяти, RAID-массивы жестких дисков, блоки питания с возможностью автономного функционирования в случае сбоя электроэнергии. Корпус серверов имеет повышенную защиту от пыли и мощную систему охлаждения, а также защиту от случайного выключения.
Как правило, серверы расположены в отдельных помещениях. Данные помещения должны хорошо проветриваться и обеспечиваться поддержанием постоянной оптимальной температурой воздуха. Такие помещения называют серверными комнатами. Доступ в такие комнаты обычно имеют представители системной администрации или высшего менеджмента[2].
Крайней степенью специализации серверов выступают так называемые аппаратные решения (например, аппаратные роутеры, сетевые дисковые массивы, аппаратные терминалы и т. п.). Аппаратное обеспечение таких решений строится «с нуля» или перерабатывается из существующей компьютерной платформы без учёта совместимости, что делает невозможным использование устройства со стандартным программным обеспечением.
Программное обеспечение в аппаратных решениях загружается в постоянную и/или энергонезависимую память производителем.
Принято считать, что аппаратные решения являются более надежными в работе, чем серверы, но при этом они, как правило, менее гибкими и универсальными. В стоимостном отношении аппаратные решения могут выступать и как более доступные аналоги серверов, и как более дорогие. Все зависит от класса оборудования[3].
Приведение концепций аппаратных решений
Несмотря на то, что все распределенные информационные системы содержат по нескольку процессоров, существуют различные способы их организации в систему. В особенности это относится к вариантам их соединения и организации взаимного обмена.
Для простоты, все компьютеры в РИС можно разделить на две группы:
- Системы, в которых компьютеры используют совместно одну память, называются мультипроцессорами.
- Системы, в которых компьютеры работают каждый со своей памятью – мультикомпьютерами.
Основная разница между ними:
- мультипроцессоры имеют единое адресное пространство, которое используется всеми процессорами;
- в мультикомпьютерах каждая машина использует свою память (пример, обычная сеть компьютеров)[4].
Каждую из этих категорий можно подразделить на дополнительные категории на основе их физической топологии, например, шинная и коммутируемая (например, звезда и др.).
Мультикомпьютерные системы разделяют также на:
- гомогенные (homogeneous);
- и гетерогенные (heterogeneous).
В гомогенных используется одна компьютерная сеть, использующая:
- единую технологию,
- однотипные процессоры.
Такие системы часто используются в качестве параллельных компьютерных систем (как и мультипроцессорные). Пример –кластеры рабочих станций.
Гетерогенные системы содержат независимые компьютеры, соединенные разными сетями (например, могут состоять из нескольких локальных сетей, соединенных коммутируемой магистралью FDDI или ATM)[5].
Анализ концепций аппаратных решений
2.1 Мультипроцессоры
Мультипроцессорные системы обладают одной характерной особенностью: все процессоры имеют прямой доступ к общей памяти. Мультипроцессорные системы шинной архитектуры состоят из некоторого количества процессоров, подсоединенных к общей шине, а через нее — к модулям памяти. Простейшая конфигурация содержит плату с шиной или материнскую плату, в которую вставляются процессоры и модули памяти.
Поскольку используется единая память, когда процессор А записывает слово в память, а процессор В микросекундой позже считывает слово из памяти, процессор В получает информацию, записанную в память процессором А. Память, обладающая таким поведением, называется согласованной (coherent). Проблема такой схемы состоит в том, что в случае уже 4 или 5 процессоров шина оказывается стабильно перегруженной и производительность резко падает. Решение состоит в размещении между процессором и шиной высокоскоростной кэш-памяти (cache memory), как показано на рисунке 1. В кэше сохраняются данные, обращение к которым происходит наиболее часто. Все запросы к памяти происходят через кэш. Если запрошенные данные находятся в кэш-памяти, то на запрос процессора реагирует она и обращения к шине не выполняются. Если размер кэш-памяти достаточно велик, вероятность успеха, называемая также коэффициентом кэш-попаданий (hit rate), велика и шинный трафик в расчете на один процессор резко уменьшается, позволяя включить в систему значительно больше процессоров. Общепринятыми являются размеры кэша от 512 Кбайт до 1 Мбайт, коэффициент кэш-попаданий при этом обычно составляет 90 % и более[6].
Рисунок 1 Архитектура мультипроцессора
Однако введение кэша создает серьезные проблемы само по себе. Предположим, что два процессора, А и В, читают одно и то же слово в свой внутренний кэш. Затем А перезаписывает это слово. Когда процессор В в следующий раз захочет воспользоваться этим словом, он считает старое значение из своего кэша, а не новое значение, записанное процессором А. Память стала несогласованной, и программирование системы осложнилось. Кэширование, тем не менее, активно используется в распределенных системах, и здесь мы вновь сталкиваемся с проблемами несогласованной памяти[7].
Проблема мультипроцессорных систем шинной архитектуры состоит в их ограниченной масштабируемости, даже в случае использования кэша. Для построения мультипроцессорной системы с более чем 256 процессорами для соединения процессоров с памятью необходимы другие методы. Один из вариантов — разделить общую память на модули и связать их с процессорами через коммутирующую решетку (crossbar switch), как показано на рисунке 2. Как видно из рисунка, с ее помощью каждый процессор может быть связан с любым модулем памяти. Каждое пересечение представляет собой маленький электронный узловой коммутатор (crosspoint switch), который может открываться и закрываться аппаратно[8].
Когда процессор желает получить доступ к конкретному модулю памяти, соединяющие их узловые коммутаторы мгновенно открываются, организуя запрошенный доступ. Достоинство узловых коммутаторов в том, что к памяти могут одновременно обращаться несколько процессоров, хотя если два процессора одновременно хотят получить доступ к одному и тому же участку памяти, то одному из них придется подождать.
Рисунок 2 Схемы коммутаторов
Недостатком коммутирующей решетки является то, что при наличии n процессоров и n модулей памяти нам потребуется n2 узловых коммутаторов. Для больших значений n это число может превысить наши возможности. Обнаружив это, человечество стало искать и нашло альтернативные коммутирующие сети, требующие меньшего количества коммутаторов. Один из примеров таких сетей — омегасеть (omega network), представленная на рис. 2. Эта сеть содержит четыре коммутатора 2x2, то есть каждый из них имеет по два входа и два выхода. Каждый коммутатор может соединять любой вход с любым выходом. Если внимательно изучить возможные положения коммутаторов, становится ясно, что любой процессор может получить доступ к любому блоку памяти. Недостаток коммутирующих сетей состоит в том, что сигнал, идущий от процессора к памяти или обратно, вынужден проходить через несколько коммутаторов. Поэтому, чтобы снизить задержки между процессором и памятью, коммутаторы должны иметь очень высокое быстродействие, а дешево это не дается[9].
Люди пытаются уменьшить затраты на коммутацию путем перехода к иерархическим системам. В этом случае с каждым процессором ассоциируется некоторая область памяти. Каждый процессор может быстро получить доступ к своей области памяти. Доступ к другой области памяти происходит значительно медленнее. Эта идея была реализована в машине с неунифицированным доступом к памяти (NonUniform Memory Access, NUMA). Хотя машины NUMA имеют лучшее среднее время доступа к памяти, чем машины на базе омегасетей, у них есть свои проблемы, связанные с тем, что размещение программ и данных необходимо производить так, чтобы большая часть обращений шла к локальной памяти.
Системы NUMA состоят из однородных базовых узлов, содержащих небольшое число процессоров с модулями основной памяти[10].
Практически все архитектуры ЦПУ используют небольшое количество очень быстрой неразделяемой памяти, известной как кеш, который ускоряет обращение к часто требуемым данным. В NUMA поддержка когерентности через разделяемую память даёт существенное преимущество в производительности.