габариты 38х152х206 мм
рекомендованная цена $230
Первое на рынке USB-устройство с двумя тюнерами позволяет не только смотреть телепередачи, используя паузу и возврат, но и записывать две сразу программы или же записывать один канал во время просмотра другого. Производитель предлагает использовать AVC-3610 совместно с ноутбуком или десктопом, работающим под управлением Windows XP Media Center Edition 2005. В комплект входит ПДУ, подставка для вертикальной установки, кабели и блок питания. Захват видео осуществляется в формате MPEG-2 с максимальным разрешением 720x480.
DLP-телевизор Samsung SP-67L6HXR
диагональ 67 дюймов
разрешение 1280x720p
яркость 550 кд/кв. м
контрастность 2500:1
встроенная акустика (2x15 Вт)
система объемного звука TruSurround XT
функция «картинка в картинке»
габариты 1584х502х1144,5 мм
вес 49,8 кг
ориентировочная цена $4500
Сердцем новинки является DMD-микросхема HD4 DarkChip фирмы Texas Instruments. Проекционный тракт Smooth Picture (семисегментное цветовое колесо, вращающееся в воздушном подшипнике, плюс оптика Carl Zeiss) обеспечивает гладкую, без пикселизации и и геометрических искажений картинку с точной цветопередачей. Возможен прием телепрограмм со стереозвуком (NICAM/A2). Устройство можно подключать к компьютеру через вход D-Sub, а также к различной бытовой технике через один из аналоговых видеовходов или по порту HDMI. На российских прилавках телевизор появится в январе.
Ноутбуки LG LS75 Express и LW65/75 Express
процессор Intel Pentium M 740, 760, 780 (FSB 533 МГц, кэш 2 Mбайт)
объем памяти DDR 2 512 Мбайт (до 2 Гбайт)
экран 15” SXGA+, 1400x1050 (LS75), 15,4” WXGA, 1280x800 (LW65), 17” WSXGA, 1680x1050 (LW75)
видеосистема ATI Х700 (у LS75 - nVidia GeForce Go 6600)
оптический привод DVD Super Multi (DVD-R/RW, +R/RW, RAM, DL)
жесткий диск 60-100 Гбайт (4200 об./мин., PATA)
адаптер WiFi (802.11b/g)
ориентировочная цена $1550, 1490, 1990
Во всех трех случаях модернизация относительно предыдущей серии коснулась графического адаптера, модуля чтения карт памяти. Кард-ридер теперь понимает пять форматов карт памяти - добавилась поддержка популярного стандарта xD, что способствует более широкой совместимости с цифровыми мобильными устройствами, в первую очередь фотокамерами. Модели LW65 и LW75 Express, причисляемые к классу портативных мультимедиа-центров, получили более производительный 3D-чип ATI Mobility Radeon X700 со 128 Мбайт быстрой видеопамяти. Кроме того, новые видеокарты поддерживают технологию HyperMеmory, что позволяет удвоить объем доступной видеопамяти до 256 Мбайт за счет дополнительного буфера в области ОЗУ. Как и предшествующие модели LW60/70 Express, новые модификации ориентированы в первую очередь на домашних пользователей, желающих получить от своего «мобильного друга» максимум возможностей для отдыха и любимых увлечений. Модели поставляются с широкоформатными экранами FineBright, системой многоканального звука HD Audio, имеют в комплекте пульт ДУ для управления медийными функциями, в том числе автономной системой InstantON, которая позволяет воспроизводить DVD и музыкальные компакт-диски, не загружая ОС. Модель LS75 Express - первая в продуктовом ряду LG с графическим решением от компании nVidia. В ноутбуке установлен адаптер GeForce Go 6600 со 128 Мбайт памяти «на борту».
Телефон LG S3500
TFT-дисплей (128x160, 262000 цветов)
40-голосная полифония
встроенная VGA-камера
диктофон
габариты 88х44х22 мм
вес 90 г
ориентировочная цена $245
Телефон-«слайдер» стандарта GSM 900/1800 c VGA-камерой и расширенными функциями беспроводного доступа в Интернет через WAP-браузер и GPRS (класса 10). TFT-дисплей имеет разрешение 128х160 и отображает 262 тысячи цветов. По традиции телефон оснащен 40-инструментальной полифонией, а также функциями JAVA, MMS, SMS и EMS. MMS дает возможность обмениваться мультимедийными сообщениями, содержащими полноцветные изображения, мелодии и записанные вами звуковые фрагменты. JAVA позволит расширить функциональность аппарата, установив, например, новые игры или какие-либо полезные программы. С помощью функции Caller Groups («Группы абонентов») можно просматривать и редактировать список групп (абоненты в телефонной книжке разбиваются на смысловые группы, как-то: «семья», «коллеги», «друзья» и др.), каждой группе можно присвоить собственный сигнал вызова, иконку, анимацию. Дружественный пользовательский интерфейс содержит огромное количество всевозможных настроек и спецэффектов, а также красочные анимационные заставки, способные удовлетворить любого эстета. Одной зарядки литий-ионной батареи емкостью 780 мА/ч хватает на 250 часов в режиме ожидания и на 3,5 часа в режиме разговора.
Принтер Xerox Phaser 6120
четырехпроходная цветная лазерная печать
формат A4
300-МГц процессор Motorola
128 Мбайт памяти (до 640 Мбайт)
скорость 5 стр./мин. в цвете, 20 стр./мин. в монохроме
разрешение 600 dpi
максимальная нагрузка 35 тысяч страниц в месяц
печать на бумаге плотностью до 163 г/кв. м
поддержка PostScript 3, PCL 6/5c/5e
габариты 442x395x341 мм
вес 20,2 кг
Возможности этого офисного принтера начального уровня можно расширить, докупив второй лоток на 500 листов, приспособление для дуплексной печати или жесткий диск на 20 Гбайт. Приобретая последний, вы получаете такие функции, как защищенная и отложенная печать, а также прямой вывод PDF-файлов. Phaser 6120 прекрасно справляется не только с бумагой, но и с наклейками и прозрачной пленкой. В стандартной комплектации принтер имеет порты параллельный, USB 2.0 и сетевой, а управлять им можно с компьютера через встроенный веб-сервер CentreWare IS.
Жесткие диски LaCie Brick
объем 160-500 Гбайт (настольный вариант)
объем 40-120 Гбайт (мобильный вариант)
интерфейс USB 2.0 или FireWire
цена от $100 (за 40-Гбайт мобильную версию)
Неординарное дизайнерское решение вывела на рынок компания LaCie, представив жесткие диски Brick Hard Drive - в настольном (3,5 дюйма, USB 2.0) и мобильном (2,5 дюйма, USB 2.0 или USB 2.0 + FireWire) вариантах. «Кирпичики», окрашенные в белый, красный или синий цвет, напоминают детали детского конструктора Lego (идея принадлежит французскому дизайнеру Ora-Пto). Несколько накопителей можно устанавливать друг на друга. Настольные модели объемом от 300 Гбайт оснащены встроенным вентилятором, скорость вращения которого регулируется автоматически в зависимости от температуры винчестера. Остальные модели вентилятора лишены, поэтому работают тише.
MP3-плейер Jens of Sweden MP-X
512 Мбайт или 1 Гбайт флэш-памяти
поддержка MP3, WMA, ASF и OGG
эквалайзер с предустановками Normal, Rock, Jazz, Classic, Pop, Live
диапазон частот от 20 Гц до 20 кГц
отношение сигнал/шум 85 дБ
литий-полимерная батарея
интерфейс USB 2.0
габариты 54x43x11 мм
вес с батареей 30 г
цена за 1-Гбайт версию 85 евро, за 512-Мбайт - 68 евро
Новый плейер шведской фирмы проливает бальзам на душу, измученную вездесущими iPod-подобными поделками. Прежде всего, у него нет ЖК-экрана, отсутствует и FM-тюнер - все это лишнее для целевой аудитории (люди, занимающиеся спортом). Зато он имеет корпус из прочного пластика, обернутого мягкой и прочной резиной, что позволяет не вздрагивать при каждом его падении и не беспокоиться о сохранности, например, в дождь. Батарея обеспечивает 12 часов непрерывного воспроизведения без подзарядки. Наушники в комплекте не предусмотрены. Их придется покупать либо отдельно, либо в специальном наборе (стоит 20 евро) для MP-X, куда помимо наушников Koss Spark входит блок питания.
Камера Mustek GSmart S50
3,1-Мп КМОП-сенсор
1,5-дюймовый ЖК-экран
32 Мбайт встроенной памяти
4-кратный цифровой зум
интерфейс USB 1.1
поддержка карт SD (до 1 Гбайт)
габариты 88x60x15 мм
вес 64 г
цена $130
Эта «ультрабюджетная» модель выглядит гостьей из прошлого: по характеристикам она недалеко ушла от заурядных встроенных камер сотовых телефонов (чему виной, разумеется, небольшие габариты). Новинка позволяет делать снимки разрешением до 5 мегапикселов (конечно, с интерполяцией). Оптический зум отсутствует, фокус - ступенчатый (от 1,5 м до бесконечности). Одна радость: камера имеет перезаряжаемую литий-полимерную батарею, а не ограничивается щелочными элементами, как большинство ее товарок.
Автономный DVD-рекордер Sony DVDirect VRD-MC1
интерфейс USB 2.0
формат карт памяти: MS, MS Duo, CF, SD и xD
скорости записи: DVD+R и DVD-R 16x, DVD+R DL 8x,DVD-R DL 4х, DVD+RW 8x, DVD-RW 6x
цветовая система: NTSC, PAL
цена $299
Рекордер, подобно ранее выпущенному VRD-VC20, может записывать информацию с цифровых источников на DVD-диск без использования компьютера. Записанные диски можно просматривать на ПК или DVD-плейере. VRD-MC1 поддерживает технологию прямой печати PictBridge, для удобства пользования которой имеет 2-дюймовый ЖК-дисплей. Кроме того, для подключения цифровых видеокамер предусмотрен DV-вход, а для копирования на DVD фотографий с карт памяти - кард-ридер. Однако самой интересной функцией является возможность на лету переводить видеозаписи, хранящиеся на VHS-кассетах, в формат MPEG-2; для этого новинка оснащена S-Video и композитным видеовходом, а также аналоговым аудиовходом.
ТЕХНОЛОГИИ: Параллельные вычисления: кластеры
Авторы: Сергей Озеров, Алексей Калиниченко
Вершина современной инженерной мысли - сервер Hewlett-Packard Integrity Model SD64A. Огромная SMP-система, объединяющая в себе 64 процессора Intel Itanium 2 с частотой 1,6 ГГц и 256 Гбайт оперативной памяти, колоссальная производительность, внушительная цена - 6,5 млн. долларов…
Нижняя строчка свежего рейтинга пятисот самых быстрых компьютеров мира: принадлежащий группе компаний SunTrust Banks Florida кластер на основе блейд-серверов HP ProLiant BL-25p. 480 процессоров Intel Xeon 3,2 ГГц; 240 Гбайт оперативной памяти. Цена - меньше миллиона долларов.
Как-то странно получается, согласитесь: шесть с половиной миллионов долларов за 64-процессорный сервер и вдесятеро меньше - за примерно аналогичный по объему памяти и дисковой подсистеме, но уже 480-процессорный суперкомпьютер, причем от того же самого производителя. Впрочем, странно это только на первый взгляд: общего у двух компьютеров совсем немного. SD64A - представитель «классического» направления симметричной многопроцессорности (SMP), хорошо знакомого нам по обычным серверам и многоядерным системам, позволяющий использовать «традиционное» параллельное ПО. Это кучка процессоров, много оперативной памяти и очень сложная система, сводящая их (и периферию сервера) в единое целое; причем даже весьма недешевые процессоры (по четыре тысячи долларов за каждый) и огромный объем оперативной памяти (по двести долларов за каждый гигабайт) - лишь малая часть стоимости этой «объединяющей» части сервера. Машина же SunTrust Bank Florida - представитель современного «кластерного» направления и по сути - просто набор соединенных в Ethernet-сеть обычных «недорогих» (по паре тысяч долларов за штуку) компьютеров. Серверная стойка, набор кабелей, система питания и охлаждения - вот и все, что эти компьютеры объединяет.
Что такое кластер?
Стандартное определение таково: кластер - это набор вычислительных узлов (вполне самостоятельных компьютеров), связанных высокоскоростной сетью (интерконнектом) и объединенных в логическое целое специальным программным обеспечением. Фактически простейший кластер можно собрать из нескольких персоналок, находящихся в одной локальной сети, просто установив на них соответствующее ПО[Всех желающих сделать это самостоятельно отсылаем к статье Михаила Попова «Еда и кластеры на скорую руку» (offline.computerra.ru/2002/430/15844), которая до сих пор актуальна]. Однако подобные схемы - скорее редкость, нежели правило: обычно кластеры (даже недорогие) собираются из специально выделенных для этой цели компьютеров и связываются друг с другом отдельной локальной сетью.
В чем идея подобного объединения? Кластеры ассоциируются у нас с суперкомпьютерами, круглые сутки решающими на десятках, сотнях и тысячах вычислительных узлов какую-нибудь сверхбольшую задачу, но на практике существует и множество куда более «приземленных» кластерных применений. Часто встречаются кластеры, в которых одни узлы, дублируя другие, готовы в любой момент перехватить управление, или, например, одни узлы, проверяя получаемые с другого узла результаты, радикально повышают надежность системы. Еще одно популярное применение кластеров - решение задачи массового обслуживания, когда серверу приходится отвечать на большое количество независимых запросов, которые можно легко раскидать по разным вычислительным узлам[Обычно эту штуку называют серверной фермой, именно по такому принципу работает Google]. Однако рассказывать об этих двух, если угодно, «вырожденных» случаях кластерных систем практически нечего - из их краткого описания и так ясно, как они работают; поэтому разговор наш пойдет именно о суперкомпьютерах.
Итак, суперкомпьютер-кластер. Он состоит из трех основных компонентов: собственно «вычислялок» - компьютеров, образующих узлы кластера; интерконнекта, соединяющего эти узлы в сеть, и программного обеспечения, заставляющего всю конструкцию «почувствовать» себя единым компьютером. В роли вычислительных узлов может выступать что угодно - от старой никому не нужной персоналки до современного четырехпроцессорного сервера, причем их количество ничем не ограниченно (ну разве что площадью помещения да здравым смыслом). Чем быстрее и чем больше - тем лучше; и как эти узлы устроены, тоже неважно[Обычно для упрощения решения и непростой задачи балансировки нагрузки на разные узлы кластера все узлы в кластере делают одинаковыми, но даже это требование не абсолютно]. Гораздо интереснее обстоят дела с интерконнектом и программным обеспечением.
Как устроен кластер?
История развития кластерных систем неразрывно связана с развитием сетевых технологий. Дело в том, что, чем больше элементов в кластере и чем они быстрее, (и, соответственно, чем выше быстродействие всего кластера), тем более жесткие требования предъявляются к скорости интерконнекта. Можно собрать кластерную систему хоть из 10 тысяч узлов, но если вы не обеспечите достаточной скорости обмена данными, то производительность компьютера по-прежнему оставит желать лучшего. А поскольку кластеры в высокопроизводительных вычислениях - это практически всегда суперкомпьютеры[Программирование для кластеров - весьма трудоемкая задача, и если есть возможность обойтись обычным сервером SMP-архитектуры с эквивалентной производительностью, то так и предпочитают делать. Поэтому кластеры используются только там, где SMP обходится слишком дорого, а со всех практических точек зрения требующие такого количества ресурсов машины - это уже суперкомпьютеры], то и интерконнект для них просто обязан быть очень быстрым, иначе полностью раскрыть свои возможности кластер не сможет. В результате практически все известные сетевые технологии хотя бы раз использовались для создания кластеров[Я даже слышал о попытках использования в качестве интерконнекта стандартных портов USB], причем разработчики зачастую не ограничивались стандартом и изобретали «фирменные» кластерные решения, как, например, интерконнект, основанный на нескольких линиях Ethernet, включаемых между парой компьютеров в параллель. К счастью, с повсеместным распространением гигабитных сетевых карт, ситуация в этой области становится проще[Почти половину списка суперкомпьютеров Top 500 составляют кластеры, построенные на основе Gigabit Ethernet], - они довольно дешевы, и в большинстве случаев предоставляемых ими скоростей вполне достаточно.
Вообще, по пропускной способности интерконнект почти дошел до разумного предела: так, постепенно появляющиеся на рынке 10-гигабитные адаптеры Ethernet вплотную подобрались к скоростям внутренних шин компьютера, и если создать некий гипотетический 100-гигабитный Ethernet, то не найдется ни одного компьютера, способного пропустить через себя такой огромный поток данных. Но на практике десятигигабитная локальная сеть, несмотря на всю свою перспективность, встречается редко - технология Ethernet допускает использование только топологии «звезда», а в подобной системе центральный коммутатор, к которому подключаются все остальные элементы, обязательно будет узким местом. Кроме того, у Ethernet-сетей довольно большая латентность[Время между отправкой запроса одним узлом и получением этого запроса другим узлом], что тоже затрудняет их использование в «тесно связанных» задачах, где отдельные вычислительные узлы должны активно обмениваться информацией. Поэтому несмотря на почти предельную пропускную способность Ethernet-решений в кластерах широко используются сети со специфической топологией - старая добрая Myrinet, дорогая элитная Quadrics, новенькая InfiniBand и др. Все эти технологии «заточены» под распределенные приложения и обеспечивают минимальную латентность исполнения команд и максимальную производительность. Вместо традиционной «звезды» здесь из вычислительных элементов строятся плоские и пространственные решетки, многомерные гиперкубы, поверхности трехмерного тора и другие «топологически хитрые» объекты. Такой подход позволяет одновременно передавать множество данных по сети, гарантируя отсутствие узких мест и увеличивая суммарную пропускную способность.
Как развитие идей быстрого интерконнекта отметим, например, адаптеры сети InfiniBand, подключающиеся через специальный слот HTX к процессорной шине HyperTransport. Фактически адаптер напрямую подключается к процессору[Напомним, что в многопроцессорных системах на базе AMD Opteron межпроцессорное взаимодействие происходит именно по этой шине]! Лучшие образцы подобных решений обеспечивают столь высокую производительность, что построенные на их основе кластеры вплотную приближаются по характеристикам к классическим SMP-системам, а то и превосходят их. Так, в ближайшие несколько месяцев на рынке должен появиться интереснейший чип под названием Chorus, который по четырем шинам HyperTransport подключается к четырем или двум процессорам AMD Opteron, расположенным на одной с ним материнской плате, и с помощью трех линков InfiniBand может подключаться еще к трем другим «Хорусам», контролирующим другие четверки (или пары) процессоров. Один Chorus - это одна материнская плата и один сравнительно независимый узел с несколькими процессорами, подключаемый стандартными кабелями InfiniBand к остальным узлам. Внешне вроде бы получается кластер, но - только внешне: оперативная память у всех материнских плат общая. Всего в текущем варианте может объединяться до восьми «Хорусов» (и соответственно до 32 процессоров), причем все процессоры будут работать уже не как кластер, а как единая SUMA-система, сохраняя, однако, главное достоинство кластеров - невысокую стоимость и возможность наращивания мощности. Такой вот получается «суперкластеринг», стирающий границы между кластерами и SMP.
Впрочем, все эти новомодные решения совсем не дешевы, - а ведь начинали мы с невысокой себестоимости кластера. Поэтому «Хорусы» да «Инфинибенды», стоящие солидных денег (несколько тысяч долларов на каждый узел кластера, что хоть и гораздо меньше, чем у аналогичных SMP-систем, но все равно дорого), встречаются нечасто. В секторе «академических» суперкомпьютеров, принадлежащих университетам, обычно используются самые дешевые решения, так называемые Beowulf-кластеры, состоящие из набора персоналок, соединенных гигабитной или даже стомегабитной Ethеrnet-сетью и работающих под управлением бесплатных операционных систем типа Linux. Несмотря на то что собираются такие системы буквально «на коленке», иногда из них все равно вырастают сенсации: к примеру, «биг-мак» - собранный из 1100 обычных «макинтошей» самодельный кластер, обошедшийся организаторам всего в 5,2 млн. долларов и умудрившийся занять в 2003 году третье место в рейтинге Top 500.
GRID-сети
Можно ли «продолжить» кластеры в сторону меньшей связанности точно так же, как, «продолжив» их в другом направлении, мы пришли к чипу Chorus и «почти SMP»? Можно! При этом мы отказываемся от построения специальной кластерной сети, а пытаемся использовать уже имеющиеся ресурсы - локальные сети и образующие их компьютеры. Общее название подобного рода решений - GRID-технологии, или технологии распределенных вычислений (вы наверняка с ними хорошо знакомы по таким проектам, как Distributed.Net или SETI@Home; машины добровольцев, участвующих в этих проектах, загружены разнообразными расчетами, ведущимися в то время, когда ПК хозяину не нужен). Ограничиваться достигнутым создатели GRID-систем не собираются и ставят перед собой амбициозную цель - сделать вычислительные мощности таким же доступным ресурсом, как электричество или газ в квартире. В идеале все компьютеры, подключенные к Интернету в рамках GRID, должны быть объединены в некое подобие кластера, и в то время, когда ваша машина простаивает, ее ресурсы будут доступны другим пользователям, а когда у вас возникает необходимость в больших мощностях, вам помогают «чужие» свободные компьютеры, которых в Сети предостаточно (кто-то отошел попить кофе, кто-то занимается серфингом или другими не загружающими процессор делами). Приоритетный доступ к ресурсам GRID будут иметь ученые, которые получат в распоряжение в буквальном смысле всемирный суперкомпьютер; но и обычные пользователи тоже внакладе не останутся.
Впрочем, если на словах все выглядит так замечательно, то почему это светлое будущее до сих пор не настало? Все дело в том, что при создании GRID возникают нетривиальные проблемы, решать которые пока никто толком не научился. В отличие от простого кластера при создании подобной системы приходится учитывать такие факторы, как неоднородность вычислительных узлов, низкая пропускная способность и нестабильность каналов, куда большее количество одновременно выполняемых задач, непредсказуемое поведение элементов системы, ну и, конечно, недоброжелательность некоторых пользователей. Судите сами: неоднородность нашей сети (причем очень сильная) возникает оттого, что к Интернету подключены самые разные компьютеры; у них разные возможности, разные линии связи и разные хозяева (режим работы у каждого свой). К примеру, где-то в школе есть гигабитная сеть из трех десятков почти всегда доступных, но не очень быстрых компьютеров, выключающихся на ночь в строго определенное время; а где-то стоит одинокий компьютер с завидной производительностью, непредсказуемо подключаемый к Сети по слабенькому дайлапу: так вот, в первом случае будут очень хорошо выполняться одни задачи, а во втором - совершенно другие. И для обеспечения высокой производительности системы в целом все это надо как-то анализировать и прогнозировать, чтобы оптимальным образом спланировать выполнение различных операций.
Далее. С плохими каналами связи трудно что-то сделать, но ведь можно не ждать светлого будущего, когда Интернет станет быстрым и надежным, а уже сейчас применять действенные методы сжатия и контроля целостности передаваемой информации. Вполне возможно, что резко повысившаяся за счет этого пропускная способность каналов скомпенсирует выросшую из-за необходимости сжатия и контроля вычислительную нагрузку на компьютеры сети.
К сожалению, большое количество одновременно выполняемых задач существенно увеличивает нагрузку на управляющие элементы GRID-сети и осложняет задачу эффективного планирования, поскольку уже сами «управленцы», контролирующие эту сеть, зачастую начинают требовать для себя отдельный суперкомпьютер, ссылаясь на необходимость сложного контроля и планирования. А планировать и осуществлять контроль им действительно нелегко, и не только из-за неоднородности планируемых ресурсов, но и по причине их «ненадежности». Вот, к примеру, непредсказуемое поведение хозяина компьютера - это отдельная песня. В обычном кластере выход элемента из строя - нештатная ситуация, которая влечет за собой остановку вычислений и ремонтные работы, в GRID же отказ одного элемента - нормальная ситуация (почему бы не выключить компьютер, когда вам это надо?), ее нужно корректно обработать и передать невыполненное задание на другой узел или же заранее назначать одно и то же задание нескольким узлам.
И наконец, никуда не деться в GRID-сетях от недоброжелательных пользователей (не зря же сейчас очень много делается для защиты информации). Ведь нам нужно как-то распределять и планировать во всей сети задания от всех ее пользователей, - и мало ли чего какой-нибудь Василий Пупкин мог туда запустить? Сегодня и без того вирусы, заражающие подключенные к Интернету компьютеры специальными троянами («зомбирование») и создающие целые «зомби-сети» из зараженных машин, готовых делать все, что заблагорассудится автору вируса (проводить ли распределенные DDoS-атаки или рассылать спам - неважно), представляют собой серьезнейшую угрозу, а тут - у любого человека появляется возможность посредством штатной системы рассылки распространить любой код на сотни и тысячи персоналок. И хотя эта проблема в принципе решаема (например, путем создания для выполняемых задач виртуальных машин - благо вскоре технологии
, которые позволят это сделать без особого труда, станут штатной принадлежностью большинства новых компьютеров), то как защититься от банальной «шалости» в виде запуска бессмысленного кода (скажем, бесконечного цикла) и замусоривания им GRID-сети?
На самом деле все не так грустно, и многое в GRID-направлении уже сделано. Запущены и функционируют десятки проектов, использующих распределенные вычисления для научных и околонаучных целей; запущены и GRID-сети для «внутриуниверситетского» научного использования - в частности, CrossGrid, DataGrid и EUROGRID.
Программное обеспечение для кластеров
А вот здесь все очевидно и просто: фактически на протяжении последних пяти лет для кластерных вычислений существует один-единственный стандарт - MPI (Message Passing Interface). Программы, написанные с использованием MPI, абсолютно переносимы - их можно запускать и на SMP-машине, и на NUMA, и на любой разновидности кластера, и на GRID-сети, причем из любой операционной системы. Конкретных реализаций MPI довольно много (к примеру, каждый поставщик «фирменного» быстрого интерконнекта может предлагать свой вариант MPI-библиотеки для его решения), однако благодаря совместимости выбирать из них можно любой, какой вам приглянется (например, быстродействием или удобством настройки). Очень часто используется такой OpenSource-проект, как MPICH, обеспечивающий работу на более чем двух десятках различных платформ, включая самые популярные - SMP (межпроцессное взаимодействие через разделяемую память) и кластеры с интерконнектом Ethernet (межпроцессное взаимодействие поверх протокола TCP/IP), - если доведется когда-нибудь настраивать кластер, то начать советую именно с него.
На «классических» SMP-системах и некоторых NUMA’х реализация параллельных вычислений с использованием MPI заметно уступает по производительности более «аппаратно ориентированным» многопоточным приложениям, поэтому наряду с «чистыми» MPI-решениями встречаются «гибриды», в которых на кластере «в целом» программа работает с использованием MPI, но на каждом конкретном узле сети (а каждый узел кластера - это зачастую SMP-система) работает MPI-процесс, распараллеленный вручную на несколько потоков. Как правило, это гораздо эффективнее, но и гораздо труднее в реализации, а потому на практике встречается нечасто.
Как уже говорилось, можно выбрать практически любую операционную систему. Традиционно для создания кластеров используется Linux (более 70% систем Top 500) или другие разновидности Unix (оставшиеся 30%), однако последнее время к этому престижному рынку HPC (High Perfomance Computing) присматривается и Microsoft, выпустившая бета-версию Windows Compute Claster Server 2003[Бесплатно скачать эту бету можно
], в состав которой включена микрософтовская версия библиотеки MPI - MSMPI. Так что организация «кластера своими руками» вскоре может стать уделом не только юниксоидов, но и их менее знающих собратьев-администраторов, да и вообще - значительно упроститься.
Напоследок скажем, что кластерные вычисления годятся далеко не для всяких задач. Во-первых, программы под кластерные вычисления нужно «затачивать» вручную, самостоятельно планируя и маршрутизируя потоки данных между отдельными узлами. MPI, правда, сильно упрощает разработку параллельных приложений в том плане, что в нем при понимании сути происходящего соответствующий код очень нагляден и очевиден, и традиционные глюки параллельных программ типа дедлоков или параллельного использования ресурсов практически не возникают. Но вот заставить получающийся код быстро работать на MPI бывает довольно трудно - зачастую для этого приходится серьезно модифицировать сам программируемый алгоритм. В целом нераспараллеливающиеся и труднораспараллеливающиеся программы на MPI реализуются плохо; а все остальные - более или менее хорошо (в смысле - масштабируются до десятков, а в «хорошем» случае - и до тысяч процессоров). И чем больше степень связанности кластера, тем проще извлекать из него выгоду от параллельной обработки данных: на кластере, связанном сетью Myrinet, программа может работать быстро, а на аналогичном кластере, где интерконнектом выступает Fast Ethernet, - попросту не масштабироваться (не получать дополнительного прироста производительности) сверх десяти процессоров.