Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Modernizatsia_PK_i_serverov_v_ramkakh_odnoy_pla...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
171 Кб
Скачать
☆

Кластерные архитектуры

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

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

В последние годы в литературе по вычислительной технике все чаще употребляется термин "системы высокой готовности" (High Availability Systems). Все типы систем высокой готовности имеют общую цель - минимизацию времени простоя. Имеется два типа времени простоя компьютера: плановое и неплановое. Минимизация каждого из них требует различной стратегии и технологии. Плановое время простоя обычно включает время, принятое руководством, для проведения работ по модернизации системы и для ее обслуживания. Неплановое время простоя является результатом отказа системы или компонента. Хотя системы высокой готовности возможно больше ассоциируются с минимизацией неплановых простоев, они оказываются также полезными для уменьшения планового времени простоя.

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

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

VAX-кластер обладает следующими свойствами:

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

Высокая готовность. Если происходит отказ одного из VAX-компьютеров, задания его пользователей автоматически могут быть перенесены на другой компьютер кластера. Если в системе имеется несколько контроллеров внешних накопителей и один из них отказывает, другие контроллеры автоматически подхватывают его работу.

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

Удобство обслуживания системы. Общие базы данных могут обслуживаться с единственного места. Прикладные программы могут инсталлироваться только однажды на общих дисках кластера и разделяться между всеми компьютерами кластера.

Расширяемость. Увеличение вычислительной мощности кластера достигается подключением к нему дополнительных VAX-компьютеров. Дополнительные накопители на магнитных дисках и магнитных лентах становятся доступными для всех компьютеров, входящих в кластер.

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

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

  • Симметричная многопроцессорная архитектура с общей памятью (Shared Memory SMP Architecture). Эта архитектура поддерживает единую базу данных, работающую на многопроцессорном сервере под управлением одной операционной системы. Увеличение производительности таких систем обеспечивается наращиванием числа процессоров, устройств оперативной и внешней памяти.

  • Архитектура с общими (разделяемыми) дисками (Shared Disk Architecture). Это типичный случай построения кластерной системы. Эта архитектура поддерживает единую базу данных при работе с несколькими компьютерами, объединенными в кластер (обычно такие компьютеры называются узлами кластера), каждый из которых работает под управлением своей копии операционной системы. В таких системах все узлы разделяют доступ к общим дискам, на которых собственно и располагается единая база данных. Производительность таких систем может увеличиваться как путем наращивания числа процессоров и объемов оперативной памяти в каждом узле кластера, так и посредством увеличения количества самих узлов.

  • Архитектура без разделения ресурсов (Shared Nothing Architecture). Как и в архитектуре с общими дисками, в этой архитектуре поддерживается единый образ базы данных при работе с несколькими компьютерами, работающими под управлением своих копий операционной системы. Однако в этой архитектуре каждый узел системы имеет собственную оперативную память и собственные диски, которые не разделяются между отдельными узлами системы. Практически в таких системах разделяется только общий коммуникационный канал между узлами системы. Производительность таких систем может увеличиваться путем добавления процессоров, объемов оперативной и внешней (дисковой) памяти в каждом узле, а также путем наращивания количества таких узлов.

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

Параллельные базы данных находят широкое применение в системах обработки транзакций в режиме on-line, системах поддержки принятия решений и часто используются при работе с критически важными для работы предприятий и организаций приложениями, которые эксплуатируются по 24 часа в сутки.

Возможности модернизации ПК и серверов в рамках платформы.

Серверные платформы RISC/UNIX

История проекта Alpha Говоря о RISC/UNIX-платформах, нельзя не вспомнить проект Alpha. В 1989 году компания Digital Equipment Corporation. (DEC), подталкиваемая моральным старением собственной VAX-архитектуры и стремительным натиском перспективных RISC-платформ, принялась за создание инновационной 64-разрядной RISC-архитектуры, ориентированной на максимально возможную совместимость с системами VAX, чтобы облегчить перенос операционной системы VAX/VMS и всего наработанного за предыдущие годы сопутствующего ПО на новую, более производительную и гибкую аппаратную среду.

