РАСПРЕДЕЛЕННАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА ОПТИМАЛЬНЫХ РЕШЕНИЙ
DISTRIBUTED COMPUTER SYSTEM OF OPTIMUM SOLUTIONS

Изобретение относится к вычислительной технике и может быть использовано для создания распределенных вычислительных систем с оптимальной архитектурой для решения различных задач: математических, управленческих, прикладных и др., требующих больших вычислительных мощностей.
Общей проблемой при создании вычислительных систем или сетей является минимизация системы с одновременным повышением быстродействия при упрощении программного обеспечения.
Значительным фактором, если не одним из основных, является уменьшение энергопотребления. Так, суммарные затраты на энергопотребление современного суперкомпьютера за 2-3 года превышают стоимость самого суперкомпьютера.
До сих пор нет единого мнения об оптимальном построении вычислительной системы. Существует суперкомпьютер Jaguar - суперкомпьютер класса массивно-параллельных систем, размещенный в Национальном центре компьютерных исследований в Окридже, шт. Теннеси (National Center for Computational Sciences (NCCS)). Суперкомпьютер имеет массово-параллельную архитектуру, то есть состоит из множества автономных ячеек (англ. nodes). Все ячейки делятся на два раздела (англ. partitions): XT5 и ХТ4 моделей Cray XT5 и ХТ4, соответственно. Раздел XT5 содержит 18688 вычислительных ячеек, а также вспомогательные ячейки для входа пользователей и обслуживания. Каждая вычислительная ячейка содержит 2 четырехъядерных процессора AMD Opteron 2356 (Barcelona) с внутренней частотой 2,3 ГГц, 16 ГБ памяти DDR2-800, и роутер SeaStar 2+. Всего раздел содержит 149504 вычислительных ядер, более 300 ТБ памяти, более 6 ПБ дискового пространства и пиковую производительность 1,38 петафлопс. Раздел ХТ4 содержит 7832 вычислительных ячеек плюс вспомогательные ячейки для входа пользователей и обслуживания. Ячейка содержит 4-ядерный процессор AMD Opteron 1354 (Budapest) с внутренней частотой 2,1 ГГц, 8 ГБ памяти DDR2-800 (в некоторых ячейках - DDR2-667) и роутер SeaStar2. Всего раздел содержит 31 328 вычислительных ядер, более 62 ТБ памяти, более 600 ТБ дискового пространства и пиковую производительность 263 TFLOPS. Пропускная способность каналов обмена с памятью равна 578 ТБ/с, а подсистема ввода-вывода - узкое место многих высокопроизводительных систем - способна перемещать каждую секунду 284 ГБ данных.
Часть задач, которые решает Ягуар, связана с изменениями климата, другой частью является моделирование процессов горения, см. http://ru.wikipedia.org/wiki/jaguar/.
Также существует отечественный суперкомпьютер «Ломоносов» - первый гибридный суперкомпьютер такого масштаба в России и Восточной Европе. В нем используются 3 вида вычислительных узлов и процессоры с различной архитектурой. В качестве основных узлов, обеспечивающих свыше 90% производительности системы, используется blade-платформа T-Blade2. В нем используются 3 вида вычислительных узлов и процессоры с различной архитектурой. Суперкомпьютер использует трехуровневую систему хранения данных суммарным объемом до 1 350 ТБ с параллельной файловой системой Lustre. Система хранения данных обеспечивает одновременный доступ к данным для всех вычислительных узлов суперкомпьютера с агрегированной скоростью чтения данных 20 Гб/сек и агрегированной скоростью записи 16 Гб/сек. Предполагается использовать суперкомпьютер для решения ресурсоемких вычислительных задач в рамках фундаментальных научных исследований, а также для проведения научной работы в области разработки алгоритмов и программного обеспечения для мощных вычислительных систем, см. http://www/t-platforms/ru/clusters/umgue/lomonosov.html. За прототип взята система GRID (коллайдер), см.
http://www.gazeta.ru/science/2010/04/02_a_3346640.shtml
Данным суперкомпьютерам присущи два основных недостатка:
- относительно низкое соотношение производительность/стоимость;
- высокое энергопотребление (затраты на электроэнергию могут превысить стоимость суперкомпьютера через 2-4 года).
Технической задачей изобретения является оптимизация соотношения стоимость-эффективность.
Для решения поставленной задачи предлагается распределенная вычислительная система оптимальных решений, основанная на распределении вычислений PaaS, отличающаяся от других систем тем, что содержит сервер (сервером называется компьютер, выделенный из группы персональных компьютеров для выполнения какой-либо сервисной задачи без непосредственного участия человека. В некоторых случаях сервер и рабочая станция могут иметь одинаковую аппаратную конфигурацию, см. («Все о серверах» Computer Bild №22, 2008), блок проверки доступности сервера, ведущий компьютер, n-ведомых компьютеров, для примера примем n=2, т.е. первый и второй, блок постановки задачи, блок информационного контроля, первую и вторую двунаправленные виртуальные шины отправки задания и результата, первую и вторую двунаправленные виртуальные шины опроса машин и виртуальную шину инициализации со следующими соединениями: блок проверки доступности сервера, через ведущий компьютер и виртуальную шину инициализации, соединенную с контрольным входом сервера, ведущий компьютер первый и второй двунаправленными виртуальными шинами отправки задания и результата соединен с первым и вторым ведомыми компьютерами соответственно, сервер соединен первой и второй двунаправленными виртуальными шинами опроса с первым и вторым ведомым компьютерами соответственно, блок постановки задачи и блок информационного контроля, которые двунаправленными виртуальными шинами соединены с соответствующими входами ведущего компьютера.
На чертеже показана функциональная схема системы, на которой изображено: 1 - ведущий компьютер, 2 и 3 - ведомые компьютеры, 4 - программный блок постановки задачи, 5 - сервер, 6 - блок проверки доступности сервера, 7 - блок информационного контроля, 8 и 9 - первая и вторая двунаправленные виртуальные шины отправки задания и результата, 10 - виртуальные шины инициализации, 11 и 12 - двунаправленные первая и вторая виртуальные шины опроса машин соответственно, 13 - виртуальная шина информационного контроля.
Функциональная схема имеет следующие соединения: блок проверки доступности сервера 6, через ведущий компьютер 1 и виртуальную шину инициализации 13 соединен с контрольным входом сервера 5, ведущий компьютер 1 первой и второй двунаправленными виртуальными шинами отправки задания и результата 8 и 9 соединен с первым и вторым ведомыми компьютерами 2 соответственно, сервер 5 соединен первой и второй двунаправленными виртуальными шинами опроса 11 и 12 с первым и вторым ведомым компьютерами 2 соответственно, блок постановки задачи 4 и блок информационного контроля 7 двунаправленными виртуальными шинами соединены с соответствующими входами ведущего компьютера 1.
Система работает следующим образом.
Сервер 5 динамически контролирует состояние сети по виртуальным шинам 11 и 12.
При запуске клиентской части проверяется доступность сервера 5, время доступа до него и скорость канала связи. Этой задачей занимается блок проверки сервера, являющийся подпрограммой, входящей в клиентскую часть. Затем проверяется мощность компьютера и подсчитывается возможное количество ресурсов для раздачи. Эти данные посылаются на сервер, который регистрирует клиента в сети. Сервер 5 заносит в базу IP адрес (адрес компьютера в сети Интернет) клиента, параметры подключения и мощность машины. После этого на клиентскую машину посылается сигнал, разрешающий дальнейшую работу.
Уровни системы
Параллельно с обработкой данных задач, являющихся приложениями обычного уровня, осуществляет свою деятельность система работы на низком уровне (проверяет выполняющийся код, преимущественно забирающий ресурсы системы в течение продолжительного времени).
Если в процессе просмотра обнаруживается код, выполнение которого можно оптимизировать, то запускается блок постановки задачи, и одновременно посылается запрос серверу для поиска доступных машин и ключ связи. Блок постановки задачи - это подпрограмма, занимающаяся обработкой и подготовкой объектов для дальнейшей оптимизации. Ключ связи служит защитой от кражи информации, путем подмены машин. Сервер получает сигнал от клиента, выбирает свободную на данный момент машину, проверяет доступность ее в сети, посылая ключ связи, и отсылает данные о подключении клиенту.
Процесс постановки и решения новых заданий осуществляется постоянно, вне зависимости от статуса предшествующих заданий.
Решение задачи на клиентских ведомых машинах
Клиентские машины соединяются между собой, проверяют правильность ключа связи. При совпадении ключей одна клиентская машина (ведущая) посылает другой (ведомой) задачу для выполнения. Вторая (ведомая) клиентская машина решает эту задачу и посылает ответ.
Решение задачи на клиентской ведущей машине
Если ответ от собственных вычислительных мощностей приходит раньше, то задача считается выполненной, в противном случае используется решение из сети. (При том или ином способе получения результата акцептор результата действия на ведущем компьютере посылает сигнал серверу, а сервер посылает этот сигнал ведомому компьютеру, и тот прекращает выполнение задачи).
Примечание: сервер не хранит никакую информацию касательно решаемой задачи, кроме ее статуса (текущее состояние, решена задача или нет).
Возможные недостатки:
- ответ на одну и ту же задачу, выполняемую при одинаковых переменных, может быть разным, если в процессе решения используются генераторы случайных чисел;
- одновременная работа с антивирусом может быть невозможна (эффект одновременного низкоуровневого доступа).
- вариабельность времени решений задач, обусловленная текущими параметрами загрузки сети и ведомых клиентских машин.