3.6. Кластеры рабочих станций
Кластеры рабочих станций представляют собой совокупность достаточно мощных
компьютеров (но все-таки не суперкомпьютеров), соединенных в локальную сеть, обычно,
в масштабе отдела, факультета или института. Такой кластер можно рассматривать как
некую вычислительную систему с распределенной памятью, распределенным
управлением и т.д. Действительно такие кластеры применяют для параллельных
вычислений и смысл здесь зачастую в том, что такая система может обладать неплохими
характеристиками по быстродействию, сравнимыми с показателями специализированных
суперкомпьютеров, но стоимость такой системы относительно невелика, ведь рабочие
станции уже существуют! Они закуплены и установлены и не всегда загружены работой,
так почему бы не превратить их в виртуальный (временный) вычислительный комплекс?
Еще одним из преимуществ такой гетерогенной вычислительной системы может быть то,
что отдельные части программы могут выполняться на наиболее подходящих для этого
компьютерах.
Для того, чтобы это сделать, необходимо решить ряд проблем. Прежде всего, следует
иметь в виду, что довольно часто в сеть объединяются компьютеры разных
фирмпроизводителей, имеющие разную архитектуру, работающие под управлением
разных операционных систем, имеющих разные файловые системы и т.д. То есть,
возникает проблема совместимости. Имеется и проблема доступа, так как для входа в
любой компьютер может потребоваться разрешение работать на нем. Может быть и так,
что время счета измеряется днями, а то и неделями, а некоторые из рабочих станций
кластера время от времени должны быть загружены своей собственной работой. То есть
особенно важным оказывается управление такой вычислительной системой, очень
динамичной и специфической. Некоторые из перечисленных проблем могут быть решены
административным образом, для решения других требуется специальное программное
обеспечение, реже специальная аппаратура, ведь оборудование уже есть, включая
процессоры и сети. В качестве примера приведем здесь систему управления
гетерогенными кластерами рабочих станций CONDOR. Эта система позволяет
пользователю сохранить за собой полный контроль за своей собственной рабочей
станцией и не требует от него наличия прав доступа к другим рабочим станциям. Она
также не требует создания специальных файловых систем и обеспечивает достаточно
гибкое управление процессом выполнения программ. Важно еще и то, что эта система
бесплатная. Другие примеры бесплатных систем такого рода DQS и PBS(разработка
НАСА). Коммерческие системы - CODINE, LoadLeveler (IBM) и некоторые другие.
4. Издержки и выигрыш при реализации параллельных и векторных вычислений
Если у Вас есть векторная ЭВМ с длиной векторного регистра 128 элементов или
параллельная ЭВМ с таким же числом процессоров, то теоретически Ваша программа
может быть выполнена в 128 раз быстрее, чем на аналогичной по быстродействию
однопроцессорной скалярной машине. Это предел, который обычно недоступен, но к
которому нужно стремиться. Во многих задачах применение векторных и параллельных
ЭВМ не только возможно, но и целесообразно. Выигрыш в быстродействии по
отношению к обычной ЭВМ может окупить финансовые затраты на аренду или покупку
суперЭВМ и трудовые затраты на написание и оптимизацию векторной или параллельной
версии программы.
В 3 главе речь пойдет о реально достижимом выигрыше в быстродействии программ и о
причинах, мешающих достичь наивысшей производительности.