Добавлен: 30.06.2023
Просмотров: 85
Скачиваний: 2
Введение
Современная эпоха характеризуется стремительным процессом информатизации общества. Это сильней всего проявляется в росте пропускной способности и гибкости информационных сетей. Использование локальных вычислительных сетей в различных сферах человеческой деятельности становится повсеместным. Благодаря сервису, предоставляемому современными ЛВС, в организациях появилась уникальная возможность упорядочить и эффективно организовать собственный документооборот, повышая тем самым общую эффективность труда.
Как известно, все параметры, влияющие на работу организации, взаимосвязаны. Применение ЭВМ может привести к изменению структуры организации. Динамика развития компьютерной индустрии очень высока.
В связи с этим возникла необходимость в создании и развитии сетей для соединения компьютеров и обмена информацией между ними. Таким образом, вычислительные сети явились результатом эволюции компьютерных технологий. Они стали представлять собой совокупность компьютеров, соединенных линиями связи. Линии связи образованы кабелями, сетевыми адаптерами и другими коммуникационными устройствами. При этом всё сетевое оборудование работает под управлением системного и прикладного программного обеспечения.
Объектом исследования является компьютерная сеть адвокатской конторы.
Предметом исследования является применение концепции аппаратных решений.
Цель работы – применить концепцию аппаратных решений для адвокатской конторы.
Для выполнения работы следует выполнить следующие задачи:
- дать характеристику концепций аппаратных решений;
- дать характеристику объекта исследования, его организационной структуры;
- выбрать оборудование для проектирования сети: точки доступа, коммутаторы, маршрутизаторы, сервера и т.д.
Методами исследований являются методы проектирования сети, методы моделирования сетей, сравнительный метод.
Несмотря на то, что все распределенные системы содержат по нескольку процессоров, существуют различные способы их организации в систему. В особенности это относится к вариантам их соединения и организации взаимного обмена. Рассмотрим аппаратное обеспечение распределенных систем, в частности варианты соединения машин между собой.
Будем рассматривать системы, построенные из набора независимых компьютеров. На рис. 1 все компьютеры разделены на две группы. Системы, в которых компьютеры используют память совместно, обычно называются мультипроцессорами (multiprocessors), а работающие каждый со своей памятью — мультикомпьютерами (mullicomputers). Основная разница между ними состоит в том, что мультипроцессоры имеют единое адресное пространство, совместно используемое всеми процессорами. Если один из процессоров записывает, например, значение 44 по адресу 1000, любой другой процессор, который после этого прочтет значение, лежащее по адресу 1000, получит 44. Все машины задействуют одну и ту же память.
В отличие от таких машин в мультикомпыотерах каждая машина использует свою собственную память. После того как один процессор запишет значение 44 по адресу 1000, другой процессор, прочитав значение, лежащее по адресу 1000, получит то значение, которое хранилось там раньше. Запись по этому адресу значения 44 другим процессором никак не скажется на содержимом его памяти. Типичный пример мультикомпьютера — несколько персональных компьютеров, объединенных в сеть.
Каждая из этих категорий может быть подразделена на дополнительные категории на основе архитектуры соединяющей их сети. На рис. 1 эти две архитектуры обозначены как шинная (bus) и коммутируемая (switched). Под шиной понимается одиночная сеть, плата, шина, кабель или другая среда, соединяющая ее машины между собой. Подобную схему использует кабельное телевидение: кабельная компания протягивает вдоль улицы кабель, а всем подписчикам делаются отводки от основного кабеля к их телевизорам.
Рис. 1. Различные базовые архитектуры процессоров и памяти распределенных компьютерных систем
Коммутируемые системы, в отличие от шинных, не имеют единой магистрали, такой как у кабельного телевидения. Вместо нее от машины к машине тянутся отдельные каналы, выполненные с применением различных технологий связи. Сообщения передаются по каналам с принятием явного решения о коммутации с конкретным выходным каналом для каждого из них. Так организована глобальная телефонная сеть.
Мы проведем также разделение распределенных компьютерных систем на гомогенные (homogeneous) и гетерогенные {heterogeneous). Это разделение применяется исключительно к мультикомпьютерным системам. Для гомогенных мультикомпьютерных систем характерна одна соединяющая компьютеры сеть, использующая единую технологию. Одинаковы также и все процессоры, которые в основном имеют доступ к одинаковым объемам собственной памяти. Гомогенные мультикомпьютерные системы нередко используются в качестве параллельных (работающих с одной задачей), в точности как мультипроцессорные.
В отличие от них гетерогенные мультикомпьютерные системы могут содержать целую гамму независимых компьютеров, соединенных разнообразными сетями. Так, например, распределенная компьютерная система может быть построена из нескольких локальных компьютерных сетей, соединенных коммутируемой магистралью FDDI или ATM.
В следующих трех пунктах рассмотрим мультипроцессорные, а также гомогенные и гетерогенные мультикомпьютерные системы. Эти вопросы не связаны напрямую с распределенными системами, однако они помогают лучше их понять, поскольку организация распределенных систем часто зависит от входящей с их состав аппаратуры.
Мультипроцессоры
Мультипроцессорные системы обладают характерной особенностью: все процессоры имеют прямой доступ к общей памяти. Мультипроцессорные системы шинной архитектуры состоят из некоторого количества процессоров, подсоединенных к общей шине, а через нее — к модулям памяти. Простейшая конфигурация содержит плату с шиной или материнскую плату, в которую вставляются процессоры и модули памяти.
Поскольку используется единая память, когда процессор А записывает слово в память, а процессор В микросекундой позже считывает слово из памяти, процессор В получает информацию, записанную в память процессором А. Память, обладающая таким поведением, называется согласованной (coherent). Проблема данной схемы состоит в том, что в случае 4 или 5 процессоров шина оказывается стабильно перегруженной и производительность резко падает. Решение состоит в размещении между процессором и шиной высокоскоростной кэш-памяти (cache memory), как показано на рис. 2. В кэше сохраняются данные, обращение к которым происходит наиболее часто. Все запросы к памяти происходят через кэш. Если запрошенные данные находятся в кэш-памяти, то на запрос процессора реагирует она и обращения к шине не выполняются. Если размер кэш-памяти достаточно велик, вероятность успеха, называемая также коэффициентом кэш-попаданий (hit rate), велика и шинный трафик в расчете на один процессор резко уменьшается, позволяя включить в систему значительно больше процессоров. Общепринятыми являются размеры кэша от 512 Кбайт до 1 Мбайт, коэффициент кэш-попаданий при этом обычно составляет 90 % и более.
Рис. 2. Мультипроцессорная система с шинной архитектурой
Однако введение кэша создает серьезные проблемы само по себе. Пусть два процессора, А и В, читают одно и то же слово в свой внутренний кэш. Затем А перезаписывает это слово. Когда процессор В захочет воспользоваться этим словом, он считает старое значение из своего кэша, а не новое значение, записанное процессором А. Память стала несогласованной, и программирование системы осложнилось. Кэширование тем не менее активно используется в распределенных системах, здесь также сталкиваются с проблемами несогласованной памяти
Проблема мультипроцессорных систем шинной архитектуры состоит в их ограниченной масштабируемости, даже в случае использования кэша. Для построения мультипроцессорной системы с более чем 256 процессорами для соединения процессоров с памятью необходимы другие методы. Один из вариантов - разделить общую память на модули и связать их с процессорами через коммутирующую решетку (crossbar switch), как показано на рис. 3, а. Как видно из рисунка, с ее помощью каждый процессор может быть связан с любым модулем памяти. Каждое пересечение представляет собой маленький электронный узловой коммутатор (crosspoint switch), который может открываться и закрываться аппаратно. Когда процессор желает получить доступ к конкретному модулю памяти, соединяющие их узловые коммутаторы открываются, организуя запрошенный доступ. Достоинство узловых коммутаторов в том, что к памяти могут одновременно обращаться несколько процессоров, хотя если два процессора одновременно хотят получить доступ к одному и тому же участку памяти, то одному из них придется подождать.
Рис. 3. Коммутирующая решетка (а). Коммутирующая омега-сеть (б)
Недостатком коммутирующей решетки является то, что при наличии п процессоров и п модулей памяти потребуется п2 узловых коммутаторов. Для больших значений п это число может превысить возможности. Поэтому были найдены альтернативные коммутирующие сети, требующие меньшего количества коммутаторов. Один из примеров таких сетей — омега-сеть (omega network), представленная на рис. 3, б. Эта сеть содержит четыре коммутатора 2x2, то есть каждый из них имеет по два входа и два выхода. Каждый коммутатор может соединять любой вход с любым выходом. Если внимательно изучить возможные положения коммутаторов, становится ясно, что любой процессор может получить доступ к любому блоку памяти. Недостаток коммутирующих сетей состоит в том, что сигнал, идущий от процессора к памяти или обратно, вынужден проходить через несколько коммутаторов. Поэтому, чтобы снизить задержки между процессором и памятью, коммутаторы должны иметь очень высокое быстродействие.
Пытаются уменьшить затраты на коммутацию путем перехода к иерархическим системам. В этом случае с каждым процессором ассоциируется некоторая область памяти. Каждый процессор может быстро получить доступ к своей области памяти. Доступ к другой области памяти происходит значительно медленнее. Эта идея была реализована в машине с неунифицировапиым доступом к памяти (NonUniform Memory Access, NUMA). Хотя машины NUMA имеют лучшее среднее время доступа к памяти, чем машины на базе омега-сетей, у них есть свои проблемы, связанные с тем, что размещение программ и данных необходимо производить так, чтобы большая часть обращений шла к локальной памяти.
Гомогенные мультикомпьютерные системы
В отличие от мультипроцессоров построить мультикомпыотерную систему относительно несложно. Каждый процессор напрямую связан со своей локальной памятью. Единственная оставшаяся проблема — это общение процессоров между собой. Необходима схема соединения, но поскольку интересна только связь между процессорами, объем трафика будет на несколько порядков ниже, чем при использовании сети для поддержания трафика между процессорами и памятью.
Рассмотрим гомогенные мультикомпьютерные системы. В этих системах, известных под названием системных сетей (System Area Networks, SAN), узлы монтируются в большой стойке и соединяются единой, обычно высокоскоростной сетью. Как и в предыдущем случае, необходимо выбирать между системами на основе шинной архитектуры и системами на основе коммутации.
В мультикомпьютерных системах с шинной архитектурой процессоры соединяются при помощи разделяемой сети множественного доступа, например Fast Ethernet. Скорость передачи данных в сети обычно равна 100 Мбит/с. Как и в случае мультипроцессоров с шинной архитектурой, мультикомпьютерные системы с шинной архитектурой имеют ограниченную масштабируемость. В зависимости от того, сколько узлов в действительности нуждаются в обмене данными, обычно не следует ожидать высокой производительности при превышении системой предела в 25-100 узлов.
В коммутируемых мультикомпьютерных системах сообщения, передаваемые от процессора к процессору, маршрутизируются в соединительной сети в отличие от принятых в шинной архитектуре широковещательных рассылок. Было предложено и построено множество различных топологий. Две популярные топологии — квадратные решетки и гиперкубы — представлены на рис. 4. Решетки просты для понимания и удобны для разработки на их основе печатных плат. Они прекрасно подходят для решения двухмерных задач, например задач теории графов или компьютерного зрения (глаза робота, анализ фотографий).
Рис. 4. Решетка (а). Гиперкуб (б)
Гиперкуб (hypercube) представляет собой куб размерности п. Гиперкуб, показанный на рис. 4, б, четырехмерен. Его можно представить в виде двух обычных кубов, с 8 вершинами и 12 ребрами каждый. Каждая вершина — это процессор. Каждое ребро — это связь между двумя процессорами. Соответствующие вершины обоих кубов соединены между собой. Для расширения гиперкуба в пятое измерение мы должны добавить к этой фигуре еще один комплект из двух связанных кубов, соединив соответствующие вершины двух половинок фигуры. Таким же образом можно создать шестимерный куб, семимерный и т. д.
Коммутируемые мультикомпьютерные системы могут быть очень разнообразны. На одном конце спектра лежат процессоры с массовым параллелизмом (Massively Parallel Processors, МРР), гигантские суперкомпьютеры стоимостью во много миллионов долларов, содержащие тысячи процессоров. Нередко они собираются из тех же процессоров, которые используются в рабочих станциях или персональных компьютерах. От других мультикомпьютерных систем их отличает наличие патентованных высокоскоростных соединительных сетей. Эти сети проектируются в расчете на малое время задержки и высокую пропускную способность. Кроме того, предпринимаются специальные меры для защиты системы от сбоев. При наличии тысяч процессоров каждую неделю несколько будут выходить из строя. Нельзя допустить, чтобы поломка одного из них приводила к выводу из строя всей машины.