Поставщики Unix тоже здесь не новички, но их присутствие было не столь ощутимо.
Если и есть человек, по-настоящему разбирающийся в вопросах, связанных с технологиями кластеризации, то это, несомненно, Грег Пападопулос, один из руководителей компании Sun Microsystems Computer. В своих многочисленных интервью Пападопулос пропагандировал свои взгляды на ситуацию в этом сегменте рынка с его постоянно растущей конкуренцией. Пападопулос входит в число основателей трех компаний, в том числе PictureTel; преподавал в Массачусетском Технологическом Институте и являлся старшим конструктором компании Thinking Machines.
Как вы связываете SMP и кластеризацию с приложениями и масштабируемостью?
Если вы хотите расширить вычислительные ресурсы (процессорную мощность, память, ввод/вывод) применительно к приложениям, то для этого есть две возможности: SMP или кластеризация/массивная параллельная обработка (MPP). Я объединяю кластеризацию и MPP, поскольку до известной степени они представляют собой одну и ту же логическую архитектуру. Считаю, что SMP - это более простая модель параллельной обработки как для разработчика приложений, так и для администратора, поскольку она построена на фундаментальной аппаратной посылке о том, что любой процессор должен иметь возможность эффективно обращаться к любому сегменту памяти или диску. При использовании кластеризации/MPP, разработчика и администратора должно беспокоить изначальное отсутствие единообразия конструкций аппаратного обеспечения; только небольшая часть памяти и диска доступна процессору, а коммуникации с удаленной памятью и диском стоят значительно дороже.
Что нужно для оптимизации сетевых операционных систем и приложений к SMP-компьютерам? Можно ли считать ее простым способом обеспечения многопоточности или существуют другие области, где сетевая операционная система или приложение будут настраиваться таким образом, чтобы получить более высокий уровень производительности?
Многопоточность - это реальная возможность обеспечить одному приложению масштабируемость на SMP-машине. Модифицируя приложение для асинхронного ввода/вывода, используя потоки на уровне ядра, можно добиться значительного повышения его производительности. Это простой прием для параллельного ввода/вывода.
Является ли SMP шагом к кластеризации, или для большинства пользователей это в основном вынужденное решение?
SMP - это первый и важнейший шаг к кластеризации. Для максимального увеличения производительности приложения мы рекомендовали бы использовать именно SMP. Так, кластер из двух больших SMP может быть идеальным и в то же время легко реализуемым решением для достижения высокой производительности. Масштабирование способствует увеличению производительности и распространяет достигнутый показатель на вторую, третью, четвертую машины и так далее. Поэтому даже если производительность является приоритетной категорией, не надо отказываться от масштабирования.
Это можно представить себе в виде двух регуляторов, которые обеспечивают компьютеры с SMP. При помощи "регулятора" SMP масштабируется размер узла, а при помощи "регулятора" кластера - число узлов. Что касается проблемы в целом, то должно быть ясно, что лучшей методикой для разработчика, администратора и пользователя мы считаем последовательную настройку, - сначала при помощи SMP, а затем, по мере потребности в дополнительной производительности и/или в зависимости от наличия необходимых аппаратных компонентов, увеличение числа узлов в кластере.
А с технологической точки зрения, имеют ли поставщики RISC/Unix преимущество перед поставщиками Intel/Windows, если учесть их опыт использования SMP?
Дело обстоит следующим образом: машины SMP труднее создавать, но на них проще вести разработки и развертывать приложения. Кластеры/MPP-машины создавать проще, но работать с ними труднее. Ценность SMP-машины и масштабируемости в том, что им по зубам самые трудные задачи.
Как вы думаете, способны ли компьютеры с процессорами Pentium Pro и операционной системой WinNT на равных конкурировать с кластерами?
Да, системы с процессорами P6 - это просто более эффективная четырехпроцессорная реализация. Так, у сообщества P6/NT нет выбора, кроме кластеризации машин в попытке масштабировать системы. Предположим, вам нужна система с 1000 дисками, 100 процессорами и памятью емкостью 20 Гбайт. У вас есть возможность выбрать из двух конфигураций: а) 25 четырехпроцессорных систем, каждая с 40 дисками и оперативной памятью емкостью 20 Гбайт, или б) четыре 25-процессорные системы, каждая с 250 дисками и оперативной памятью 5 Гбайт. Что вы предпочтете? Почти наверняка вариант б). Эту систему гораздо проще разработать и администрировать. Большие SMP машины более предпочтительны, поскольку они проще в разработке, развертывании и поддержке по сравнению с кластером аналогичного размера, состоящим из небольших узлов. Поставщикам систем Intel/NT предстоит немало потрудиться для того, чтобы подобного рода обыденное масштабирование стало такой же привычной работой, как и для хорошо спроектированных SMP-машин с Unix.
Такие вот кластеры
"Поучительный пример"
(Из журнала
"LAN Magazine/Русское Издание")
AAC Branch Cluster для рабочих станций NASA Ames имеет следующие характеристики:
l В настоящее время кластер объединяет 32 системы Indigo и Indigo2, а также 2 системы HP 755.
l Четырнадцать из них имеют процессоры R4400/75 МГц и память емкостью 128 Мбайт, а восемнадцать - процессоры R4000/50 МГц и память объемом 96 Мбайт. Системы HP оснащены процессорами PA-RISC/99 МГц и памятью емкостью 128 Мбайт.
l Связь между компьютерами осуществляется через простой или коммутируемый Ethernet.
l Имеющиеся в кластере машины в первую очередь обычно используются для вычислений и визуализации.
l Обслуживание кластеров проводятся с 7 часов вечера до 5 часов утра, включая субботы и воскресенья. Программное обеспечение, поддерживающее очереди заданий, не используется (применяются электронные таблицы, в которых перечислены задания).
l В качестве программного обеспечения предлагается PVM 3.3.4.