`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Цифровой Кислород: коммуникационный хамелеон

0 
 

Проект Oxygen, курируемый Массачусетским технологическим институтом, развернутый материал о котором мы уже публиковали (см. "Компьютерное Обозрение", # 34, 2002), идея весьма масштабная и ее составляющие столь любопытны, что каждая из них вполне заслуживает отдельной статьи. В этом номере мы более подробно расскажем об аппаратной платформе наладонного коммуникатора Handy-21.
Для начала вкратце напомним суть проекта Oxygen и роль Handy-21 в нем. Идея заключалась в "интеллектуализации" пространств внутри зданий, транспорта или даже отдельных районов города. В таких пространствах пользователь находится под прицелом видеокамер, отслеживающих его перемещения и жесты, и микрофонов, улавливающих любую команду. В число услуг входит беспроводной доступ в сеть и, соответственно, все локальные и глобальные сетевые ресурсы (принтеры, поисковые узлы, Internet и т. д.). Изюминка концепции -- свободное использование вычислительных ресурсов, как стационарных систем, так и мобильных коммуникаторов. Вы берете любой подвернувшийся PDA и устройство, опознав вас по лицу, моментально загружает из сети все ваши привычные установки и рабочие файлы. Скажете ему -- "Хочу поговорить по телефону", и наладонник превратится в мобилку, заявите -- "Хочу посмотреть футбольный матч", и компьютер, загрузив из Internet необходимое ПО, переконфигурируется в компактный телевизор.


Как запрограммировать транзистор

А начиналось все с проекта SpectrumWare. Группа исследователей из лаборатории компьютерных наук института (M.I.T. Laboratory for Computer Science) написала полностью программную реализацию DSP-процессора. Основное предназначение SpectrumWare -- обход ограничений, накладываемых жесткой аппаратной архитектурой специализированных микросхем на функциональность коммуникационных продуктов. Чтобы подключить устройство к новому типу радиосети или заставить его обрабатывать иной формат данных (типичная проблема MP3-плейеров, пасующих перед нововведениями вроде VBR или MP3 Pro), обычно требуется кардинальное изменение конструкции или серьезный апгрейд.

Программа, написанная учеными, получала данные, оцифрованные непосредственно из радиоэфира, и обрабатывала их "силами" универсального процессора. Может быть, не очень эффективно, зато гибко.

Свое детище разработчики окрестили "коммуникационный хамелеон". Действительно, удобство использования такой технологии превосходит все ожидания. Недоступны GSM-соты? Подключайтесь к NMT! Сэкономьте на оплате счетов оператора мобильной связи: если вы находитесь в пределах слышимости обычного "уоки-токи" -- переключитесь на режим радиосвязи и поговорите бесплатно. Впрочем, универсальный ЦП -- не лучшая платформа для выполнения коммуникационных задач. К счастью, удалось найти способ сделать SpectrumWare не только гибким, но и эффективным -- так, в проекте Oxygen получила прописку Raw-архитектура.

Название технологии, или, если угодно, чипа, который должен стать "сердцем" Handy-21, -- "Raw" и в буквальном переводе означает "сырой". Однако процессор уже "доведен до ума", а смысл названия стал совсем иным. Под словом "Raw" создатели подразумевают гибкость аппаратной архитектуры микросхемы: из нее, словно из глины, легко сформировать любой тип специализированной схемы. Процессор состоит из отдельных блоков, называющихся tiles (далее "тайлы"). Каждый элемент содержит в себе блоки памяти и логики -- целая система на... фрагменте чипа.

Методология не нова, и ученые массачусетской лаборатории не одиноки в своих попытках реализовать столь привлекательную идею. Аналогичный подход исповедуют несколько других стартапов ("Реконфигурируемые процессоры"; "XPP -- "быстроногий толстяк").

В чем недостаток традиционной универсальной процессорной архитектуры? Как считают изобретатели Raw, источник всех бед -- соединения. Тактовая частота растет, а площади кристаллов и, следовательно, протяженность контактных дорожек остаются практически неизменными. Начиная с определенной частоты инженерам приходится учитывать эффект запаздывания сигналов, проходящих по длинным соединениям, что усложняет синхронизацию работы отдельных функциональных элементов микросхемы. В чипе 2 GHz данным требуется целых два такта, чтобы пересечь 15-миллиметровую подложку от края до края. Тайловая архитектура позволяет сгруппировать вместе функциональные блоки и блоки памяти, сократив до минимума протяженность контактных линий, которые сигналы вынуждены преодолевать в процессе обработки информации. Каждый тайл работает над своим фрагментом программы и передает готовый результат следующему тайлу.

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

Даже первые эксперименты на программном эмуляторе впечатляют: скомпилированная с помощью специального транслятора утилита -- ресивер FM-радио -- на порядок превзошла по эффективности традиционное решение на базе универсального процессора. После ручной оптимизации приложения, выполненной несколькими студентами института, потенциальная производительность возросла еще в 10 раз. Что ж, умозрительные эксперименты возбуждают воображение, а нам, простым обывателям, помимо зрелищ необходим хлеб насущный. И...


Родился чип

16 независимых тайлов, любой из которых по сути отдельный процессор, способных выполнять 16 инструкций за один такт. 122 миллиона транзисторов, обеспечивающих переработку входящих и исходящих потоков данных со скоростью 25 Gbps (14 полнодуплексных 32-битовых порта, функционирующих на частоте 225 MHz, каждый имеет пропускную способность, равную 7,5 Gbps), 2 MB встроенной памяти, обеспечивающих исполнение операций записи/чтения на скоростях до 57 Gbps.

Цифровой Кислород коммуникационный хамелеон
Рис. 1
Теперь немного о внутренней структуре тайлов (рис. 1). Каждый из них содержит один ассоциированный статический маршрутизатор и два динамических, один процессор архитектуры MIPS с восьмиступенчатым конвейером (an eight-stage, in-order, single-issue), одно четырехступенчатое арифметическое устройство, работающее с плавающими числами, 32 KB кэш-данных и 97 KB кэш-инструкций. Впечатляет, не правда ли? Фактически Raw-чип выглядит как настоящий многопроцессорный суперкомпьютер на одном кристалле.

Различие между динамическими и статическими маршрутизаторами заключается в том, что если первые способны изменять направление пересылки данных прямо во время исполнения кода, то вторые -- программируются однократно при реконфигурации кристалла. Все соединения сгруппированы в 4 сети разрядностью 32 бита: две статические и две динамические. Появление репрограммируемой сети мотивировано необходимостью обслуживать не только запланированные во время компиляции процедуры, но и непредсказуемые задачи наподобие исключительных ситуаций, ошибки кэша (cache misses) и тому подобных вещей. В то время как традиционные мультипроцессорные коммуникационные технологии обеспечивают латентность в пределах 1000 циклов, сеть, используемая Raw, способна доставить обработанные данные от одного тайла к соседнему не более чем за 3 цикла.

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

Цифровой Кислород коммуникационный хамелеон
Рис. 2
Внешние коммуникации осуществляются посредством высокоскоростных мультиплексированных портов. Это означает, что количество физических контактов, связывающих микросхему с окружающим цифровым миром, может быть меньше количества интерфейсов ввода/вывода. С помощью портов процессор связывается не только с внешними устройствами, но и осуществляет доступ к внешним банкам памяти. Более того, в случае необходимости чип программируется как коммутатор в целом, и одно устройство, подключенное к нему, в состоянии обратиться к другому напрямую. Иными словами, иногда Raw берет на себя и функции контроллера DMA.

Как только замыслы обрели силиконовую плоть, ученые приступили к изучению потенциала реального образца. Было проведено сравнение быстродействия программных маршрутизаторов для гигабитовой Ethernet, работающих на платформе Pentium III 700 MHz и Raw 225 MHz соответственно. Производительность тайлового чипа оказалась в 5 раз выше. Вдобавок новый процессор продемонстрировал неплохую масштабируемость: сглаживающий (median) видеофильтр на 128 тайлах работает в 57 раз быстрее, чем на одном.

Операционная система, написанная для Raw, способна на "истинную" параллелизацию выполнения задач. Она просто выделяет прямоугольные области на тайловой структуре и поручает им отдельные фрагменты кода. И наконец, даже нынешний, первый чип поддерживает конфигурации из 64 параллельно функционирующих процессоров. Таким образом, итоговая структура может иметь до 1024 отдельных тайлов. В будущем, когда тайлов будет очень много, а стоимость изготовления каждого из них -- невелика, исследователи предсказывают появление процессоров, содержащих некоторое количество специализированных модулей. Например, трансляторов для эмуляции x86-архитектуры, оптимизаторов кода, профайлеров и даже внешних устройств вроде RAMDAC. Получится самая что ни на есть система-на-чипе, способная видоизменять конфигурацию, свои потребности в энергопитании и производительность в считанные микросекунды.
0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT