Неоновые индикаторы арифметического устройства (по-нынешнему процессора) на внушительном фасаде замечательного отечественного компьютера БЭСМ-6 образовывали огромную панель. На ней при уменьшении нагрузки и появлении свободных циклов, как говорили, высвечивалось слово “ЖДУ”. Тогда машины работали в пакетном режиме, поток заданий был обычно настолько велик, что, признаюсь, мне, программисту, лишь изредка заглядывающему на пульт, так ни разу и не довелось увидеть этих трех букв.
Зато теперь дома на компьютере, вполне сопоставимом по мощности с той самой БЭСМ-6, очень часто возникает “хранитель экрана”, свидетельствующий о том, что мой рабочий инструмент попусту тратит электроэнергию. И таких бездельничающих компьютеров в мире сотни миллионов.
Для утилизации простаивающих машинных ресурсов в английском языке есть удачное выражение с занятной игрой слов Recycled Cycles. Вполне естественная идея использования “лишней” мощности родилась синхронно с появлением первых сетей. Как большинство замечательных новаций, она появилась вначале в рамках проекта ARPAnet, а затем ею занялись в Xerox Palo Alto Research Center (PARC). Там создали первую сеть Ethernet и вслед за тем была написана программа, прозванная “вампиром”, - она “высасывала” циклы CPU из других машин в сети. Дальнейшее развитие этой идеи оказалось затруднено несовместимостью компьютеров и низкой пропускной способностью каналов.
Проблема неиспользованной мощности пока не решена. Можно, конечно, праздно поразмышлять о том, что вот-де огромная потенциальная энергия остается невостребованной, а можно заняться использованием “вторичных” ресурсов в Сети. Сейчас в мире реализуется несколько проектов, которые средствами Интернета объединяют тысячи и даже сотни тысяч компьютеров, принадлежащих добровольцам, для решения задач, часть из которых описана ниже.
SETI@home
(http://setiathome.ssl.berkeley.edu/)
Наибольшее число участников при, по всей видимости, наименьшей научной целесообразности привлекает проблема поиска внеземного разума по программе Search for Extraterrestrial Intelligence (SETI). Число любителей астрономии, вовлеченных в этот проект, сегодня достигает 1,3 млн. человек в 223 странах, они совместно выполнили вычислений на 100 000 машино-лет, совокупная мощность распределенной вычислительной среды оценивается в 7 Тфлоп. Такой грандиозный вычислительный проект на самом деле обошелся в сумму, не превышающую $250 000. Центральный узел состоит из оборудования, полученого по гранту от Sun Microsystems, и он включает несколько рабочих станций Ultra10 и серверов Sun Enterprise 450.
Добровольцы, участвующие в проекте, получают порциями по 384 Кб радиоастрономические данные в файлах с именем work_unit.txt. Эти данные обрабатываются в фоновом режиме программой, загруженной с сайта SETI@com. Она выполняет довольно объемные вычисления, связанные с быстрым преобразованием Фурье, но какие именно - для добровольца остается неизвестным. На G3 Power Macintosh обработка одной порции занимает порядка двух суток, в процессе работы пользователь имеет некоторую обратную связь, свидетельствующую о ходе выполнения процесса. По окончании результаты расчетов возвращаются в SETI@home.
GIMPS
(http://www.mersenne.org/)
Число участников движения GIMPS (Great Internet Mersenne Prime Search), объединенных желанием найти наибольшее простое число, существенно меньше, их всего около 4 тыс., но полученные ими результаты более значимы. В последние годы были вычислены простые числа с номерами 35 (21398269 -1), 36 (22976221 -1) и 37 (223021377 -1). Общественная организация названа по имени монаха отца Мартина Мерсина, жившего в XVII веке. Он показал, что простое число должно подчиняться правилу 2n -1 при n>1, но не каждое число 2n -1 простое. Возглавляет эту работу Джордж Уолтман (George Woltman), специалист, написавший эффективное программное обеспечение, реализующее алгоритм Лукаса - Лехмера для поиска простого числа. Это ПО можно скачать на свой ПК и включиться в процесс поиска. Счастливчик, получивший в распределенных вычислениях конечный результат, станет обладателем крупного денежного приза. Получается своего рода лотерея. (С простыми числами существует еще ряд задач, которые можно было бы решать подобным способом. Например, найти опровержение гипотезы Гольдбаха. - Прим. ред.)
PiHex
(http://www.cecm.sfu.ca/projects/pihex/pihex.html)
Распределенный проект по поиску наиболее точного шестнадцатеричного выражения числа Пи.
Уже вычислено значение, выражаемое 40 трлн. битов, сейчас рассчитывается число, выражаемое квадриллионами битов.
Distributed.net
(http://www.distributed.net/)
Компания Distributed.net организует своего рода соревнования по доказательству нестойкости методов шифрования. Ею выполнено несколько законченных проектов:
- RC5-56: 22 октября 1997 г. был найден ключ 0x532B744CC20999, подтверждено, что он верен и текст расшифрован правильно: “The unknown message is: It’s time to move to a longer key length”.
- DES II-1: соревнование DES II-1 было предложено компанией RSA. Оно продолжалось с 13 января по 24 февраля 1998 г., был найден ключ: 76 9E 8C D9 F2 2F 5D EA; расшифрованный текст выглядел так: “The unknown message is: Many hands make light work”.
- В двух последующих проектах в 1999 г. были расшифрованы сообщения, закодированные шифрами DES II-2 и DES-III.
- Сейчас открыты два проекта. Первый - поиск оптимальных границ Голомба. Второй проект CS-Cipher организован компанией CS Communications & Systems, и его действие продлится до 17 марта 2000 г. Цель - показать нестойкость 56-битного ключа к грубым атакам. Приз составляет $10 000.
Каковы же выводы из этих примеров?
Начнем с пессимистического. Хотя существует достаточное число задач, решение которых возможно с использованием еще несовершенного, как в приведенных выше примерах, распределенного мета-компьютера, однако скорость обмена данными между компьютерами, объединенными через модемы, в сотни тысяч и даже миллионы раз ниже, чем по межпроцессорным магистралям в настоящих компьютерах. Следует еще учесть, что хорошо распределять задачи, не требующие иных ресурсов, а если понадобится дисковое пространство, как на это посмотрят добровольные участники программы? Не много шансов на то, что они согласятся им поделиться.
Второй вывод - с оттенком оптимизма. Проблема неиспользуемых вычислительных ресурсов рано или поздно наверняка будет решена. Но, скорее всего, решение будет основано не на принципах добровольности, как сейчас, а на традиционных рыночных законах. Впервые о коммерциализации вычислений сказал еще в 1968 г. Айвэн Сазерленд (Ivan Sutherland), работавший тогда в Xerox PARC. Сейчас он возглавляет одно из исследовательских подразделений Sun Microsystems. Может быть, поэтому явно прослеживается стремление к торговле вычислительными ресурсами в программах “.com” и Sun Ray, пропагандируемых Sun. Пойдет ли рынок по такому пути, пока сказать сложно. Прежде всего, возникают очевидные проблемы с конфиденциальностью, безопасностью и надежностью. Но и они, безусловно, разрешимы.