Linux, Cell и игровые консоли

Эта заметка была написана два года назад. И вспомнил я о ней в связи с тем, что, как я случайно обнаружил, дело Cell не пропало. Не сказать, что оно живёт и побеждает, но кое-какие основания для оптимизма есть, чему будет посвящена следующая заметка.

В качестве преамбулы к этой заметке я воспроизведу текст, который был опубликован в моей колонке в журнале LinuxFormat весной прошлого года. Текст дается в исходной версии, так как его не требуется вписывать с рамки колоночной тысячи символов.

Процессор Cell и его роль в Linux-революции

Много лет назад (1992 г.) в журнале PC Magazine появилась статья под зловещим названием: «Через десять лет все платформы, кроме IBM PC, уйдут в небытие». Тогда это казалось невероятным.

Увы — мрачный прогноз сбывался опережающими темпами. И на пользовательских десктопах безраздельно воцарились процессоры от Intel и их дериваты, совместимые по системе команд, все прочие архитектуры ушли если и не в небытие, то в нишевые области. А недавно рухнул последний бастион анти-интеловской обороны: фирма Apple начала перевод Macintosh’ей на PC-архитектуру.

Конечно, стандартизация «железа» имела свои положительные стороны. Однако согласитесь — в унифицированном мире жить просто скучно…

И вот — процессоры Cell от фирмы IBM. Революционные архитектурно, фантастически производительные и сверхъестественно дешевые. Могущие в равной мере служить сердцем и игровых станций, и сверхмощных серверов. Которым не хватает лишь одного — адекватной операционки. Каковая не замедлила появиться: в ядре Linux версии 2.6.16 заявлена поддержка процессоров Cell. И этот факт может повернуть все ее развитие.

Представим себе игровые станции на процессорах Cell под Linux. Это даст стимул к совершенствованию графической подсистемы, что приведет наконец к пресловутой ее «десктопизации».

Рискну предположить, что «десктопизация» Linux пойдет совсем не так, как DOS и Windows — не к тотальному универсализму, а к специализированным станциям (пусть сначала и игровым). То есть — генеральным путем развития Unix и Linux.

Cell-игрушка — первый взгляд

Напомню, что предыдущие строки были написаны тогда, когда каких-либо машин с процессором Cell никто и в глаза не видел. Разве что кроме особ, приближенных к императору (пардон, их производителю). А как обстоит дело сейчас? Ведь игровые консоли Sony PlayStation 3 уже вовсю продаются (хотя пока и не у нас). И Cell служит им вместо пламенного мотора.

Итак, что же из себя представляет эта суперконсоль? Для начала — процессор Cell с тактовой частотой 3,2 ГГц, наделенный восемью ядрами, каждое из которых являет собой самостоятельный RISC-процессор, архитектурно сходный с процессорами Power от IBM. Правда, всего лишь семь из этих ядер заняты непосредственно делом, восьмое выполняет коммуникативные функции, распределяя задачи между остальными. Процессорный комбайн оснащен кэш-памятью второго уровня объемом 512 кбайт.

Памяти в нашей игрушке — всего 256 Мбайт. Но зато это — сверхскоростная Rambus XDR DRAM, работающая на частоте процессора (то есть на 3,2 ГГц); не это ли звездный час компании, продукция которой, не смотря на поддержку Intel, так и не нашла своего места в мире PC — разве что в обзорах судебных заседаний…

В качестве видесистемы выступает графический чип (или, как нынче предпочитает говорить производитель, графический процессор)от nVidia — RSX (NV47), работающий на частоте 550 МГц, оснащенный собственной памятью типа GDDR3 (частота 700 МГц), объемом также 256 Мбайт. Видеокарта оснащена разнообразными выходными разъемами для бытовой аппаратуры высокого разрешения. Правда, стандартного VGA-разъема (и даже DVI) не имеется (и, похоже, не предвидится).

Хранилищем данных в консоли выступает 2,5-дюймовый винчестер SATA, объем которого, в зависимости от модели, составляет 20 или 60 Гбайт. Кроме того, имеется накопитель Blue Ray, способный читать и записывать оптические диски всех мыслимых форматов, и кардридер для считывания всяческих Memory Stick, Compact Flash и тому подобных носителей.

Для подключения внешних устройств имеется 6 портов USB. Из прочих коммуникационных приспособлений — гигабитный Ethernet, Wi-Fi и Bluetooth 2.0.

У любого компьютерщика, поглядевшего на тактико-технические данные этой «игрушки», поневоле появится мысль: а как бы эту мощь приспособить для использования в мирных, то есть рабочих, целях? Ей-Богу, такое «железо» грешно использовать только для того, чтобы мочить монстров в сортире.

Linux на Cell: уже реальность?