Первые более или менее подробные сведения об архитектуре Alpha относятся к 1992 г. Тогда же было оговорено, что термин Alpha — это кодовое наименование, и к моменту выпуска первых процессоров оно будет заменено официальным. Согласно анонсам, новая платформа имела 64-разрядную RISC-архитектуру с инструкциями фиксированной (32 бита) длины. Подробнее о процессорах Alpha можно прочитать в разделе «Процессоры».

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

Первый процессор из семейства Alpha имел индексное обозначение 21064, где часть 21 указывала на то, что Alpha — архитектура XXI века, 0 означал порядковый номер процессорного поколения, а 64 — разрядность архитектуры в битах. Кроме того, ему присвоили кодовое наименование EV4, которое по одной из не подтвержденных официально версий является аббревиатурой «Extended VAX». Цифра 4 на конце означает поколение технологического процесса, в данном случае это CMOS4. Интересно, что в дальнейшем кодовое название стало даже более распространенным, чем официальные индексы, и поколения процессоров семейства Alpha определяются и отсчитываются именно по нему.

Первые наборы системных микросхем для поколения EV4 были рассчитаны на использование периферийных шин TURBOchannel, FutureBus+ и XMI; однако, несмотря на техническое совершенство, они не получили широкого распространения из-за небольшого количества совместимого оборудования. В начале 1994 г. был представлен набор системных микросхем DEC Apecs в вариантах с 64- и 128-разрядной шиной данных, ориентированный на стандартные шинные архитектуры PCI и ISA/EISA, при этом работа с шинами ISA и EISA была реализована посредством внешних стандартных мостов.

Разработка реальных продуктов на базе архитектуры Alpha нисколько не отставала от процесса совершенствования ее самой — уже в ноябре 1992 г. на базе процессора EV4 с тактовой частотой 150 МГц и соответствующего системного окружения была построена первая рабочая станция архитектуры Alpha — DEC 3000 Model 500 АХР (кодовое наименование Flamingo).

Для поколения EV5 был разработан НМС DEC А1соr со следующими параметрами: частота системной шины 33 МГц, использование до 64 Мбайт внешней кэш-памяти и до 8 Гбайт оперативной памяти FPM ЕСС (при разрядности шины памяти 256 бит), совместимость с 64-разрядной 33-МГц шиной PCI. Работа с шинами ISA/EISA, как и прежде, была реализована посредством внешнего контроллера. Дисковый контроллер стандарта IDE отсутствовал, однако была предусмотрена возможность интеграции отдельной микросхемы независимых изготовителей. Одновременно с запуском в производство EV56 была выпущена модификация Alcor, поддерживающая BWX, — Alcor 2. В дальнейшем появился НМС Pyxis, обеспечивший работу с системной шиной на частоте 66 МГц и использование 66-МГц оперативной памяти SDRAM ЕСС (при разрядности шины памяти в 128 бит).

Для процессоров серии 21264 (EV6) было спроектировано два набора системных микросхем — DEC Tsunami (известных также как Typhoon) и AMD Irongate или AMD-751. Решение корпорации DEC было направлено на повышение масштабируемости платформы Alpha: на основе Tsunami проектировали однопроцессорные, двухпроцессорные и четырехпроцессорные системы с разрядностью шины памяти от 128 до 512 бит. В качестве ОЗУ использовались модули регистровой памяти SDRAM с ЕСС-коррекцией, работающие на частоте 83 МГц. НМС DEC Tsunami обеспечивал работу сразу нескольких 64-разрядных 33-МГц шин PCI. Гибкость построения конечных систем достигалась благодаря разделению НМС на множество обособленных компонентов. В распоряжении разработчиков находились контроллеры системной шины — C-chips (по одному на каждый процессор), контроллеры шины памяти — D-chips (по одному на каждые 64 разряда шины) и контроллеры шины PCI — P-chips (по одному на каждую требуемую шину). Впрочем, подобный подход имел и некоторые недостатки — в некоторых системах, например AlphaPC 264DP, совокупное число используемых микросхем доходило до 12, что отрицательно сказывалось на их конечной стоимости. НМС AMD Irongate разрабатывался изначально как «северный мост» для системных плат под процессоры Athlon, однако его также использовали в некоторых решениях для семейства Alpha — например UP1000 и UP 1100. Irongate представлял собой одну-единственную микросхему, а потому стоил намного дешевле DEC Tsunami, а, кроме того, обладал более низким энергопотреблением. Однако из-за отсутствия многопроцессорности и узкой шины памяти он не позволял серьезно раскрыться потенциалу процессоров семейства 21264.

