Сделанные некогда осторожные предположения о динамике развития технологий удивительным образом трансформировались в жесткие правила, определяющие вектор движения всей ИТ-индустрии. Следование закону Мура на долгие годы стало обязательным для всех производителей микропроцессоров, однако в своем соревновании за увеличение плотности логических элементов исследователи столкнулись с серьезными техническими проблемами. Гонка за гигагерцы неожиданно прекратилась. Сегодня предметом гордости производителей являются нанометровые процессы производства микросхем и ватты энергопотребления. Старые методы программирования больше не работают; надо коренным образом менять подход к архитектуре разрабатываемых программ.

Sun Microsystems

Одним из самых заметных событий конца прошлого года стал выход на рынок процессора Sun UltraSPARC T1 с восемью ядрами, каждое из которых способно обрабатывать четыре потока данных, и общим блоком вычислений с плавающей точкой (Floating Point Unit, FPU); суммарное число обрабатываемых потоков — 32. Поскольку операционная система трактует каждый поток как отдельный процессор, серверы на базе T1, с ее точки зрения, являются 32-процессорными. (Правда, в каждый конкретный момент времени активен только один из четырех потоков ядра, а потому одномоментно вычислениями заняты восемь «процессоров»; переключение между потоками осуществляется по циклической схеме на каждом такте.) Ядра работают на частоте 1 ГГц или 1,2 ГГц и по функциональности аналогичны процессорам предыдущего поколения UltraSPARC III, хотя и существенно упрощены. В частности, урезаны возможности системы предсказания переходов и внеочередного спекулятивного выполнения команд, а число стадий конвейера уменьшено до шести (в UltraSPARC III их 14, а в различных модификациях Pentium 4 — от 20 до 30). Энергопотребление процессора по современным меркам очень невелико, на максимальной частоте 1,2 ГГц оно составляет всего 72 Вт.

Рис. 1. Зависимость производительности процессора Niagara от числа ядер

Подход к многопоточности, взятый на вооружение Sun (он получил название Chip Multi Threading, CMT), обеспечивает достаточно неплохое масштабирование производительности при загрузке большего числа ядер и потоков. Из графика на рис. 1 видно, что до линейной зависимости далеко, но даже в минимальной, четырехъядерной конфигурации при использовании всех 16 потоков суммарная производительность обработки данных возрастает в 10 раз.

Основной недостаток T1 — наличие всего одного блока вычислений с плавающей точкой, а также отсутствие механизма когерентности кэшей. Сегодня серверы на базе T1 — это однопроцессорные системы, предназначенные для работы с хорошо распараллеливаемыми приложениями, не требующими значительной производительности при операциях с плавающей точкой.

Любые приложения, написанные для архитектуры SPARC/Solaris, работают на T1 без перекомпиляции. В то же время вновь разрабатываемые приложения можно оптимизировать в расчете именно на T1.

Рис. 2. Архитектура Niagara II

Следующей инкарнацией T1 станут процессоры, построенные на архитектуре Niagara II (рис. 2), у которых, по предварительным данным, будет восемь ядер, обрабатывающих по восемь потоков (на рисунке они обозначены полосами); всего получится 64 потока на кристалл. У каждого ядра будет собственный блок FPU, а механизмы когерентности кэшей позволят строить эффективные многопроцессорные конфигурации.

В 2008 году появятся процессоры на базе архитектуры Rock (рис. 3) с 16 ядрами, поддерживающими обработку двух потоков каждое; таким образом, суммарное число потоков составит 32. У каждого ядра будет свой блок вычислений с плавающей точкой и обработкой графики (Floating point/Graphics Unit, FGU). Более производительные, чем у Niagara, ядра этих процессоров будут работать на высоких частотах, а по своей функциональности окажутся аналогичны UltraSPARC IV+.

Рис. 3. Архитектура Rock

В архитектуре Rock будет предусмотрена реализация технологии «аппаратных скаутов», т.е. специализированного аппаратного потока с отдельным файлом регистров, который работает на 300-700 циклов впереди основного потока. В те моменты, когда основной поток вынужден бездействовать, ожидая данные из памяти, «скаут» пытается предсказать наиболее вероятный вариант ветвления потока и отдать команды загрузки данных в свои регистры и кэш. (Конечно, это вероятностный процесс, но, как утверждают в Sun, вероятность правильного предсказания составляет 87-98%.) При получении данных из оперативной памяти основным потоком следующие инструкции будут брать данные уже из локального кэша. Чем дольше процессор ожидает загрузки данных, тем больше инструкций будет предсказано и, следовательно, тем меньшее время понадобится для последующей загрузки данных (рис. 4).

На базе архитектуры Rock планируется производить процессоры Pebble для однопроцессорных систем, а также Boulder — для систем с числом процессоров до восьми.

Рис. 4. Архитектура Olympus

До выхода Rock в Sun планируют выпускать свои «классические» многоядерные процессоры UltraSPARC IV и IV+, работающие на частотах 1,05-1,5 ГГц. Также ожидается выход 1,8-гигагерцевой модели UltraSPARC IV+.

Fujitsu

Компания Fujitsu в рамках своей технологии вертикальной многопоточности (Vertical MultiThreading, VMT) разработала многоядерную версию процессора SPARC64. Процессор SPARC64 VI под кодовым названием Olympus (рис. 4) в течение 2006 года поступит в продажу. Процессор будет поставляться Fujitsu как самостоятельно, так и в рамках совместной с Sun инициативы Advanced Product Line (APL). У Olympus два мощных двухпоточных ядра; как предполагается, ядра будут работать на частоте 2,4 ГГц при энергопотреблении в 120 Вт.

В версии процессора SPARC 64 VI+ под кодовым названием Jupiter (рис. 5), которая должна появиться в 2008 году, число ядер увеличится до четырех, а общее число обрабатываемых потоков — до восьми. Процессор будет работать на частоте 2,7 ГГц и потреблять около 110-130 Вт.

Рис. 5. Архитектура Jupiter

Предполагается, что процессоры Jupiter в основном будут использоваться в специализированных приставках-лезвиях, предназначенных для быстрой обработки функций шифрования в сетях. Jupiter сможет подключаться напрямую к процессору Rock, работая в качестве специализированного криптографического сопроцессора.

AMD и Intel

О перспективах использования многоядерных процессоров в компании AMD заговорили еще в 2002 году, но первые двухъядерные серверные Opteron появились только в апреле, а многоядерный процессор для настольных систем, Athlon 64 X2, — в мае 2005-го.

Дальнейшее развитие процессоров AMD (таблица 1) характеризуется постепенным увеличением числа ядер, уменьшением нормы производства и внедрением новых технологий и функций. Так, активно используемые технологии PowerNow! и Cool?n?Quiet позволяют автоматически регулировать тактовую частоту и напряжение питания процессора в зависимости от реальной нагрузки, а скорость вращения вентилятора — в зависимости от температуры кристалла. Четырехъядерные процессоры Opteron Deerhound будут поддерживать новую технологию виртуализации Pacifica, а с модели Athlon 64 Greyhound будет использоваться шина HyperTransport третьего поколения. Основной конкурент Greyhound, процессор Kentsfield от Intel, судя по анонсам должен попасть на рынок годом ранее; однако в отличие от продукта AMD он будет механически объединять в себе отдельные кристаллы ядер, что приведет к более высокому энергопотреблению.

Таблица 1. Развитие процессоров AMD

Есть сведения о том, что в AMD активно разрабатывают новую архитектуру, которая позволит нескольким физическим ядрам выступать в роли одного виртуального. Подобное «агрегированное ядро» позволит эффективнее распределять вычислительные ресурсы между физическими ядрами. Правда, непонятно, какая программная оптимизация понадобится для использования этой функции и как она будет взаимодействовать с классической многопоточной оптимизацией кода.

Корпорация Intel о выходе своих первых двухъядерных процессоров объявила практически одновременно с AMD — весной 2005 года, однако, по оценкам экспертов, предлагаемые решения на базе Pentium Extreme Edition 840 и Pentium D серии 8xx (Smithfield) технологически уступали продуктам конкурента. Дело в том, что в свое время, сделав ставку на Itanium, в Intel приостановили разработку многоядерных и альтернативных 64-разрядных решений.

Один из рубежей в сражении Intel и AMD — механизм межъядерного взаимодействия. В процессорах Intel он реализован через системную шину. В архитектуре AMD64 каждое из ядер обладает своим собственным набором исполнительных устройств и выделенным кэшем второго уровня, а вот контроллер памяти и контроллер шины HyperTransport — общие. Взаимодействие ядра с разделяемыми ресурсами или с другим ядром происходит посредством специального коммутатора; благодаря этому когерентность кэшей ядер обеспечивается без дополнительной нагрузки на системную шину и шину памяти.

В качестве ответного хода Intel нынешней весной представила новую микроархитектуру Core, объединяющую в себе ряд инновационных технологий:

  • Advanced Smart Cache — разделяемый кэш второго уровня, позволяющий одному из ядер процессора использовать всю кэш-память при динамическом отключении другого ядра;
  • Smart Memory Access — повышение производительности системы, сокращение времени отклика памяти и оптимизации ее утилизации;
  • Wide Dynamic Execution — обработка большого числа инструкций за такт; каждое ядро процессора сможет выполнять до четырех инструкций одновременно (в Pentium 4 было три), используя более эффективный конвейер из 14 стадий (в Pentium 4 — до 30);
  • Advanced Digital Media Boost — расширение мультимедийных команд (иногда эту технологию называют SSE4), основанное на возможности одновременного выполнения сразу двух операций над 64-разрядными векторами;
  • Intelligent Power Capability — снижение энергопотребления за счет активации отдельных логических подсистем только по мере необходимости.

Woodcrest и Conroe, первые продукты, выпущенные в июне-июле с использованием новой архитектуры и уже успевшие продемонстрировать в независимых тестах высокую интегральную производительность, дают новый импульс соперничеству Intel и AMD.

К сожалению, до конца не ясны перспективы линейки процессоров Itanium. Так, выпуск двухъядерного Montecito с конца 2005 года был перенесен на середину 2006-го. Правда, 10-миллиардная финансовая помощь, предложенная Intel в начале нынешнего года ее основными заказчиками, компаниями Unisys, NEC, Hitachi, Fujitsu и Bull, позволила уложиться в заявленные сроки; двухъядерный Itanium был выпущен в середине июля. Правда, в версии Montecito, совместимой с платами, используемыми с одноядерной версией Itanium 2 Madison, «бутылочное горло» системной шины все также ограничивает пропускную способность оперативной памяти. В последующих версиях, заверяют в Intel, проблема будет решена, но не какими-то коренными изменениями, а за счет повышения разрядности и частоты шины. Рабочие частоты Montecito, по сложившейся в отрасли доброй традиции (как это было, к примеру, с Sun UltraSPARC IV+ или IBM Power5+), ниже анонсированных — до 1,6 ГГц.

Обширный план выпуска новых процессоров Intel для систем различных семейств представлен в таблице 2.

Таблица 2. План выпуска процессоров Intel

Если AMD для уменьшения энергопотребления и увеличения производительности процессоров, использует технологию «кремний на изоляторе» (silicon on insulator, SOI), то Intel сегодня делает ставку на снижение нормы производства. Корпорация даже вывела очередной эмпирический закон, который гласит, что только за счет перехода на следующий уровень технологии производства, скажем, с 90 на 65 нм, можно увеличить производительность процессоров на 20% и на 30% уменьшить их энергопотребление.

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

Технологию Hyper-Threading, позволяющую одновременно выполнять разные потоки приложений на одноядерном процессоре, в Intel освоили еще в 2002 году. На процессорах с поддержкой HT скорость работы некоторых приложений (мультимедиа, научные приложения, системы CAD/CAM) возрастает на 20%. Правда, если для процессоров Pentium 4, которых отличало наличие длинного конвейера (30 стадий), технология HT была весьма действенной, то в новых процессорах будут использоваться более короткие конвейеры. Поэтому особого смысла переносить HT на новую архитектуру нет.

Еще одно принципиальное отличие подходов AMD и Intel — дизайн. Ручное проектирование микроархитектуры — гордость AMD и одна из причин отличных характеристик процессоров Athlon. Автоматическая разводка не позволяет добиться оптимального взаиморасположения блоков процессора. Однако в Intel сознательно отказались от ручной оптимизации, повысив уровень автоматизации проектирования, что, несомненно, сказывается на скорости и общей стоимости разработки.

С нынешней осени в Intel намерены внести изменения в свою стратегию разработки продуктов для устройств различных типов. Как и в AMD, планируется использовать единую архитектуру в мобильных, настольных и серверных линейках. Уже к концу 2006 года Intel планирует довести долю многоядерных процессоров в объеме своих поставок для настольных и мобильных систем до 70%, а для серверов — до 85%.

К 2010 году Intel планирует завершить работу над амбициозным проектом 32-ядерного 128-поточного процессора Keifer (рис. 6). Восемь четырехъядерных узлов, каждый из которых будет снабжен собственным контроллером доступа к памяти и 3-мегабайтным кэшем LLC (Last Level Cache), планируется объединить кольцом специализированного межсоединения. По предварительным данным, процессор будет работать на частоте 2 ГГц и будет изготовлен по норме производства 32 нм. Ожидается 15-кратное увеличение производительности по сравнению с процессором Xeon 5100.

Hewlett-Packard

В 2003 году компания HP объявила о выходе двухъядерного процессора PA-8800 под кодовым названием Mako. Его ядра были эквивалентны процессорам PA-8700. Процессор, созданный по технологии 130 нм, поддерживал частоты 0,8-1 ГГц. В 2005 году была выпущен PA-8900, последний процессор в семействе PA-RISC, которое компания развивала в течение двух десятилетий. В рамках того же техпроцесса, за счет размещения обоих ядер на единой подложке, увеличения объема кэша второго уровня с 32 до 64 Mбайт и увеличения тактовой частоты до 1-1,1 ГГц удалось добиться увеличения производительности на 16%.

В качестве основного серверного микропроцессора в HP теперь рассматривается Intel Itanium.

IBM

Первым в отрасли массовым двухъядерным процессором был IBM Power4, анонсированный еще в 1999 году и основанный на архитектуре POWER (Performance Optimization With Enhanced RISC). Правда, его серийные поставки начались только спустя два года. Первая же реализация многопоточности от IBM была представлена в 2000 году в процессорах PowerPC RSIV.

В Power4 многопоточность была реализована на аппаратном уровне. Каждое из двух процессорных ядер выполняло свой поток команд, но при задержке выполнения одного потока ресурсы обслуживающего его ядра нельзя было передать другому потоку. Наконец, в Power5 была применена технология одновременной многопоточности (Simultaneous MultiThreading, SMT). Реализация SMT более совершенна, но и сложнее используемой в процессорах Intel технологии Hyper-Threading. Так, логика SMT занимает 24% процессорного ядра Power5, в то время как у Intel Xeon для многопоточности используется только 5% кристалла. По данным IBM, применение SMT улучшает производительность при обработке транзакций баз данных и выполнении программ WebShere примерно на 35%, приложений SAP — на 28%.

Эволюционное развитие Power4 привело к появлению процессоров Power4+, Power5 и Power5+. В феврале этого года IBM объявила об активной работе над Power6. По предварительным данным, этот процессор будет иметь четыре ядра и выполнен по технологии 65 нм. Предметом особой гордости инженеров IBM являются рабочие тактовые частоты Power 6 — 4-5 ГГц. Упоминается даже процессор, работающий на частоте 5,6 ГГц. Серийный выпуск нового процессора намечен на конец 2006 года.

MIPS

В современных популярных обзорах микропроцессоры архитектуры MIPS (Microprocessor without Interlocked Pipeline Stages). Между тем продукты компании MIPS Technologies являются одними из самых популярных микропроцессоров для встроенных систем. Это заметная доля мультимедийных устройств (компании Pioneer, Sumsung, Sony), цифровых фото- и видеокамер (Canon, Casio, Fujifilm, Pentax), принтеров (HP, Lexmark), телевизоров (Hitachi, JVC, Sony), сетевых устройств (Cisco, 3Com, Apple, D-Link, Ericsson, NEC, Toshiba, Siemens, Motorola).

Развивая свои продукты, MIPS не пошла по пути увеличения количества ядер, а реализует концепцию симметричной многопоточности, используя «виртуальные процессоры». 32-разрядное ядро нового процессора MIPS34K работает на частотах до 500 МГц и поддерживает расширенный набор инструкций одновременного выполнения нескольких потоков. В ядро интегрированы несколько вычислительных модулей и логический блок поддержки команд с детерминированным временем выполнения — модуль QoS (Quality Of Service), что позволяет планировать особенно актуальную для встроенных устройств работу в режиме реального времени.

Многопоточная архитектура MIPS содержит несколько списков контекстов. В моменты ожидания получения данных из оперативной памяти процессор переключается на выполнение другого контекста. Два виртуальных процессорных элемента (Virtual Processing Element, VPE) могут обрабатывать пять поточных контекстов (Thread Context, TC). Аналогично Intel Hyper-Threading, эти процессорные элементы воспринимаются системой как два разных процессора. Для реализации многопоточности в архитектуре MIPS используется всего 14% площади кристалла.

SIT, Renesas, ClearSpeed, Rapport и Azul

Разработанный альянсом Sony, IBM и Toshiba (SIT) процессор Cell функционирует на частотах более 4 ГГц, потребляет от 80 до 180 Вт и имеет 9-ядерную архитектуру. Сферой его применения будут шифрование, кодирование в реальном времени видео и аудио, трехмерная анимация. Первыми устройствами на базе Cell, которые появятся на рынке во второй половине 2006 года, станут Sony PlayStation3 и лезвийные серверы IBM. Известно, что пока выход годных процессоров при производстве Cell составляет только 10%, поэтому для снижения расходов в игровой приставке PlayStation3 будут использоваться восемь из девяти ядер.

Компания Renesas Technologies объявила о создании процессора с массовым параллелизмом, основанного на матричной, мелкозернистой SIMD-архитектуре (Fine-Grained Single Instruction Multiple Data). Ее принципиальное отличие от SIMD-процессоров Cell в том, что он состоит из очень большого количества (2048) простых двухразрядных процессорных элементов (Processing Element, PE). Высокий уровень производительности обеспечивается за счет эффективной связи между различными PE (по вертикали), а также между PE и регистрами (по горизонтали). Скорость передачи данных по «вертикальному» и «горизонтальному» каналам при тактовой частоте 200 МГц составляет 816 Гбит/с.

Такая матричная структура обеспечивает минимальное время передачи данных и возможность параллельной обработки. Площадь ядра процессора — всего 3,1 кв. мм, а выделяемая мощность беспрецедентно мала — 0,25 Вт. Область применения — работа с мультимедийными данными.

IBM и AMD объявили об интеграции в свои продукты в качестве сопроцессора операций с плавающей точкой нового чипа английской компании ClearSpeed Technology. 97-ядерный микропроцессор CSX600 работает на частотах 250 МГц и потребляет всего 10 Вт. Особенностью этого процессора (рис. 7) является разделение после декодирования команд на моно- и полимикрокоманды (SIMD).

Рис. 7. Архитектура ClearSpeed CSX600

Компания Rapport предлагает процессор KC256. Внутри компактного кристалла площадью 55 кв. мм (технология 180 нм) умещаются 256 простых 8-разрядных ядра, выполненных по технологии Rapport Kilocore, объединяющей эти ядра в матрицу 16x16. В отличие от Cell, Renesas или ClearSpeed CSX600, данный процессор основан на архитектуре MIMD (Multiply Instruction Multiple Data). Ядра работают на частоте 125 МГц и суммарно потребляют удивительно малую мощность — 500 МВт. Процессор поставляется вместе с инструментарием и платформой разработки.

По утверждению производителя, Rapport KC256 показывает производительность порядка 32 млрд. операций/с, а на приложениях декодирования по алгоритму IDEA работает в 10 раз быстрее своего основного конкурента — процессора ARM7.

В ближайшем будущем планируется выпуск еще двух модификаций процессора Kilocore. Это 32-ядерный кристалл площадью 8 кв. мм, изготавливаемый по технологии 90 нм, работающий на частоте 30 МГц и потребляющий 10 МВт. Пиковая производительность процессора — 13 млрд. операций в секунду. Также совместно с IBM разработан микропроцессор Kilocore1025 — аналог кластерной системы, объединяющий несколько процессоров в 1024-ядерную систему, управляемую мощным ядром архитектуры PowerPC. Kilocore1025 появится в середине 2007 года.

Низкое энергопотребление, малые размеры и высокие показатели производительности определяют основную область применения этих продуктов — встраиваемые процессоры для портативной электроники. Данный процессор, возможно, составит серьезную конкуренцию лидерам данного рынка, продуктам ARM и MIPS. Уже заявлены поставки Kilocore для производства сотовых телефонов нового поколения, поддерживающих поточную передачу телевизионных каналов.

Компания Azul Systems серийно выпускает 64-разрядный 24-ядерный процессор Vega, изготавливаемый по технологии 130 нм. Этот процессор в основном используется в сетевых серверах, в роли Java-сопроцессора. Основные процессоры, в случае необходимости запуска виртуальной машины Java, пересылают эту задачу на SMP-сервер с Vega. Как утверждают в Azul, 16-процессорные серверы с такими чипами могут выполнять одновременно до 384 виртуальных машин Java. Новый процессор Vega 2 будет иметь уже 48 ядер и будет производиться с использованием технологии 90 нм. Системы на Vega 2 в 16-процессорных конфигурациях смогут адресовать до 768 Гбайт оперативной памяти. Первые системы на базе Vega 2 появятся в 2007 году.

