Убийца линукс-кластеров?

Когда я покупал компьютер (а это было очень давно), моё внимание привлекла надпись в прайс-листе: "PENTIUM PRO KILLER!!!". Продавцы комплектующих так рекламировали... AMD K6. Оставим данное утверждение на их совести, но попутно замечу, что купил я именно К6-166. Не потому, что он "убийца Пеньтиума Про", а потому что производительность 32-битных приложений была для меня важнее, чем скорость математического сопроцессора (FPU). Легко и приятно делать выбор, когда знаешь чего хочешь, правда? Вспомнился мне этот забавный эпизод вот по какому случаю...

Небольшая фирма ClearSpeed Technologies, специализирующаяся на разработке процессоров, обнародовала планы по созданию устройства, превращающего обычный десктоп (или даже ноутбук!) в сверхмощную числомолотилку. Это PCI-плата, на которой в параллельном режиме установлено до четырёх процессоров CS301, каждый из которых способен на 25 миллиардов операций с плавающей точкой в секунду, то есть 25 гигафлоп. Обычно PCI-слотов не более шести, так что в максимальной комплектации (24 процессора) итоговая мощность составляет 600 гигафлоп. И всё это за какие-то жалкие 25 килобаксов, или около 40 долларов за 1 гигафлоп (ну очень смешные деньги). Для сравнения: построенный японцами Earth Simulator выдаёт 35 терафлоп (35000 гигафлоп) и стоит 350 мегабаксов. Нетрудно подсчитать (даже в уме), что удельная стоимость гигафлопа составляет ровно 10000 долларов, то есть в 240 раз дороже! Отличия в габаритах и энергопотреблении даже упоминать не буду...

ClearSpeed обещает выпустить опытные образцы к концу года и утверждает, что некоторые производители серверов уже сейчас рассматривают возможность использования следующего поколения этих чипов как основу для постройки петафлоповых (!) машин. Петафлоп - это тысяча терафлоп, миллион гигафлоп, миллиард мегафлоп. Для сравнения: мой старенький К6-200 может похвастаться тридцатью мегафлопами, а McKinley (Итаниум2) - всего тремя, но уже гигафлопами. Вполне возможно, что многим пользователям (например, участвующим в распределенных вычислениях наподобие Seti@Home или Mersenne Prime Search) захочется иметь "суперкомпьютер на рабочем столе", как его назвал директор по архитектуре ClearSpeed Саймон Макинтош-Смит.

Забавное совпадение - наиболее близким аналогом и конкурентом является технология AltiVec, используемая в компьютерах Apple Macintosh G4/G5. Принцип работы в обоих случаях одинаков - математический сопроцессор (CS301 или AltiVec) помогает основному процессору (IA32 или PowerPC G4/G5 соответственно) выполнять сложные вычисления над большими массивами данных. Разумеется, CS301 обладает (на бумаге) гораздо большими возможностями. "Вы можете считать его большим шагом в эволюции AltiVec", - сказал Майк Калис, президент ClearSpeed. Утверждается также, что с помощью этой технологии можно построить аналог небольшого линукс-кластера на основе ноутбука (разумеется, когда соответствующие устройства появятся в формате PCMCIA) и разогнать обычный PC до уровня линукс-кластеров из списка Top500.

Перспективы, конечно, радужные... если всё это правда и чип будет выпущен в ближайшее время. Аналитики оценивают его архитектуру очень высоко, но возникает вопрос - как повлияют на производительность системы скорость PCI-шины? Ведь не случайно современные видеокарты выпускаются для шины AGP - им требуется очень быстро обмениваться данными с процессором и памятью. PCI давно уже не соответствует этим требованиям, почему же её возможностей должно хватить для обслуживания нескольких высокопроизводительных процессоров? Напомню, что FPU интегрируется в основной процессор с незапамятных времён Пеньтиума Первого (а ещё раньше был i486DX, но это уже совсем другая история). Может быть, они имели в виду PCI-X? И это далеко не единственный вопрос. Хватит ли пропускной способности системной памяти? Будет ли поддержка со стороны производителей программного обеспечения? Насколько сложные изменения потребуются в алгоритмах математических программ? Разрабатываются ли соответствующие компиляторы? Обеспечат ли драйвера достаточно эффективную
синхронизацию между платами? Поможет ли это операционной системе обрабатывать данные (например, видео и 3D) в реальном времени? Нет ответа. Да, векторная архитектура - это хорошо, вспомним хотя бы сопроцессоры Weitek и суперкомпьютеры Cray. Вспомним и помянем...

Мы делаем общее доброе дело для нашей любимой БеОС.

Последней версией дистрибутива BeOS Max будет 3.1, потом участники проекта самоустранятся, чтобы освободить дорогу Зете. Без дела разработчики не останутся - они займутся написанием приложений и драйверов, причём наибольший приоритет получат тулзы наподобие BePascal и BeXl. Так будет по крайней мере до тех пор, пока не выйдет первый релиз OpenBeOS. Как только это произойдёт, BeOS Max будет заменён на OBOS. Такая двойственная позиция (готовность сотрудничать с движением OpenSource одновременно с декларацией лояльности по отношению к YellowTAB - производителю насквозь коммерческой Зеты) кажется странной, но BeOS Max Team объясняет её довольно логично: "Если вам нравится БеОС, то Зета - путь вперёд. Будут ли они продолжать работу - зависит от объёма продаж, поэтому мы не хотим быть препятствием, пусть даже очень маленьким". Что ж, главное - это развитие ОС, а получать за это деньги никому не воспрещается. Продавать ли свой труд, и платить ли за труд других - личное дело каждого.

