Kuznetsov Alexey, 19 September 2005.
Здесь будет дано описание системы T-Grid на предмет её возможностей и применимости в проекте Test Grid.

Место системы в реальном мире: Система распределенных вычислений, основанная на технологии виртуальных машин


Общие сведения
Данная система разработана в России.

Входным языком Т-системы является Т++ - диалект С++, полученный добавлением в C++ семи ключевых слов.

Сравните: при традиционном подходе к параллельному представлению процесса программист должен изучить MPI, а также приобрести навыки работы с соответствующей библиотекой, содержащей порядка 200 функций, а при программировании на Т++ ему придется освоить всего семь новых понятий.

Сеть T-grid формируют добровольцы. Для подключения к ней необходимо загрузить и установить на компьютере ПО, бесплатно предоставляемое организаторами. Его установка предельно проста, занимает немного времени и не требует специальной подготовки, достаточно начальных навыков. Потом часть вычислительных ресурсов и дискового пространства переходит в распоряжение остальных участников T-grid. Объем ресурсов, отводимых в общее пользование, определяется их владельцем, а степень использования этого выделенного пространства - администраторами сети. Таким образом, предоставив часть своих ресурсов в T-grid, вы можете работать с ресурсами сотен других компьютеров. Реализация проекта

При подобном способе организации сети наиболее острыми проблемами становятся ограничение ресурсов и управление конфигурацией. Участники T-grid должны иметь возможность ограничивать размер предоставляемых ими ресурсов, а администраторы - управлять конфигурацией ПО на компьютерах участников. Разрешить эти проблемы помогло применение технологии виртуальных машин. Сейчас используются такие средства, как UML (User Mode Linux - не путать с Unified Markup Language) и cooLinux (Cooperative Linux).

При подключении к сети T-grid на машину пользователя в полуавтоматическом режиме копируется образ специально модифицированной операционной системы на базе ОС RedHat Linux 9.0. Далее в зависимости от операционной системы, используемой на компьютере пользователя, инсталлируется либо UML (для компьютеров, функционирующих под управлением Linux), либо cooLinux (для компьютеров, работающих в среде Windows).

После запуска UML или cooLinux на компьютере участника сети появляется виртуальная вычислительная машина под управлением той самой модифицированной операционной системы на базе ОС RedHat Linux 9.0, образ которой ранее был скопирован. Именно такая машина, именуемая <виртуальный вычислительный узел>, предоставляется администраторам сети T-grid, а через них и другим ее участникам. Затем из подобных узлов и формируется T-grid.

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

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

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



Вывод: система неприменима в проекте Test Grid, в силу того, что эта система разрабатывается в рамках проекта РАН и не доступна сторонним разработчикам. Отчет о предварительных результатах эксперимента доступен здесь: [PDF]