1998 г. ознаменовался для платформы Alpha серьезными событиями, сулившими неплохое будущее — в феврале 1998 г. между DEC и Samsung было заключено соглашение, которое предоставляло последней доступ ко всем патентам по архитектуре Alpha, а также позволяло выпускать уже разработанные DEC модели и даже создавать собственные, а в июне 1998 г. уже Compaq, поглотившая к тому времени DEC, совместно с Samsung организовали альянс по развитию архитектуры Alpha. Среди прочих мер была учреждена дочерняя компания Alpha Processor Inc. (API), занявшаяся маркетинговыми вопросами и продвижением архитектуры. Летом 1998 г. началось массовое производство систем на базе EV6. Помимо Samsung, по условиям договора с DEC, процессоры EV6 производились и на мощностях корпорации Intel.

Однако процесс интеграции подразделений DEC в структуры Compaq привел к тому, что уже через полгода DEC окончательно прекратила свое существование. С этого момента фактически и начинается закат платформы Alpha.

Со времен независимости DEC платформа Alpha как открытая архитектура была ориентирована на использование целого ряда операционных систем. Речь прежде всего идет о Microsoft Windows NT, Digital UNIX (также известной как DEC OSF/l, и позднее, как Compaq Tru64 UNIX) и OpenVMS, причем приоритеты были расставлены именно в таком порядке. Кроме этих систем, на Alpha были портированы ОС независимых поставщиков и некоммерческие ОС, такие, как Linux и BSD всех разновидностей, однако никакой поддержки с официальной стороны они не получили и использовались крайне незначительно.

Среди всех известных RISC-платформ Alpha, пожалуй, единственная, которая была способна реально работать с Windows NT, ибо еще в 1997 г. корпорация Microsoft свернула поддержку архитектур PowerPC и MIPS. Однако количество приложений для Alpha было во много раз меньше, чем для х86. Частично ситуацию помогал исправить эмулятор и транслятор кода х86 в код Alpha, именуемый FX132 и выпущенный в 1996 г. Однако его использование снижало производительность систем на 40% и больше по сравнению с изначально откомпилированными под Alpha приложениями. Нерешенной ос тавалась и проблема драйверов для периферийных устройств: транслятор FXI32, естественно, оказался неприменим, а очень многие производители сочли разработку драйверов для Alpha нецелесообразной, так что заказчикам приходилось рассчитывать в основном на Microsoft и DEC. И, наконец, самый важный момент, характеризующий ошибочность выбранной DEC системы приоритетов: даже работая на 64-разрядной архитектуре Alpha, Windows NT оставалась 32-разрядной и не могла полностью раскрыть заложенный в аппаратуру потенциал.

Согласно статистике Compaq, среди всех предустановленных на Alpha-системах ОС 60% принадлежало Tru64 UNIX, 35% — OpenVMS, а на долю Windows NT приходилось около 5%. Очевидно, что дальнейшие работы над этой ОС были бессмысленны. Учитывая сложившуюся ситуацию, 23 августа 1999 г. Compaq отказалась от участия в развитии Windows NT и прекратила поставлять ее со своими Alpha-системами. Неделю спустя Microsoft объявила, что прекращает работу над портированием Windows 2000 на платформу Alpha.

В декабре 1999 г. компании Compaq и Samsung подписали меморандум о намерении инвестировать 500 млн. долл. США в развитие архитектуры Alpha: Samsung — 200 млн. на отладку новых технологических процессов, a Compaq — 300 млн. на проектирование новых серверных решений и на дальнейшее развитие Тru64 UNIX. В том же месяце Compaq и IBM оформили соглашение, по которому последняя будет изготавливать процессоры Alpha по своей технологии на медных проводниках, но Samsung останется основным поставщиком процессоров Alpha. Однако в 2000 г. Samsung не успела наладить 180-нм процесс, и рынок был вынужден довольствоваться процессорами EV67 и небольшими вкраплениями EV68C. В начале 2001 г. она все же организовала массовый выпуск процессоров EV68A, однако момент был упущен — Compaq уже планировала переориентировать производство систем AlphaServer GS-класса, а также развернуть модернизацию используемых систем с применением процессора EV68C, поставляемого IBM.

25 июня 2001 г. произошло историческое событие, поставившее окончательную точку на будущем платформы Alpha: корпорация Compaq объявила о планах поэтапного перевода к началу 2004 г. всех своих серверных решений на архитектуру IA-64. Результатом этого объявления стало немедленное прекращение работ над поколением EV8. EV7 стало финалом многолетней деятельности подразделения Alpha Microprocessor Division — после официального объявления о начале производства процессоров, намеченного на начало 2002 г., оно подлежало расформированию, а костяк инженеров планировалось перевести на работу в компанию Intel. Выдержав непродолжительную паузу, Samsung и IBM прекратили производство процессоров Alpha на своих мощностях. 21 октября 2001 г. компания API, переименованная на тот момент в API Networks, передала все полномочия по поддержке Alpha-систем компании Microway — крупнейшему после Compaq сборщику рабочих станций и серверов на архитектуре Alpha и старому партнеру DEC.

На этом по логике вещей история должна была бы закончиться, однако 3 сентября 2001 г. компания HP объявила о планах по слиянию с Compaq, которые в итоге отсрочили закат платформы Alpha на десятилетие. Вопреки ожиданиям, Hewlett-Packard не только не свернула поддержку Alpha-систем, но и взяла на себя труд по выпуску процессоров и дальнейшему развитию поколения EV7, хотя и в ограниченном объеме.

В августе 2004 г. в производство была запущена последняя модификация архитектуры Alpha — процессор с кодовым именем EV7z, работающий на частоте 1,3 ГГц и изготавливаемый с применением 180-нм проектных норм. По архитектуре он не отличался от прародителя EV7.

В специальном меморандуме, вышедшем в момент объявления EV7z, было заявлено, что никаких иных воплощений архитектуры Alpha больше не будет, однако серверы и рабочие станции, созданные на ее базе, останутся доступными под маркой HP до 2006 г., а их техническое обслуживание продлится до 2011 г.

Несостоявшееся поколение EV8 (процессоры с индексом 21464) должно было стать дальнейшим развитием идей, заложенных в EV7- Предполагалось вдвое увеличить количество основных функциональных устройств, доведя число целочисленных конвейеров до восьми, а вещественных — до четырех, расширить объем кэш-памяти до 3 Мбайт, реализовать многопоточную обработку данных с использованием технологии SMT (Simultaneous Multi-Threading), которая должна была позволить одновременное выполнение до четырех программных потоков внутри одного ядра. Однако этим планам не суждено было реализоваться — EV8 никогда не увидит свет. Впрочем, история платформы Alpha на этом не обрывается — значительное количество технических специалистов перекочевало из подразделения Alpha Microprocessor Division в компанию AMD, хорошо известную на рынке систем с архитектурой х86. Там, используя свой опыт, знания и наработки, они занимались проектированием успешной платформы AMD64, во многом наследующей идеи проекта Alpha.