Команда, работающая над OpenBeOS, была слишком занята, чтобы регулярно сообщать о своих успехах. Вместо этого они подготовили пространный отчёт, подробно описывающий состояние каждой подсистемы этого Be-клона. Общее впечатление таково - прогресс заметен невооружённым глазом, статус проекта асимптотически приближается к альфа-релизу.

App/Interface Kit: самое трудное позади, но app_server состоит не только из "самых трудных" частей - есть и просто трудные... Их тоже кто-то должен делать.

Game Kit: состоит, по сути, из двух подсистем, одна из которых (Audio) не имеет смысла без Media Kit, а другая (Video) слишком зависит от app_server, так что прогресс незначителен.

Media Kit: было несколько пробных выпусков, но без Codec API. Как только он будет доделан, разработка пойдёт семимильными шагами за счёт заимствования кодеков из других опенсорс-проектов.

Утилиты командной строки: процесс портирования из других осей почти завершён. Странная деталь: в связи с этим упоминается BSD. Афаик, оригинальные консольные команды из BeOS 5 доступны в исходниках под лицензией ГНУ. Их даже скачивать не надо - сырцы уже есть на дистрибутивном диске. Зачем, спрашивается, писать два раза одно и то же?

Storage Kit: довольно хорошо выполнена "пользовательская" часть кода, а вот интеграция с ядром идёт, конечно, медленно и трудно. Радостное прибавление: поддержка файловой системы UDF.

BFS: разработка практически завершена, теперь нужно тестирование, тестирование и ещё раз тестирование. Есть несколько известных, воспроизводимых багов, но избавление от лажи (в простонаречье - отлаживание) идёт не очень активно - все силы сосредоточены на других, более важных и менее проработанных направлениях.

Input Kit: готов на 95%.

MIDI: почти готов, единственная загвоздка - synthesizer.

Печать: тоже вышла на отметку 95%. Осталось доделать BPrintJob, и, может быть, улучшить панель настроек и драйвер Epson Stylus. Уже сейчас поддерживается гораздо большее количество моделей принтеров, чем в оригинальной BeOS.

Конвертор: осталось немного - добавить поддержку GIF и некоторых особенностей, присущих отдельным графическим форматам, например, способность TIFF-файла содержать несколько изображений.

Kernel: проделана огромная работа, чтобы обеспечить загрузку ядра на PowerPC-машинах. Многие из этих изменений затрагивают не только PPC, но и x86. Драйвера IDE-дисков близки к завершению. Всё это позволит отказаться от bootfs и обеспечить нормальную загрузку путём чтения файлов с системного BFS-раздела. Работы ещё очень много, но где вы видели ядро, про которое можно было бы сказать обратное?

Сеть: Идёт работа над PPP, но проекту позарез нужны ещё хотя бы 3-4 кодера, разбирающихся в поддержке сети на уровне ядра.

Седьмой Дарвин

Вышел релиз Apple Darwin OS 7.0, соответствующий MacOS 10.3. Огромное количество исходных текстов доступно для скачивания в виде тарболлов, а также через CVS-репозиторий. Сырцы распространяются под разными лицензиями, главным образом под APSL (Apple Public Source License). Кроме прочего, были обновлены: gcc, gdb, cups, efax, gimp-print, tcl, Rendezvous, StreamingServer, HeaderDoc. Не надо путать Apple Darwin и GNU-Darwin, это разные проекты, так же как APSL и GPL - это разные лицензии. Кстати, был ещё OpenDarwin, но что с ним стало - не знаю, официальный сайт исчез или переехал. Скорее всего, он влился в проект GNU-Darwin, тем более что они во многом похожи. Что же касается двух оставшихся Дарвинов, то первопричину их противостояния нужно искать в юридической, а не в технической сфере. Основная мысль, заключённая в GNU Public License - это полная свобода копирования, распространения, использования кода в бинарниках и сырцах, при условии, что все дочерние проекты будут под GPL. Таким образом, весь GNU-код заведомо защищён от последующей коммерциализации и/или сокрытия. APSL имеет существенные недостатки, например нельзя вносить изменения, не посоветовавшись с мнением Эпплы относительно каждой строки кода, но главное - действие лицензии может быть в любое время приостановлено. Другими словами, мы фактически не имеем права на запись, да и чтение нам могут в любой момент запретить - останется только право на исполнение. Дарвин Гнутыч имеет права доступа 777, а Дарвин Яблокович - 755, причём пятёрки могут превратиться в единички, а то и в нолики, если вдруг левой ноге Стива Джобса так захочется. Неудивительно, что охотников проявлять альтруизм по отношению к неблагодарной корпорации становится всё меньше...

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии