Сильные мира сего любят периодически потрясать воображение простого люда. Тому имеется много причин, но все они сводятся к одной: привлекая к себе народное внимание и удерживая его в должном напряжении, "потрясатель" получает немалые сопутствующие дивиденды. Например, от чего в 1997 году плакал Гарри Каспаров? От того, что IBM сделала уникальный суперкомпьютер "Deep Blue", превосходно играющий в шахматы, но в остальных отношениях никому ни для чего не нужный. Последнее, впрочем, не верно. "Deep Blue" был нужен не столько для сильной шахматной игры, сколько для того, чтобы втолковать как можно более широким массам (покупателей, естественно), что IBM - это сила. Действительно, что может быть шире подмножества людей, умеющих хоть как-то переставлять фигурки на клетчатой доске? Разве только множество всех ныне живущих людей. И было бы странным, если бы "Большой Синий" не попытался найти ключик, отпирающий душу вообще каждого живого человека. Нет такого ключика? Есть! Он уже найден и задействован. Он реализуется цепочкой ключевых слов "жизнь, здоровье, болезни, лекарства, белок". Если же кто-то не понимает, что такое белок (или protein) и как он связан с лекарствами, болезнями, здоровьем, жизнью и IBM, то для чего тогда существует пресса?
Имея некоторое отношение к прессе, спешу все растолковать. В конце прошлого года, 6 декабря, IBM объявила о своем намерении построить суперкомпьютер "Blue Gene" производительности 1 петафлоп, или 1 квадриллион операций с плавающей точкой в секунду, т.е. в 500 раз мощнее лучших современных машин. На создание "Blue Gene" отводится 5 лет и выделяется $100 млн. Работать над этим суперкомпьютером, а затем и на нем, будут около 50 ученых из Института глубоких вычислений IBM Research и ее же Группы вычислительной биологии.
Слово "биология" появилось здесь не случайно: IBM уверяет, что "Blue Gene" создается для решения задач вполне конкретного типа, а именно: для компьютерного анализа формы и свойств белковых молекул. Цель достойная и гуманная, потому что белок - основа жизни. Длинные белковые молекулы представляют собой как бы цепочки, собранные из сотен и тысяч звеньев - аминокислотных остатков 20 типов.
Все функциональные свойства белка определяются его точной аминокислотной последовательностью, записанной в генах организма, и реализуются через пространственную геометрию того сложнопереплетенного клубочка, в который белковая молекула самопроизвольно сворачивается после сборки. Прочитать генетическую информацию ученые уже умеют, однако предсказать геометрию и свойства белка, кодируемого данным геном, - задача вычислительно архисложная. Но требующая решения. Потому что, например, ошибка лишь в одном звене цепочки способна испортить форму белковой молекулы, и это проявится как генетическая болезнь. А еще потому, что будущие технологии изготовления белков с формой и свойствами "под заказ" - это лекарства от всех болезней, волшебные противоядия и даже средства продлить жизнь.
Закон Мура утверждает, что компьютеры должны "поумнеть" в 500 раз за 15 лет. Скромная IBM хочет опровергнуть закон Мура, сделав свой "Blue Gene" за пятилетку. Ну, нас-то этим не удивишь, ведь мы знаем, что законы пишутся для того, чтобы их нарушать:) Однако IBM собирается нарушить закон не обычным тихим способом, а с помпой: путем, как она говорит, "первой с середины 80-х годов существенной революции в компьютеростроении". Этой революции дано сочное имя "SMASH". Вообще-то, слово "smash" значит не только "разгром (противника)", но и "банкротство, крах", и мы коснемся этого второго толкования чуть позже. В представлении же IBM "SMASH" означает "Simple, Many and Self-Healing", т.е. хороший суперкомпьютер должен быть прост душой, его должно быть много, и потому ему придется заниматься самолечением:) IBM заявляет, что SMASH-архитектура принципиально отличается от всех традиционных подходов в следующих трех отношениях:
1. Набор команд, исполняемых каждым процессором, будет существенно сокращен, что позволит процессору работать быстрее, греться слабее и занимать на чипе меньше места.
2. Массовый параллелизм системы будет поддерживать более чем 8 млн. одновременных вычислительных нитей.
3. Компьютер будет самостабилизирующимся и самовосстанавливающимся, т.е. способным преодолевать "падение" отдельных процессоров и нитей вычислений.
К этим "трем источникам и трем составляющим частям" SMASH-архитектуры мы еще вернемся, а пока продолжим о чудесах конструкции "Blue Gene". Согласно заявлению IBM, машина будет содержать немногим более миллиона процессоров, способных выдавать по 1 гигафлопу производительности каждый и объединенных по 32 штуки на одном чипе. Системная плата размером 60 на 60 см будет нести на себе 64 таких 32-процессорных чипа. В стойку 1.8-метровой высоты будут монтироваться 8 системных плат, а 64 таких стойки, занимающих площадь 180 кв.м, как раз и составят петафлопный суперкомпьютер "Blue Gene". Дух захватывает, но не забыть бы нам вернуться в реальный мир.
Постоянный читатель "КВ" будет, конечно, смеяться, если ему скажут, что процессорная RISC-архитектура - есть инновация IBM 1999 года. Уже стало историей то, как RISC состязался с CISC'ом, как RISC'овый выигрыш в производительности удушался неизбежным распуханием исполняемого кода, как CISC-процессоры "внутрях" становились все более RISC'ованными, а некоторые "reduced instruction sets" были обширнее набора команд 486-го... А теперь можно перечитать 1-ю особенность SMASH-архитектуры и посмеяться над ее новизной.
Читая о 2-й уникальной черте SMASH'а, я почему-то вспоминал "Коммутационную Машину" компании Thinking Machines из далеких 80-х годов. Не знаю, есть ли теперь где-то хоть один работающий экземплярчик той машины, но массовый параллелизм был ее главным козырем, причем в 80-х он действительно был новшеством. Конечно, глупо спорить с тем, что 64*8*64*32 есть 1M штук процессоров по 1Gflop каждый, однако сложение мощностей процессоров - операция нелинейная. Например, Intel'овский ASCI "Red" в идеале может выдавить из 9000 своих Pentium Pro 1.8Tflop производительности, но на реальных задачах он показывает около 1.3Tflop. Если процессоров в суперкомпьютере станет еще на два порядка больше, то производительность, приходящаяся на 1 процессор может уменьшиться относительно идеальной уже не на десятки процентов, а в десятки раз.
Поэтому реального петафлопа от "Blue Gene" ожидать не приходится. Иначе его следует признать спецкомпьютером, созданным для решения узкого класса идеально распараллеливаемых задач, что как раз соответствует истине. Но в таком случае "Blue Gene" не может претендовать на опровержение закона Мура, который писан для универсальных машин.
О 3-й отличительной черте SMASH'а много говорить не приходится. Конечно, в компьютере с 1 млн. процессоров и 8 млн. нитей вычислений почти ежеминутно что-то будет "падать", и он должен уметь "лечить" свое состояние на ходу, если хочет работать. В этом пока нет ничего нового от IBM. Много компаний и научных центров занимаются проблемой самостабилизации и самовосстановления вычислительных систем как на программном, так и на аппаратном уровне, но не достигли успеха даже на более скромных масштабах сложности, чем масштабы "Blue Gene". Некоторые сторонние эксперты сомневаются, что SMASH-архитектура за 5 лет станет дееспособной.
А теперь - о самой проблеме компьютерного анализа сворачивания белковых молекул. Полный анализ всех конфигураций даже простой белковой молекулы, состоящей только из 300 аминокислотных остатков, потребует одного года (!) вычислений на "Blue Gene". Это - оценки экспертов IBM. Ясно, что данную проблему, принадлежащую к классу NP - неполиномиальных проблем, одной грубой силой не возьмешь. Тут нужны какие-то хитрые алгоритмы, упрощающие анализ и избегающие тупого перебора всех вариантов. И они уже появляются. Например, недавно научная группа из Корнельского ун-та с помощью своих алгоритмов промоделировала на 64-процессорном суперкомпьютере IBM SP2 два реальных белка, HDEA и MarA, затратив 70 и 100 часов соответственно и достигнув 80%-го совпадения рассчетной структуры с данными рентгеновской кристаллографии. Это уже очень неплохо. Однако у исследователей из IBM на данном научном направлении пока нет существенного задела, а без него и миллион процессоров не поможет.
Итак, если снять с проекта "Blue Gene" всю рекламную шелуху вроде новизны, революционности и прочего анти-муровского шапкозакидательства, то обнажится ряд сложных инженерных и научных задач, которые 50 исследователям из IBM предстоит решить за 5 лет. Или не решить. Пожелаем им удачи. Потому что хочется верить, что они не повинны в раздувании рекламного мыльного пузыря вокруг их работы, а просто от души делают хорошую машину под хорошую задачу.
Иван ЖИЛИН,
[email protected]
Горячие темы