Обзор августовского, 2003 г. номера журнала Computer (IEEE Computer Society, Vol. 36, No. 8, Август 2003)
На обложке журнала тема номера обозначена так: «Компьютерные архитектуры следующего поколения». По всей видимости, со следующим поколением дела обстоят не самым блестящим образом: в журнале всего две статьи посвящены этой тематике.
Статья «Будущее нанокомпьютеров» (The Future of Nanocomputing) написана Джорджем Бурьяновым (George Bourianoff) из корпорации Intel. Современная микроэлектронная технология во многом основана на фундаментальных научных результатах, полученных в 30-е — 40-е годы XX века. Среди них наиболее выдающимися являются три: концепция структуры полупроводниковых материалов; влияние загрязнения на свойства полупроводников; достижения в производстве высококачественных кремниевых и германиевых кристаллических интерфейсов. В течение 15 лет начиная с 1946 года на основе этих результатов была разработана большая часть полупроводниковых устройств, использовавшихся в следующие 50 лет. Автор рассматривает ряд технологических и архитектурных предложений, которые направлены на преодоление ожидаемого кризиса; приводятся экономические и технологические критерии разумности этих предложений.
Группа авторов, большая часть которых работает в Стэндфордском университете, представила статью «Программируемые потоковые процессоры» (Programmable Stream Processors). Первым в списке авторов числится Ужвал Капаси (Ujval Kapasi). Сложность вычислений в областях трехмерной графики, сжатия изображений и обработки сигналов требуют возможности выполнения сотен миллиардов вычислительных операций в секунду. Для обеспечения этого применяются архитектуры специального назначения, ориентированные на конкретные приложения. Для создания таких процессоров требуются значительные усилия, и их трудно модифицировать по мере развития приложений. Требование гибкости при обработке медиа-данных мотивирует использование программируемых процессоров. Однако ограничения, связанные с высоким уровнем интеграции, ограничивают производительность традиционных программируемых архитектур. Успешное применение специализированных процессоров для обработки медиа-данных отчасти объясняется значительным параллелизмом приложений и минимальными требованиями к глобальным коммуникациям и хранению. Поэтому данные можно напрямую передавать от одного арифметико-логического устройства (АЛУ) к другому. В потоковой архитектуре эти свойства используются для разделения коммуникационных и сохраняющих данные структур для эффективной поддержки множества АЛУ. Подробно описываются технические детали потоковой архитектуры; обсуждается прототипная реализация Imagine, выполненная в Стэнфордском университете (http://cva.stanford.edu/imagine).
Перейдем к статьям, не вошедшим в тематическую подборку. Статью «Проблемы оценки компьютерных архитектур» (Challenges in Computer Architecture Evaluation) подготовили шесть авторов из разных университетов США — Кевин Скадрон (Kevin Skadron), Маргарет Мартоноси (Margaret Martonosi), Дэвид Аугуст (David August), Марк Хил (Mark Hil), Дэвид Лилья (David Lilja) и Виджай Пай (Vijay Pai). Статья представляет собой отчет о работе симпозиума, который состоялся в декабре 2001 года под эгидой программы «Архитектуры компьютерных систем» американского Национального научного фонда. Участники симпозиума пришли к согласию в том, что имеющиеся ограничения в области количественных оценок компьютерных архитектур тревожны и могут привести к заметному замедлению развития компьютерных систем; они рекомендовали проводить новые исследования, которые позволили бы вернуться к количественной оценке (www.ee.princeton.edu/~mrm/CPUperf.html). По мнению участников симпозиума, поддержку, прежде всего, следует оказывать исследованиям в области систем имитационного моделирования, методологий эталонного тестирования, аналитических методов и методов доказательства.
Алан Вуд (Alan Wood) из компании Hewlett-Packard опубликовал статью «Надежность программного обеспечения с точки зрения клиента» (Software Reliability from the Customer View). Связь между понятиями «дефект» (fault) и «сбой» (failure) не является связью «один-к-одному». Некоторые дефекты остаются необнаруженными и никогда не вызывают сбоев, но один дефект может привести к многочисленным сбоям. Код является дефектным, потому что программа не удовлетворяет требованиям пользователей, а это может произойти из-за того, что разработчики неправильно истолковали требование, не смогли его реализовать или реализовали его неверным образом. Дефекты кода, приводящие к сбоям, продолжают ускользать от разработчиков, индустрия программного обеспечения тратит миллиарды долларов на поиск дефектов, а клиенты теряют миллиарды по причине сбоев. В подразделении HP NonStop Enterprise Division деятельность по предотвращению дефектов дополняется анализом опыта заказчиков в связи со сбоями программного обеспечения. HP поставляет набор аппаратно-программных средств для критичных для бизнеса приложений — операционную систему, СУБД, коммуникационные протоколы, мониторы транзакций и средства разработки приложений. Этот набор программных средств ежеквартально обновляется: в пакете обновлений содержатся изменения для всех продуктов плюс предыдущая версия всех продуктов. Для каждой версии отслеживается интенсивность сбоев, что позволяет оценить впечатление пользователей. Описываемая методика помогает уменьшить интенсивность сбоев и улучшить надежность программного обеспечения с точки зрения пользователей.
Коллектив из восьми авторов из Калифорнийского университета в Риверсайде и университета штата Колорадо представил статью «Абстракция языка высокого уровня для реконфигурируемых вычислений» (High-Level Language Abstraction for Reconfigurable Computing). Первым в списке авторов стоит Валид Нажжар (Walid Najjar). Одним из последствий повышения скорости систем, основанных на СБИС, и увеличения плотности схем является увеличение жизнеспособности программируемых логических интегральных схем (Field Programmable Gate Array — FPGA). Вычисления с использованием FPGA обладают многими преимуществами по сравнению с фон-неймановскими процессорами. Схемы FPGA могут быть массивно-параллельными и приспособленными к специфике задачи, могут обеспечивать конвейерный параллелизм; наконец, в них могут быть смешаны эти две организации. При использовании реконфигурируемых систем программируемость является наиболее сложной проблемой для разработчиков. Обычно разработчик вручную разбивает приложение на два сегмента — аппаратный компонент, который будет выполняться как схема на основе FPGA, и программный компонент, который будет выполняться как программа на основной машине. Аппаратный компонент описывается на языке описания аппаратуры наподобие VHDL или Verilog. Программный компонент работает как драйвер, поставляя входные данные в FPGA и собирая выходные данные. Этот подход ставит серьезные проблемы перед прикладными программистами, поскольку они вынуждены выражать сложные алгоритмы в терминах бит, регистров и синхронизационных сигналов. Авторами разработан полный автоматизированный компиляционный путь от алгоритмического языка программирования к реконфигурируемой вычислительной системе, основанной на FPGA. Реализованный ими язык SA-C является вариантом языка С, обладающим тем ограничением, что присваивание любой переменной может производиться только один раз во время объявления переменной.
Еще одна большая статья августовского номера называется «Технологии Penny Tag для сменных запоминающих устройств» (Penny Tag Technologies for Removable Data Storage). Статью написал Фред Томас (Fred Thomas) из компании Iomega. Для аутентификации и идентификации товаров производители обычно используют теги, или маркеры. Типичные приложения, используемые в розничной торговле, обрабатывают голограммы или штрих-коды. На покупку штрих-кодов и соответствующих обрабатывающих систем в целом ежегодно тратится более 10 млрд. долл. Технологии аутентификации и идентификации находят применение и в области заменяемых запоминающих устройств. Так, системы идентификации картриджей могут защитить накопитель от повреждения, которое могло бы быть вызвано записью чужого объекта. Основное различие между приложениями розничной торговли и приложениями заменяемых запоминающих устройств заключается в ограничениях стоимости. Аутентификация и идентификация заменяемых запоминающих устройств должна быть очень дешевой. В Массачусетском технологическом институте эти дешевые технологии предложили назвать Penny Tag; здесь реализуется программа Auto-ID Center (www.autoidcenter.org), направленная на выработку стандарта RFID, который основывается на технологии Penny Tag. Рассматривается опыт компании Iomega, связанный с использованием этой технологии.
Хочу обратить внимание читателей на специальное предложение IEEE Computer Society для граждан Восточной Европы. Вы можете стать членами сообщества за половину регулярной стоимости. Рекомендую воспользоваться этой возможностью. Если нужны совет или помощь, обращайтесь ко мне. С уважением, Сергей Кузнецов, kuzloc@ispras.ru.
The IEEE Computer Society makes every attempt to assist members in special circumstances. We have a specific plan that offers membership at 50% of IEEE and Computer Society dues. To take advantage of this plan, check below to see if you qualify. Then copy, sign, date, and return this form with your Membership Application and payment.
Minimum Income. If your 2003 annual income (gross, unadjusted income including all benefits and services from any source) did not exceed $11,300 in US funds, pay 50% of membership dues and 50% of optional periodical subscription fees.
Full-year 2004 (application received by IEEE by 29 February 2004)
Africa/Europe/Middle East dues for 2004 IEEE and Computer Society membership under this circumstance = $83.00. IEEE Computer Society membership only = $99.00.
Half-year 2004 (application received between 1 March and 15 August 2004) Africa/Europe/Middle East dues for 2004 IEEE and Computer Society membership under this circumstance = $42.00. IEEE Computer Society membership only = $50.00.
I have read the above requirements and certify that I qualify.
Signature: _______________ Date: ____________