Видимо, есть еще огромный пласт того, как его можно использовать, ну, всю эту теорию, но сама сложность дальнейшего погружения в исследование квадратов достаточно велика, чтобы вы не сильно отвлекались именно от изучения на практическое применение. На самом деле, интересно и то, и это. Тут единственное, что меня лимитирует, ну, это две вещи, на самом деле. Это свободное время и учительные возможности. Где-то одно, где-то другое. То есть, опять-таки, пользуясь случаем, я на форуме, так бывает, пишу время от времени, когда говорят, а почему вы не сделали это, почему вы то не сделали то. Университет – это такое место, где должны, по идее, преподавать и учить студентов. На самом деле, сегодня, к большому сожалению, это место, где мы занимаемся кучей всяких никому не нужных бумаж, на мой взгляд. То есть, на самом деле, конечно, бумажки не нужны, потому что за это дело и закрывают, и специальности лишают, и лицензии, и аккредитации. Но это отнимает огромное количество времени, к большому сожалению. Всякие там рабочие программы, фонды отстаночных средств, там тьма абсолютно всего. И, к сожалению, чем больше бумажек там, тем меньше времени по науке на конкретных квадратах. Такая вот часть работы, которая не видна, то есть, как, в принципе, строится какая-то любая маленькая исследования в этой области. То есть, сначала нужно придумать, что делать. Это тоже бывает не сразу. Допустим, одно из последних, что я сделал, это обобщенная симметрия и поиск в квадратах. Я ходил эту тему, обдумывал, наверное, года полтора. Неспешно, я не только об этом думал, ходил там 24 часа в сутки. И у меня как-то в один момент это все в голове сложилось. То есть, дальше я сел, попробовал, и у меня, в принципе, получилось. То есть, попробовал, что такое, ну, недели три программировал. То есть, я набросал, отладил, оптимизировал. То, что я смогу находить. Дальше, опять-таки, что? Можно ряды посчитать, можно то, можно это. И пошли хотелки в разные стороны. Если бы не получилось, ну, этого бы не было, наверное. Если мы говорим про эксперименты в виде, мы до этого читали Gerasim, сейчас мы читаем Break Search. Другой проект. Значит, нужно написать чего-то. То есть, расчетный модуль написать, сгенерировать задание. Далее туда это забросить. Ну, в идеале это одной кучей делается. Не в идеале, когда много получается. Какими-то маленькими порциями мы кидаем. Там оно считается. Дальше мы забираем. Нужно анализировать. Это все тоже требует времени постоянно. Сейчас, например, у нас работает три, по-моему, проекта, если я правильно помню. Плюс некоторые вещи я считаю в один поток на своей машине. То есть, как бы, это еще четыре. Далее, в нашей сфере принято публиковать статьи, делать выступления на конференциях. Это тоже требует времени. То есть, как бы, статья, например, ну, если вот мы говорим для такого более-менее мирового уровня, это длительный процесс. То есть, как бы, это тоже не день, не два. Это бывает неделями. Ну, а некоторые вещи, да, как бы, они рано или поздно с ростом размера упираются уже в учительные возможности. То есть, как бы, я бы, конечно, ну, как всегда, да, у нас всегда всего мало. Если бы не было грида, да, вот не было проекта, то многие вещи я просто бы не посчитал. То есть, те же самые девятки. Ну, по моим прикидкам, да, вот то, что мы имеем сейчас, как бы, у нас не самые крупные проекты, но есть где-то около тысячи компьютеров, работают как бы так более-менее постоянно. Это дает выигрыш, по моим прикидкам, где-то в 250 раз по отношению к моей домашней машине. То есть, как бы, в 250 раз. Один момент уточню для просто тех, кто может там первый раз знакомиться. Когда мы говорим грид, мы имеем в виду распределенную сеть домашних компьютеров, которые считают ту задачу, которую поставил проект. Одним из таких гридов является Boeing. Давайте, опять-таки, пару этих самых уточнений внесем. Значит, у нас есть сегодня такие два больших деления на два больших класса. То есть, с одной стороны, это кластеры и суперкомпьютеры, а с другой стороны, это гриды. В чем отличие? Отличие в том, что у нас узлы, которые параллельно работают, они либо могут, либо не могут между собой информацией обмениваться. Если это суперкомпьютер или кластер, у него он в одном помещении находится, там обычно собрана быстрая сеть, там как раз решают задачи, которые требуют обмена. Наша комбинаторика не требует обмена. А когда мы говорим про грид, там узлы, как в нашем случае в Boeing, они могут быть один в Австралии, другой, не знаю, в России. Они даже могут включаться в разное время. Такие обмены между узлами, между задачами, они ни к чему хорошему не приведут, они будут все лимитировать. Это с позиции железа. Дальше, если говорить про позицию алгоритма, то есть, не любую задачу можно решить на любом железе. Ну, суперкомпьютеры, это, скажем так, вещь дорогая. То есть, они далеко не везде бывают. У нас, например, в университете такого нет. Я бы очень хотел, чтобы это дело было, но, опять-таки, оно определяется, это все-таки дорогая штуковина, требующее помещение, питание специальное, это не одна розетка, охлаждение, админов, которые будут. То есть, как бы это много. Ну, вообще, это сейчас, как правило, целый машинный зал с огромным количеством стоек, простейшие суперкомпьютеры, которые я видел 10 лет назад, которые тогда уже были старыми и outdated. Это, собственно, целая стойка, которая, когда включена, потребляла порядка 100. Потребляла эта машина, насколько я помню. Требовала специального охлаждения, естественно, и так далее. Ну, современные суперкомпьютеры, это мегаватты, десятки мегаватт энергии. Такие топовые. Ломоносов в МГУ. Какие-нибудь китайские. Тяньфе. Известный фронтир, который сейчас возглавляет. Буквально сегодня читал прогноз АМД, что к 1935 году средний новый суперкомпьютер будет потреблять порядка 500 мегаватт. То есть каждому суперкомпьютеру нужна будет своя атомная электростанция рядом. Ну, об этом говорили давно уже. У нас был на кафедре профессор, типичный Александр Петрович. К сожалению, уже как бы ушел из жизни. Но вот он говорил так, что да. Если так же будет развиваться, то надо будет строить АЭС и около нее строить суперкомпьютер. Так это будет работать в связке. По-другому никак. То есть фактически блок РБМК, да, они у нас есть в Курчатом городе, он будет писать суперкомпьютер. А сам суперкомпьютер в воду поместить, чтобы охлаждался эффективнее, да? Ну, опять-таки, вот мы периодически катаемся в город Переславль-Залезкино. Там есть институт программных систем, Академия наук. И они проводят конференции как раз по суперкомпьютерам. И туда много кого приезжали. И вот есть там команда людей, называется они иммерсфирма. Как раз у них есть такое погруженное охлаждение. Только там не вода, там такое минеральное масло, не электрическое. И прямо там это все погружено, булькает и работает. Вот так это эффективнее, чем воздухом, чем водой. Если мы говорим про СВО, например. Как работать админу, честно, я не представляю себе. Перчатки, вытащить плату, продер ее. У нас пыль, а там масло. Дополнительная квалификация аквалангиста. Да, да. У нас, к сожалению, суперкомпьютеров нет. Опять-таки, вот у Олега Зыркутска, у них есть свой кластер в Сибирском университете Академии наук. Но, опять-таки, он с задачами загружен. То есть, там тоже пробиться туда... У них получается периодически, когда требуется. Были попытки, не буду говорить куда, чтобы никого не обижать, но попытки оказались неудачными. То есть, это не так просто попасть на суперкомпьютер. Не любого желающего. Пустят, говорят, давай будем считать. Тем более, скажем, есть задачи, которые я могу сейчас решить, но мне нужно что? Мне нужен топовый суперкомпьютер на время нескольких месяцев. То есть, разумеется, учитывая, хотя бы даже просто стоимость электроэнергии, которая потребуется для этого, никто не даст. Хотя мы это можем сделать. Код есть, все есть. То есть, только надо остаться на суперкомпьютере. Значит, гриды – это более дешевая альтернатива, более доступная. То есть, здесь, в принципе, что тут сложно, нам только время нужно. То есть, скачать те же самые исходники Боинга, поднять сервер, поднять клиентскую часть, то есть, расчетное приложение. Задачки сформировать и пошли считать. Далее, как бы, людей просто мотивировать. Это, опять-таки, классика. Это все кранчеры знают. Так, собственно говоря, мы и сделали. В свое время, опять-таки, получилось совершенно случайно. Я тогда обитал на форуме на xBit. И где-то с кем-то я зацепился. Я про Боинг тогда еще не знал. С кем-то я пересекся из участника форума на Боинг.ру. Он мне предложил, а попробовать не хотите? Ну, я сказал, давайте попробуем. И тогда мы как раз с Валерием Сергеевичем, который вот сервал, в Герасиме, мы там набросали тоже код, как бы сделали интеграцию в моей части и его части. И запустили первые вещи. То есть, Боинг — это специальное программное обеспечение, которое сделали ребята из Беркли довольно давно для того, чтобы использовать компьютеры добровольцев, которые дают свое компьютерное время для решения разных научных задач. В рамках этого Боинга люди запускают свои проекты. И вот одним из известных, таких древних уже российских проектов был Герасим. И внутри этого проекта вы на их сервере запускали свои задачи. Правильно я понял? Гриды есть, опять-таки, в двух типах. Это Enterprise-гриды и Desktop-гриды. Значит, ну, Грид — да, сеть. Да, слово один из переводов, как бы, да. Enterprise — это когда у нас какая-то организация, ну, более-менее крупная, там, не знаю, IBM, там, Intel. Вот они у себя, там, в рамках здания, там, не знаю, разворачивают как раз такую тоже типы суперкомпьютера. Только по логике организации это Грид. Вот. Есть какие-то специальные, там, да, инструментарии для управления Гридом. То есть есть, там, Globus, Toolkit, там, да, Condor. Есть Boeing. Как бы это разное ПО под разные типы. Вот. Ну, честно говорю, что, как бы, с теми, которые другие, я сам не разбирался лично, как бы, тут все, да, объектно-объектно не получается. Вот. По мнениям слышал, что там сложнее, чем у Boeing. То есть больше возможностей, как бы, ну, и сложнее. Вот. Boeing — это, в принципе, да. Сегодня, как бы, это де-факто стандарт, ну, почти для всего. То есть наиболее крупная такая Грид-платформа. Есть, наверное, вот, ну, сегодня, как бы, два исключения, которые не Boeing. Это известный Folding at Home проект, который тоже, ну... И то он скорее вышел из Boeing в свое время. И есть GIMPS, который, честно говоря, все выначали. Он тоже не Boeing. У него свой клиент, как бы, там, свой сендер. Вот. А в остальном, как бы, да, на Boeing, ну, сколько уже, наверное, в сумме, там, да, больше сотни разных проектов в разное время открывались, закрывались. Порядка сотни там сейчас активных и плюс есть еще проекты типа Yo-Yo, World Community Grid и подобные, которые внутри себя огромное количество более мелких проектов аккумулируют, да. У себя на кафедре, опять же, я читаю курс параллельного программирования. Как бы, я его, ну, после введения, после маленькой истории, начинаю как раз с Boeing. Вот. И я лекции три про это рассказываю. Какие проекты с картинками. Студентам, в принципе, нравится. Если брать российские проекты, то одними из первых это были, как раз, да, вот, Герасим, SAT. SAT — это вот, как раз, коллеги из Иркутска. Да, вот, Олег Зайкин, ну, по большей части, как бы, занимался. А Герасим — это вот, Сергеич Валяев, значит, там это, опять-таки, до меня еще было. Он сделал, фактически, свою серверную часть. То есть, исторически, как появился Boeing вообще, да. То есть, был проект сети, который искал, да, неземной разум. Это такое красивое, такое, маркетинговое название. Если ближе к физике, к математике, что делать, да. То есть, брали сигналы с радиокерескопов, дальше сигнал дробится, там, да, условно говоря, на сетку, ну, как бы, вся наша сфера, да, вот вокруг нас небо, там, на квадратике, да, маленький, там, полуголовым, там, минутам. И дальше по частотам. Строится спектр сигналов, анализируется, если находится сигнал узкой полосы, значит, там что-то есть. То есть, в природе таких сигналов нет. И каждый компьютер выполнял свою маленькую частичку этой задачи, да? Чем больше компьютеров, тем можно сделать более мелкую сетку по пространству, по частоте, вот, ну, и больше проанализировать. Это, вот, рубеж, там, 90-х тысячных годов. Как бы, далее они все это дело выложили в виде open source, то есть, открытые исходники. Ну, сейчас это прямо на гитхабе лежит, и люди... Да, ну, это там уже, да, около 20 лет лежит. Чем интересен Герасим, опять-таки, Сергей Юрьевич Валяев, он сделал сам серверную часть. То есть, такая классическая, она ставится под Linux, как бы, да, готовая, а он сделал под Windows. То есть, там, у него связка
ASP.NET, как бы, да, SQL Server, Microsoft. Ну, и, в принципе, как бы, там получилось так, что это в мире такая проблема есть, что, в принципе, как бы, железо есть. Мало задач, которые на нем нужно считать. И он начал предлагать, ну, скажем так, разным ученым, давайте, вот, у меня есть, как бы, возможность, да, вы посчитайте. А потом, вот, случайно мы с ним, как бы, списались, да, ну, и сделали, начали считать. И, в принципе, долгое время мы, как бы, вот, считали. Ну, вот, как бы, это, вот, тоже касается Bullion. То есть, как бы, если бы его не было, то, конечно, задач, ну, мы бы решили гораздо меньшее количество. Ну, потому что пользовались бы, скорее всего, там, своими домашними компьютерами, и, может быть, ждали бы, когда дадут возможность пользоваться суперкомпьютерам. Просто есть такое ощущение, что, якобы, суперкомпьютеров их там все больше и больше. И если задача достаточно там важная, почему там не дают доступ к суперкомпьютерам? Ну, вы ответили, что задач больше, чем суперкомпьютеров, во-первых. Во-вторых, там нужно проходить гораздо более сложную процедуру, видимо, там, бронирования этого времени. И я подозреваю, вот, ну, чисто организационно, что на суперкомпьютере ты получил время, обсчитал, например, да, и потом должен уйти на некий повторный цикл. А в случае с использованием добровольных вычислений, ты можешь, как бы, каждый месяц, вот это дерево возможностей, если оно комбинаторное, эвристическое, скорее всего, у вас в голове есть какое-то дерево возможностей. Копаем сюда, копаем сюда, потом сюда, потом как-то это все соединяем, и вы можете каждый месяц в программистской терминологии, в agile режиме, то есть в гибком режиме, уточнять задачу по мере поступления обратной связи от предыдущих задач. С суперкомпьютером, наверное, такое было бы сложнее. Ну да, там запускается обычно периодами, как бы, есть очередь, то есть там, как бы, обычно это ж не один человек пользуется, это десятки человек, это разные группы, вот, как бы, есть опять-таки, там, да, у кого-то задачи более тяжелые, у кого-то более легкие, там, да, более быстро считающиеся, то есть, как бы, там с кем-то договариваться, это сложно. Плюс, насколько я понимаю, у суперкомпьютеров, у них у всех своя архитектура, и когда пишешь, ну, задачу для суперкомпьютера, тебе приходится ее серьезно адаптировать именно под конкретный суперкомпьютер. А в случае вот с добровольными вычислениями, типа Boeing, ты можешь писать вычислительные модули, которые будут работать на стандартных, там, x86, условно, там, то есть, под Linux, под Windows, под стандартные процессоры, обсчитывать у себя дома, оптимизировать у себя дома под свой компьютер, и потом уже распространять на всех. Это тоже фактор, или я выдумываю? Ну, на самом деле, тут не совсем так, тут идея такая. Суперкомпьютер, как бы, когда мы берем вот его стоимость создания, как бы, это две большие, такие, половинки. Первая — это железо, то есть, там, процессоры, видеокарты, материнки, вот, а вторая — это интерконект, то есть, быстрая сеть. То есть, как бы, вот, опять-таки, отличие кластера суперкомпьютера такой, не очень четкое, что кластер вычислительный — это когда мы берем более-менее дешевое железо, то есть, в принципе, можно из обычных компьютеров там на какой-то кинуть, там, гигабитный интернет, как бы, да, и будет у нас какой-то кластер. А суперкомпьютер не так. То есть, там, обычно, оптика, какой-то инфинитбен, гигабит, то есть, там, между самыми дальними узлами, там, да, время пинга, там, да, это, там, сколько-то, не знаю, там, микросекунда, если я правильно помню, в худшем случае, как бы, ну, это очень быстро. — Для них ограничением является уже просто скорость света. — Ну, фактически, да, и плюс, как бы, небольшая топология. Если мы запускаем наши задачи на суперкомпьютере, то есть, что получается? Мы используем дорогое железо, но мы не используем такой интерконнект. То есть, как бы, он нам не нужен. Поэтому это, скажем так, считается нехорошим тоном, если мы не используем вот такие, да, возможности интерконнекта. Поэтому, как бы, в принципе, не очень принято и приветствуется, если вот такие задачки запускаются на суперкомпьютер. Как бы, это, разумеется, не воспрещается, но, скажем так, наверное, с позиции утилизации ресурсов, их правильнее запускать, где нет такого. — Идея понятна. Не надо забивать гвозди микроскопом, да, то есть, берем хороший молоток, забиваем молотком. — Ну, опять-таки, как бы, если бы это было бы, да, какая-то адаптация софта, в принципе, она додопустима. То есть, переписать то, что есть там под MPI, ну, и, в принципе, теоретически, это можно запускать. У нас в УЗИ, скажем так, этого ничего нет, в Воронеже там у них чего-то есть, но в Москве, опять-таки, там в тот же, например, ВЦ, да, там пробиться довольно тяжело. У меня коллеги пробовали, там получилось не очень здорово. Самое главное, что в идеале, конечно, сюда нужно подтягивать все мощности. То есть, и грид, и видеокарты, там, да, и линукс, и мобильники, и суперкомпьютеры. Вот тем же Максимом Манзюковичом, да, все время был написан некий там набор скриптов, который позволяет запускать боинг-задачи на кластеры. То есть, как бы, там идея такая же, как классический боинг, то есть, там немножко переписывается и дописывается функционал менеджера, который управляет очередью, и он смотрит. Если кластер не догружен, да, то он догружает боинг-задачи. Я знаю, что они как раз делали эту работу вместе с Олегом Звонякиным. Они даже там где-то ее пытались внедрить. Но там полезли проблемы, связанные с тем, что, как бы, когда дали полную нагрузку на кластер, значит, там больше потреблять, больше выделять тепла. Как бы тут админы засуетились, как бы, а вдруг чего. В общем, как бы, то есть, технически это возможно. Поэтому, конечно, возможно было бы здорово подтянуть сюда еще и кластер. Кроме этого, опять-таки, вещь, которая очень давно тоже висит, нужно ее сделать, будет, как бы, рано или поздно, это разработка расчетного модуля под Linux, как минимум. Потому что сегодня, к сожалению, я не могу разрываться, у меня расчетник сделан под винты. То есть, как бы, он там работает прекрасно, все оптимизировано. Нужно немножко времени найти, разобраться, как сделать туда, откомпилировать другими компиляторами, протестировать и заверить. Чтобы лучше работало или что? Потому что у меня UDLK крутится на Ubuntu. Это позволит сюда привлечь машины под Linux. То есть, как бы, пока мы только на Windows сегодня ориентируемся, а это будут другие машины. Ну, как минимум, это будет, может быть, в разы больше.