Многопоточная масштабируемость

Различают два классических способа масштабируемости серверов: горизонтальный и вертикальный. Вертикальная архитектура обычно реализуется с использованием многопроцессорных (более четырех) SMP-серверов. Имеется только один экземпляр операционной системы и единые подсистемы памяти и ввода/вывода. Обычно все эти компоненты размещены внутри одного корпуса. Общее межсоединение обладает низкой латентностью и высокой пропускной способностью. Ресурсы добавляются с помощью увеличения количества плат в сервере. Горизонтальная архитектура обеспечивается объединением (чаще всего кластеризацией) нескольких серверов через сеть. Межсоединение использует стандартные сетевые адаптеры, например Fast Ethernet или Gigabit Ethernet. Эти способы соединения по сравнению с вертикальными системами обладают меньшей пропускной способностью и более высокой латентностью. Все ресурсы находятся внутри узлов. Каждый узел имеет свои процессоры (обычно от одного до четырех), память и систему ввода/вывода, которая может разделяться между узлами. Каждый узел имеет собственный экземпляр операционной системы. Ресурсы наращиваются только путем добавления новых узлов.

С появлением мощных многоядерных процессоров масштабируемость обрела третье «измерение». Выбирая в рамках горизонтальной или вертикальной архитектур серверы с определенным количеством процессорных микросхем и необходимым числом ядер, можно достаточно гибко подходить к масштабируемости. Например, конструировать решения, совмещающие мощность вертикальной архитектуры с высоким показателем доступности сервисов «горизонтальных» серверов. В недалеком будущем покупатели серверов смогут выбирать необходимое им количество не только процессоров, но и ядер. Уже сейчас предлагаются конфигурации с дешевыми четырех- и шестиядерными процессорами UltraSPARC T1 или их более дорогими полнофункциональными восьмиядерными собратьями*. Также активно обсуждается технология изготовления «избыточной логики» процессоров. Использование технологии дублирования ядер, подобной RAID, позволит повысить уровень доступности функциональных ресурсов микропроцессора. Естественно, что для этого, при проектировании и изготовлении чипов избыточные ядра должны быть запланированы заранее.

Что дальше?

По мнению многих экспертов, многоядерные и многопоточные решения постепенно будут эволюционировать в системы распределенной информации. Идеолог Sun Microsystems, Грег Паподопулос говорит о таких системах в контексте волн Internet. Лавинообразное увеличение количества устройств, подключаемых к сети, постепенно трансформирует классические сети компьютеров в сети специализированных устройств, а затем и в сети вещей. Основой таких сетей будут являться дешевые микро- и нанопроцессоры, способные одновременно обрабатывать множество параллельных потоков данных.

Аналитик Норман Пуаре говорит о волнах смены лидирующих технологий. Поколения инноваций волнообразно сменяют друг друга. Каждая технология занимает свою нишу. По мнению Пуаре, на сегодняшний момент парадигма классических вычислений уже достигла своей зрелости. Новую волну он определяет как развитие систем распределенного интеллекта. Правда, более правильным было бы использовать не термин «распределенный интеллект», а более адекватно описывающий эту еще молодую область термин «распределенные системы предоставления информации и знаний». Информация при этом определяется как совокупность данных и соответствующих им метаданных, а знания — как информация, структурируемая и предоставляемая в наиболее адекватной для потребителя форме (текст, таблица, график, звук либо их совокупность) в зависимости от контекста.

Продолжают активно развиваться классические подходы к повышению производительности. Так, исследователи из IBM на прототипах микропроцессоров уже добились стабильной работы при комнатной температуре на частотах до 350 ГГц. Применяя дополнительные методы охлаждения до температур, близких к абсолютному нулю, частоту удалось увеличить до 0,5 ТГц.

