По традиции январский номер журнала содержит статьи, посвященные заметным современным исследованиям. Правда, мне критерии отбора статей не очень понятны; у них очень разная тематика. Впрочем, судите сами.

Обзор январского и февральского, 2002 г. номеров журнала Computer (IEEE Computer Society).

Первая по порядку статья называется «Linux-часы от IBM: вызов миниатюризации» («IBM?s Linux Watch: The Challenge of Miniaturization»). У статьи одиннадцать авторов из разных исследовательских лабораторий IBM; лидером проекта является Чандра Нараянасвами (Chandra Narayanaswami) из Ватсоновского исследовательского центра. Речь идет о полнофункциональном компьютере размером с наручные часы, работающем под управлением ОС Linux и поддерживающем беспроводную связь с внешним миром с использованием технологии Bluetooth. Описываются основные этапы этого еще не полностью завершенного проекта. Обосновывается выбор аппаратной и программной технологии. Наиболее интересными разделами мне показались те, в которых обсуждается перенос Linux и X11 в эту сверхминиатюрную среду. Кому-то, возможно, будут интересны проектно-конструкторские решения. Проект был начат в конце 1998 г. В текущем прототипе реализованы многие функциональные возможности ожидаемого продукта.

Название следующей статьи «2001: сетевой график технологии полупроводников» («2001 Technology Roadmap for Semiconductors») на русском языке сразу требует пояснений. International Technology Roadmap for Semiconductors — своего рода консорциум компаний, специализирующихся в области микроэлектроники. В составе ITRS создано 12 рабочих групп (по проектированию, тестированию, литографии и т.д.), которые сообща готовят итоговый документ, называемый сетевым графиком. Вообще говоря, английское слово roadmap лучше отражает суть этого документа, поскольку его основная задача состоит в совместном ответе на вопрос: «Какие технические возможности должны развивать индустрия полупроводников, чтобы продолжать следовать закону Мура?» У статьи шесть авторов, являющихся членами одной из рабочих групп. Первым в списке числится Алан Аллан (Alan Allan) из Intel. В статье кратко описывается структура и содержание документа, изданного в 2001 г. (его полный текст доступен в Web по адресу http://public.itrs.net). Ограничусь перечислением названий некоторых разделов: тактовая частота, системы на кристалле, тестирование и т.д.

Статью «Interspace: понятийная навигации сквозь распределенные сообщества» («The Interspace: Concept Navigation Across Distributed Communities») написал Брюс Шац (Bruce Schatz). В статье громко провозглашается грядущий переход от просмотра документов в Internet к понятийной навигации в Interspace. В действительности, речь идет об усовершенствованной системе индексации, способной в некотором смысле обеспечить понятийную связь документов. Похоже, не требуется даже изобретать что-то новое, поскольку подобная техника уже используется в локальных информационно-поисковых системах. Вся проблема в количестве и объеме документов, для «семантического» индексирования которых необходимы значительные вычислительные ресурсы. В прототипе системы индексирование и классификация 10 млн. аннотаций заняли два дня вычислений на Cray Origin 2000 со 128 узлами. Как считает автор, через десять лет аналогичную работу сможет выполнить каждый на своем ПК.

Автором статьи «Будьте готовы к быстрым методам, но с осторожностью» («Get Ready for Agile Methods, with Care») является Барри Боем (Barry Boehm). Принято считать, что два подхода к разработке программного обеспечения — «быстрый» и «плановый» — полярно различны. У обоих подходов имеются горячие сторонники и противники. Автор анализирует их доводы и приходит к выводу о целесообразности гибридного подхода с балансом быстроты и дисциплинированности. Предлагается методика оценки рисков при использовании гибридного подхода.

Статью «Сети в кристаллах: новая парадигма» («Networking on Chips: A New SoC Paradigm») написали Люка Бенини (Luca Benini) и Джованни де Мичели (Giovanni De Micheli). Идея нового направления электронных устройств, получивших название system-on-chip, состоит в том, что на одном кристалле размещается несколько взаимодействующих компонентов. Эти компоненты могут быть настолько специфичны и автономны, что не могут работать с единой для всего кристалла синхронизацией. Это обстоятельство привело к становлению специализированной сверхминиатюрной сетевой технологии.

Марк Оскин (Mark Oskin), Фредерик Чонг (Frederic Chong) и Исак Чуанг (Issak Chuang) написали статью «Практическая архитектура надежных квантовых компьютеров» («A Practical Architecture for Reliable Quantum Computers»). Особенностью квантовых компьютеров является высокая сложность и стоимость коррекции ошибок. По современным оценкам, для практического применения этой технологии требуется добиться вероятности ошибки в одной квантовой операции порядка 10 -4. В статье предлагается архитектура квантового компьютера, внешне напоминающая архитектуру традиционного компьютера: квантовое логико-арифметическое устройство, квантовая память и динамический планировщик.

Статью «Расширяющиеся автомобильные электронные системы» («Expanding Automotive Electronic Systems») написали Габриэль Лин (Gabriel Leen) и Донал Хефферман (Donal Hefferman). В основном в ней описываются протоколы, предназначенные для внутриавтомобильных сетей: Domesic Data Bus, Bluetooth, Mobile Media Link, Media-Oriented System Transport и др. Статья небольшого объема, поэтому протоколы скорее перечисляются, чем описываются.

Пожалуй, больше ничего интересного про январский номер я сказать не могу. Честно говоря, на меня особенно сильного впечатления он не произвел.

Поучительно об имитаторах

Темой февральского выпуска являются «Высокопроизводительные имитаторы», которым посвящены четыре статьи и заметка приглашенных редакторов. Начну же я с отдельно стоящей статьи, которая называется «Знакомство с драконом: компьютерная индустрия Китая» («Enter the Dragon: China?s Computer Industry») и написана Кеннетом Креймером и Джейсоном Дедриком (Kenneth Kraemer, Jason Dedrick). В статье обсуждаются особенности компьютерной индустрии и компьютерного рынка КНР, состоящие в основном в том, что основные производящие компании являются государственными, опекаемыми разными ведомствами, но это не мешает им конкурировать на внутреннем рынке, а компьютерная индустрия полностью ориентирована на производство персональных компьютеров и комплектующих к ним. Китайская специфика сказывается и на форме участия в компьютерном бизнесе страны иностранных компаний. В подавляющем числе случаев они образуют совместные с местными компаниями предприятия. Политика руководства КНР по регулированию импорта стимулирует производство компьютерного оборудования внутри страны. Это, в частности, способствует базированию в КНР развитых тайваньских компаний. В настоящее время при годовом объеме производства PC в 23 млрд. долл. страна занимает четвертое место в мире (после США, Японии и Сингапура) по производству персональных компьютеров.

Перейдем к имитаторам. В данном контексте имитатором (simulator) называют программную систему, частично или полностью воспроизводящую вычислительную систему. В подборке, озаглавленной «High Performance Simulators», обсуждаются имитаторы, обеспечивающие сравнительно высокую скорость выполнения программ имитируемого компьютера. Следует заметить, что программные имитаторы достаточно активно использовались в СССР, когда в нем еще существовала отечественная вычислительная техника (правда, мы называли их интерпретаторами или эмуляторами). В начале своей карьеры мне пришлось участвовать в разработке двух таких программ, имитировавших создаваемые в то время ЭВМ. Известны примеры отечественных имитаторов зарубежных компьютеров. Наиболее свежим российским примером является имитация на современных персональных компьютерах мэйнфреймов, которые выпускались в рамках советской серии ЕС. Как ни странно, идея имитации на дешевых современных компьютерах старых и дорогих ЭВМ оказалась весьма востребованной, позволяя таким своеобразным способом решать проблему унаследованного программного обеспечения.

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

Первая статья подборки написана Кристофером Хьюфсом (Christopher Huphes) и Сарита Эдве (Sarita Adve), Виджаем Пэйем (Vijay Pay), Партасарати Ранганатаном (Parthasarathy Ranganathan). Статья называется «Rsim: Имитация мультипроцессоров с разделяемой памятью и ILP-процессорами» («Rsim: Simulating Shared-Memory Multiprocessors with ILP Processors»). Решение о создании имитатора Rsim было принято в начале 90-х годов, когда несколько компаний объявило о выпуске многопроцессорных вычислительных систем с общей памятью на основе процессоров с параллелизмом на уровне команд (Instruction-Level Parallelism — ILP). В число таких процессоров входили MIPS R10000, HP PA-8000 и Intel Pentium Pro. Проект носил исследовательский характер и предназначался для выяснения двух вопросов: (1) оказывает ли микроархитектура процессора настолько большое влияние на общую архитектуру и производительность микропроцессора, чтобы оправдывались накладные расходы на его программную имитацию; (2) можно ли построить достаточно эффективный имитатор с учетом усложненной структуры процессора? На оба эти вопроса был получен положительный ответ. Создана программная система, свободно доступная для некоммерческого использования (www.ece.rice.edu/~rsim/manual.ps). Фактически Rsim представляет собой набор инструментов, каждый из которых позволяет моделировать разные варианты отдельных функциональных компонентов многопроцессорного устройства (регистры, основная память, кэш, арифметика и т.д.). Соответствующая настройка этих компонентов позволяет получить имитатор конкретного мультипроцессора. Описаны некоторые результаты исследований, выполненных с использованием Rsim.

Статью «Simics: Платформа полной имитации систем» («Simics: A Full System Simulation Planform») написали девять авторов из шведской компании Virtutech; судя по всему, это и есть весь коллектив разработчиков. Первым по списку (и по должности) указан Петер Магнуссон (Peter Magnusson). Задачей проекта Simics было создание имитатора, способного воспроизводить полную среду законченных программных приложений. Например, в случае имитации работы системы Amazon.com в имитационной среде Simix должна воспроизводиться сеть, в которой взаимодействуют клиентские и серверные части системы, работающие в окружении разных операционных систем, с разными базами данных и т.д. В настоящее время Simix поддерживает имитацию архитектур UltraSPARC, Alpha, x86-64 (Hammer), PowerPC, IPF (Itanium), MIPS и ARM. Специальный компонент системы Simics Central имитирует сетевую среду. Simix может работать на Unix-платформах (Linux, Sun Solaris, Tru64 Unix и т.д.) и платформе Windows 2000. Отмечается коммерческое применение Simix в областях разработки архитектуры микропроцессоров, архитектур подсистем основной памяти, внешних устройств, операционных систем и т.д.

Тодд Остин, Эрик Ларсон и Дэн Эрнст (Todd Austin, Eric Larson, Dan Ernst) написали статью «SimpleScalar: инфраструктура для моделирования компьютерных систем» («SimpleScalar: An Infrastructure for Computer System Modeling»). При реализации программных моделей аппаратуры требуется учитывать три критических требования: эффективность (объем рабочей нагрузки имитируемой аппаратуры, который может обеспечить модель), гибкость (возможность простой модификации имитируемой архитектуры) и детальность (уровень абстракции, используемый при моделировании компонентов системы). На практике трудно оптимизировать все три характеристики в одной модели. Например, в исследовательских моделях принято оптимизировать эффективность и гибкость за счет детальности. Инструментальная система SimpleScalar обеспечивает инфраструктуру моделирования разнообразных платформ, начиная от простых микропроцессоров без конвейерной обработки и заканчивая микроархитектурами с динамическим планированием и многоуровневой иерархией памяти.

У последней статьи подборки 12 авторов. Из них девять человек работают в компании Intel, один — в Мичиганском университете и двое — в Политехническом университете Каталонии. Первым в списке авторов указан Джоел Эмер (Joel Emer). Статья называется «Asim: каркас модели производительности» (Asim: A Performance Model Framework»). Коллектив авторов происходит из корпорации Digital Equipment (впоследствии Compaq), где они разрабатывали программные модели для оценки производительности процессоров VAX и Alpha. Авторы отмечают важность моделирования с целью оценки эффективности архитектурных решений при создании процессоров. С другой стороны, непрерывное усложнение архитектуры, увеличение объема оборудования привели к тому, что, уже работая в Compaq, авторы осознали, что модели становятся слишком сложными и неповоротливыми, поскольку отсутствует структурный подход к их разработке. Поэтому, в конце 1998 года (по-видимому, уже в Intel) авторы приняли решение разработать инструментальную систему Asim, чтобы обеспечить возможность быстрого и качественного построения моделей производительности новых архитектур. Как свойственно подобным подходам, желаемые результаты достигаются за счет модульности и повторного использования.

Из других статей я бы выделил небольшое эссе Боба Колвелла (Bob Colwell), независимого консультанта, который ранее руководил разработкой архитектур микропроцессоров Pentium II, III и 4. Заметка называется «О компьютерах и рок-н-ролле» («On Computers and Rock?n?Roll») и содержит авторские компьютерные толкования фрагментов текстов песен известных рок-исполнителей. Не каждому дано воспринимать смысл рок-поэзии, но для знатоков компьютеров и рока это сочинение может быть интересно.

В февральском номере журнала представлены пять новых книг, из которых меня заинтересовала одна: «Information Visualization in Data Mining and Knowledge Discovery», выпущенная под редакцией Усама Файад (Usama Fayyad) в издательстве Morgan Kauffmann Publishers (ISBN 1-55860-689-0, 407 pp.). В этом сборнике статей ведущих специалистов по добыче данных, визуализации и статистике раскрываются пути совместного использования методов добычи данных и визуализации. По-моему, это очень важно с практической точки зрения.

Как всегда, к вашим услугам — kuzloc@ispras.ru.