Однако каким образом прикрутить его к задачам производственным? Ведь в комплекте нет не только никакого соответствующего софта, но даже подходящей операционки. Разумеется, мысли тут же обращаются в сторону Linux, в ядро которого поддержка Cell была включена задолго до появления описанной выше игровой консоли.

На сегодняшний день имеется лишь один дистрибутив, официально поддерживающий платформу Sony PS3. Это — Yellow Dog Linux. Ранее разрабатывавшийся для Macintosh’а на процессорах PowerPC, он, после судьбоносного решения Apple о смене пола (пардон, платформы) оказался как бы не у дел. И потому в срочном порядке также сменил ориентацию: начиная с текущей, 5-й, версии этот дистрибутив разрабатывается для Sony PlayStation 3, портирование же его на PowerPC-машины будет задачей побочной. Существует уже о нечто вроде руководства по установке Yellow Dog на Sony PlayStation 3.

Второй дистрибутив Linux, опробованный на Sony PlayStation 3 — это Fedora Core, конкретно — версия 5. Впрочем, имеющиеся на сей счет источники особой внятностью не отличаются. Хотя нет, вру, есть и весьма подробное руководство— правда, на английском.

И Fedora, и Yellow Dog — так называемый RP-based дистрибутивы, основанные, в конечном счете на Red Hat. А как быть приверженцам других линий дистрибуции этой ОС? Им можно сказать, что Linux-мир не оскудел умельцами: на Sony PlayStation 3 уже был успешно установлен также Gentoo — ибо как же не собрать этот дистрибутив на всем, на чем только можно чего-то собрать? Существует и достаточно подробное описание этого процесса.

Наконец, мимо Sony PlayStation 3 не прошли и Debian’исты: Такеси Яегаси установил на эту приставку версию для PowerPC — правда, предварительно ему пришлось модифицировать установочную программу. Впрочем, он не поленился описать это в специальных материалах — см. здесь и здесь. А порывшись вот на этом сайте — http://ps3.keshi.org/ — можно найти (и скачать):

  • использованные им образы ядра и initrd;
  • несколько вариантов установочных мини-дисков — точнее, скорее больших загрузочных дискет, объемом 12-13 Мбайт;
  • iso-образы нормальных Debian LiveCD для Sony PlayStation 3 (объемом чуть за 200 Мбайт);
  • весьма подробную документацию, описывающую процесс изготовления и Started Kit для Sony PlayStation 3, инсталляцию системы на него и даже некоторые общие вопросы программирования для архитектуры Cell.

По поводу программирования: на сайте http://www-128.ibm.com/developerworks/ начата публикация цикла статей, посвященного разработке Linux-приложений для платформы Cell. В настоящее время там размещена статья Programming high-performance applications on the Cell BE processor, Part 1: An introduction to Linux on the PLAYSTATION 3 Overview, installation, and first programming steps Джонатана Бартлетта (Jonathan Bartlett). Правда, пока только в английской версии.

Заключение

Имеющиеся в наличии материалы по Linux на Sony PlaySatation 3 пока вызывают больше вопросов, нежели дают ответов. И первый из них касается используемого «железа».

Конечно, прикрутить к приставке обычные клавиатуру и мышь с USB-разъемами труда не составит. А вот как быть с устройствами вывода? Стандартные компьютерные мониторы к ней не присобачишь за отсутствием соответствующих разъемов. То есть в качестве дисплеев придется использовать какие-то бытовые (и, насколько я понимаю, высококлассные) телевизоры. И насколько это будет здорово? — вправе задаться вопросом те, кто видели первые домашние компьютеры.

Далее, возникает вопрос — а насколько эффективно современные версии Linux (и особенно прикладных программ) будут использовать многопроцессорность «камня»? То есть — стоит ли игра свеч до появления специально адаптированного софта?

И, наконец, вопросы сугубо низменные, прагматичные. Во-первых, к сожалению, России не довелось быть не только родиной слонов, но и местом их оперативной продажи — до наших палестин эти «игрушки» пока не добрались. Хотя и обещаны где-то в апреле.

Во-вторых, почем выйдет ситчик? Цены для Японии, США, Европы примерно известны — под 5 сотен баксов за младшую модель (с 20-гигабайтным диском) и около 7 — за старшую (с шестидесятигигабайтником). Методом дедукции, индукции и оценки продукции можно предположить, что на Руси, при поставках «по белому», это выльется примерно в 700 и 1000 ихних денег соответственно. Кстати, в Сети уже можно найти предложения продать Sony PlaySatation 3 «здесь и сейчас» — но по ценам уж совсем астрономическим (мне встречалась цена в 35 тысяч рублей, причем не очень понятно, за которую из моделей).

Тем не менее, интересно — будет ли в результате поколеблена гегемония PC-архитектуры в «настольном секторе»? Ведь, казалось бы, сделать из данной игровой приставки нормальную персоналку не так уж и сложно. Что ж, поживем — увидим.