Следующий этап — это поколение альтернативных технологий, которые уже в недалеком будущем позволят принципиально изменить подходы к параллельным вычислениям. Например, ДНК-компьютеры, которые хотя и демонстрируют небольшую производительность (500-1000 бит/с) на вычислительную единицу, но способны параллельно выполнять триллионы операций. В 2002 году японская компания Olympus Optical заявила о создании коммерческой версии ДНК-компьютера, предназначенного для генетического анализа. Построенный компьютер имеет молекулярную и электронную составляющие. Первая составляющая осуществляет химические реакции между молекулами ДНК, обеспечивая поиск и выделение результата вычислений, вторая обрабатывает информацию и анализирует полученные результаты. Американское агентство оборонных исследований DARPA выполняет проект биологических вычислений Bio-Comp для создания мощных вычислительных систем на основе ДНК.

Еще более революционная модель вычислений построена на механизме суперпозиции состояний квантовых битов, или «кубитов». Такая система из N кубитов позволит выполнять 2N параллельных программ. Для большинства задач квантовые алгоритмы пока существуют лишь на бумаге, но некоторые уже реализованы. К примеру, компании MagiQ Technologies и ID Quantique выпустили на рынок свои квантовые системы — генератор случайных чисел и устройство для обмена секретными ключами для шифрования сообщений.

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

Василий Пантюхин (hen@lynx.ru) — руководитель Центра компетенции по Unix-технологиям компании Lynx BCC (Санкт-Петербург).


Открытое аппаратное обеспечение

Если о феномене открытого программного обеспечения говорят много, то открытое аппаратное обеспечение для многих пока в новинку, хотя движение это началось еще в 70-е годы. Уже тогда коллективы единомышленников (например, Homebrew Computer Club) не только участвовали в разработке новых электронных устройств, но и свободно распространяли их схемы. Именно из таких разработок в дальнейшем развились многие коммерческие продукты, например первый компьютер компании Apple. К началу 90-х многие команды разработчиков почти поголовно начали работать по контрактам с крупными производителями или создали собственные компании. Казалось, что движение умерло. Но в последние несколько лет представители многих коммерческих компаний стали говорить об эффективности разработки и развития аппаратного обеспечения на принципах открытости стандартов и свободы распространения. На сегодняшний момент одной из самых известных и энергичных групп разработчиков открытого аппаратного обеспечения является OpenCores.

Пионером открытой процессорной многоядерности стала компания Sun Microsystems, которая в феврале 2006 года открыла спецификацию процессора UltraSPARC T1. По лицензии GPL доступны логическое описание по стандарту проектирования микросхем RTL (Register Transfer Library), архитектура UltraSPARC 2005, определяющая набор инструкций, исполняемых процессором; ПО верификации, имитационные модели для тестирования программного обеспечения, а также версия Solaris 10, которую можно применять в таких имитациях. Уже известно, что небольшая, но амбициозная компания SimplyRISC планирует разработать одноядерную версию Niagara для встроенных устройств с низким энергопотреблением.

Напомним, что попытки построить советскую ИТ-отрасль на основе только собственных закрытых разработок провалились: закрытость препятствовала массовому распространению технологий. Это, в свою очередь, привело к замедлению развития, а потом и к деградации. Отечественная ИТ-инфраструктура, обеспечивающая, в частности, и решение оборонных задач, на сегодняшний момент базируется в основном на проприетарном программном и аппаратном обеспечении. Это, в свою очередь, приводит к серьезной зависимости от иностранных производителей. Закрытость порождает серьезные проблемы с безопасностью. Разумная открытость и интеграция с международным сообществом поможет сформировать новый облик ИТ-отрасли России.

Открытие спецификации процессора — только первый шаг. От абстрактного описания на Verilog до рабочей конструкции очень далеко. Нужны большие дополнительные инновационные вложения в разработку процессора, чипсетов, в архитектурные и технологические исследования. Однако с поддержкой государства и частных компаний это возможно.


* Реакция ИТ-сообщества на это была неоднозначной. Пошли разговоры, что Sun продает отбракованные процессоры. При изготовлении процессоров определенное количество брака — норма; это связано, например, с неизбежным в реальных условиях загрязнением или с тем, что свойства пластины, на которой изготавливаются процессоры, обычно ухудшаются от центра к краю. Перед распилкой пластины проводится групповое тестирование ядер на различных частотах. Часто бывает так: если хотя бы один из процессоров группы не прошел тестирования, то во всей группе отключается часть ядер, кэша, либо процессоры маркируются на меньшие частоты; однако такие процессоры полностью отвечают заявленному функционалу. Продажа «урезанных» процессоров позволяет значительно сократить расходы производителя, что наряду вместе с общим удешевлением производства, приводит к заметному удешевлению продуктов.