Напомню, что в процессоре Cell девять ядер - одно главное и восемь вспомогательных. Но если посмотреть на это с точки зрения концепции Cell, то вспомогательным на самом деле является главное процессорное ядро - PPE (The Power Processing Element). На нем работает операционная система сети Cell, обеспечивающая прозрачное объединение нескольких устройств в сеть; выполнение программ - выборку данных и их распределение вместе с необходимыми апулетами по собственно вычисляющим элементам; взаимодействие с пользователем, работу драйверов устройств… в общем, все то, что мы тремя абзацами выше отнесли к рутине. А самое интересное происходит в маленьких ядрышках процессора Cell - модулях SPE. Фактически каждый такой Synergetic Processing Element - это крошечный самостоятельный компьютер (со своим процессором и своей оперативной памятью), который занимается одним-единственным делом: конвертирует поступающие к нему ячейки-данные согласно заложенному в него алгоритму. То есть физически воплощает в жизнь алгоритм, заложенный нами в одну ячейку-апулет, над ячейками-данными. Все, чем занимается PPE, в сущности, сводится к одному действию: взять данные, требующие обработки, поместить их в память SPE, запустить «процесс превращения» данных в другие данные и куда-нибудь передать полученный результат. Именно поэтому SPE очень много, а блок PPE - один; и именно поэтому у каждого SPE есть своя персональная «локальная» память и нет выхода на «глобальную» (она им попросту не нужна); именно поэтому SPE связаны очень быстрыми шинами и могут передавать данные друг другу напрямую, выстраивая те самые цепочки обработки данных, которые в обычном процессоре являются чистейшей воды абстракцией.
Кстати, использовать для создания Cell-устройств, способных стать частью Cell-сети, описанный процессор вовсе не обязательно. Концептуально от устройства требуется только одно: уметь интегрироваться в сеть (то есть содержать процессор, работающий под управлением соответствующих программ) и уметь выполнять над ячейками-данными ячейки-апулеты (например, содержать хотя бы один SPE). Вполне можно представить, что после «суперпроцессора» Cell появятся более простые варианты с меньшим (или наоборот, большим) числом SPE или даже совсем простые и дешевые мини-процессоры (использующие один SPE и более простой PPE, причем PPE может быть даже не PowerPC-процессором), которые можно будет за сущие гроши устанавливать в любую бытовую технику. С помощью Cell можно одинаково эффективно реализовывать и суперкомпьютеры[Уже представлены блейд-серверы из нескольких Cell-процессоров], и «цифровой дом».
Правда, настанет все это счастье, увы, нескоро - на создание принципиально новых операционных систем (основы Cell), стандартных Cell-библиотек, компиляторов и сред разработки, на перенос имеющегося программного обеспечения и, наконец, на самую обыкновенную перестройку мышления программистов уйдут в лучшем случае годы.
Доживем ли мы до «умных» сетей и распределенных «повсеместных» вычислений, столь же прозрачных, привычных и незаметных, как современные электросети? Годика через три увидим.
ТЕХНОЛОГИИ: Новая надежда
Выхода графического ускорителя нового поколения от ATI, известного под кодовым названием R520, ожидали долго. Даже, пожалуй, слишком долго: мы искали его на Computex, мы надеялись увидеть его в июле, когда nVidia начала продавать видеокарты GeForce 7800GTX, затем в сентябре, когда, казалось, ждать дальше уже было некуда.
Но прошли уже все мыслимые сроки, а R520 все не было.
Тестовая система:
Материнская плата: ASUS A8N SLI Deluxe. Оперативная память: Corsair DDR CMX512-3200XLPRO, 2x512 Мбайт, 2-2-2-10. Видеокарта: nVidia 7800GTX 256 Мбайт, ATI X1800XT 512 Мбайт. Операционная система: Microsoft Windows XP SP2. Драйверы: последние официальные на момент написания статьи. Все настройки системы оставлялись по умолчанию, процессоры функционировали на своих номинальных частотах: Athlon 64 FX-57 2,8 ГГц - множитель 14, шина 200 МГц, память в синхронном режиме с таймингами 2-2-2-10
Вот и получилось, что ситуация на рынке сегодня далеко не в пользу канадцев. Уверенно лидируя в «дешевых» и «интегрированных» нишах, солидных по оборотам, но, увы, не приносящих по-настоящему большой прибыли, самые «вкусные», высокопроизводительные сегменты еще недавно доминировавшая здесь ATI утратила. В результате - провальный квартал и 104 млн. долларов убытков.