Samara Portal Technology, Computers

Самарский портал "Технологии, компьютеры"

Продолжаю рассказ о московском офисе корпорации Intel. Из первых рук мы узнали о работе отделов SST, CIP, SCL. Рассказывали о своей работе настоящие профессионалы, которые умеют даже самым сложным вещам придать доходчивую форму.

Алексей Канатов, руководитель московского отдела ситуационных решений (Simulation Services and Technologies, SST). Пресс-тур в московский офис корпорации Intel. 8 июля 2010 г. Фото: Владислав Бояров.

Алексей Канатов, руководитель московского отдела ситуационных решений (Simulation Services and Technologies, SST) начал с того, что идеальной структурой руководитель корпорации Intel Пол Отеллини (President and Chief Executive Officer, Paul S. Otellini) считает такую, где каждый проект реализуется на одной площадке менеджером, который этот проект возглавляет.

Архитектура Intel® Platform Simulator.

Intel® Platform Simulator – симулятор будущих платформ, которые ещё только находятся в разработке. Это внутренний закрытый продукт, который содержит конфиденциальную информацию о перспективных разработках Intel. Однако есть исключения: ещё до выхода новых платформ этот симулятор под подписку о неразглашении передаётся ключевым клиентам, которые могут адаптировать свои продукты под ещё не существующие «в железе» процессоры Intel. Симулятор позволяет партнёрам Intel до выхода платформы вести разработку BIOS, FirmWare, драйверов, операционных систем и приложений, которые будут взаимодействовать с будущими продуктами Intel. Поскольку любая симуляторная система должна быть расширяемой, она имеет интерфейсы для подключения различных модулей. Например, существуют модули для оценки производительности системы, использующей новый процессор, хотя, разумеется, оценка производится не в реальном времени работы симулятора, а через временнЫе метки. Существует система записи сохранённых состояний (Save Point) позволяющая загрузить своп-файл в процессор и оперативную память с тем, чтобы не проводить тестирование каждый раз с начала, а запускаться с произвольной точки. Разработкой симуляторов в Intel занимаются с 1995 года, когда началось создание процессора Itanium. Поскольку у процессора не было близких по архитектуре предшественников, симулятор был крайне необходим и служил единственной возможностью начать разработку софта для процессора до его появлению «в железе». В последнее время фокус симуляционных решений сместился на разработку SoC (System-ona-chip) платформы.

Алексeq  Леоненко, старший инженер по программному обеспечению московского отделения CIP (Codecs & Infrastructure Products). Пресс-тур в московский офис корпорации Intel. 8 июля 2010 г. Фото: Владислав Бояров.

Тема доклада старшего инженера по программному обеспечению московского отделения CIP (Codecs & Infrastructure Products) Алексeя Леоненко – «Intel® Media SDK». Группа Intel CIP работает в четырёх офисах: Саров, Нижний Новгород, Москва, Орегон. Intel CIP подразделяется на два направления – это Intel® IPP (Integrated Performance Primitives), который развивают в Сарове и собственно Intel® Media SDK, разрабатываемый в Нижнем Новгороде и в Москве.

Основные направления разработки:

  • энкодеры/декодеры/обработка видео;
  • примеры использования, MFT;
  • защита медиа-информации (content protection).

Intel® Media SDK.

Intel® Media SDK – это относительно новый продукт, он вырос из Media Samples для IPP, московское подразделение в основном занимается разработкой энкодеров и декодеров, кроме этого инженеры занимаются созданием примеров использования Intel® Media SDK, а также вопросами демонстрации и обработки защищённого медиаконтента. Intel® Media SDK – это программная среда, которая позволяет решать вопросы обработки видео, абстрагируясь от пользовательского оборудования и запускаемых приложений. Это достигается за счёт того, что Intel® Media SDK предоставляет достаточно высокоуровневый API, который обеспечивает прозрачный для приложения выбор оптимизированных библиотек. Вместе с Intel® Media SDK поставляются библиотеки, которые оптимизированы для работы на центральном процессоре, также в состав входит графический акселератор. В систему Intel® Media SDK интегрируется с помощью Media Foundation Transforms (MFT), если установлена ОС Windows 7, либо используется API. Считается, что задачи транскодирования видео с одной стороны являются востребованными разработчиками приложений, с другой стороны – вычислительно сложными. Поэтому преимуществами для разработчиков являются, прежде всего, повышение скорости работы приложений и сокращение времени разработки приложений. Кроме того, отпадает необходимость в использовании решений от Microsoft, которые решают только вопросы декодирования, тогда как решение от Intel решает ещё и вопросы кодирования.

Intel, выпуская этот продукт, обещает, что библиотеки для новых процессоров будут появляться одновременно с самими процессорами, к тому же разработчику не потребуется пересобирать приложение, чтобы задействовать функциональность, появившуюся в новом процессоре. Процесс транскодирования является асинхронным, что позволяет задействовать различные ресурсы системы. В настоящее время поддерживается декодирование H.264, MPEG-2, VC-1 и кодирование H.264, MPEG-2. Поддерживаемые операционные системы: Windows Vista и Windows 7 (32 и 64-бит).

Андрей Жмурин, менеджер Strategic CAD Labs (SCL). Пресс-тур в московский офис корпорации Intel. 8 июля 2010 г. Фото: Владислав Бояров.

Менеджер Андрей Жмурин представлял Strategic CAD Labs (SCL), что на русский язык можно перевести как «Лаборатория перспективных проблем САПР». Микропроцесоры – это один из самых сложных объектов для проектирования, создать современный процессор не проще, чем отправить космический корабль на Луну. Процессоры имеют очень сложную внутреннюю структуру, они содержат более миллиарда транзисторов, связанных между собой замысловатыми соединениями. Без средств автоматизации спроектировать столь сложное изделие в принципе невозможно. В корпорации Intel существует своя собственная система автоматизации проектирования – такая домашняя САПР. Организационно SCL входит в Technology and Manufacturing Group (TMG) и область интересов лаборатории – это производство, технология изготовления процессоров. Всего в лаборатории трудятся 30 человек, при этом в московской части 10 человек, из них два – стажёры-аспиранты. Об уровне квалификации говорит тот факт, что на прошедшем внутрикорпоративном программистском конкурсе четверо сотрудников московской лаборатории попали в первую десятку, а всего в конкурсе участвовало около 1000 человек. Проект продолжается, как правило, 1-2 года, горизонт исследований 3-5 лет, работают над проектом 1-2 человека, в каждый момент времени лаборатория ведёт 7-8 проектов.

В качестве примера проекта докладчик привёл решение одной из самых острых проблем – уменьшение технологических норм в оптической литографии. Физически невозможно сделать длину волны лазера меньше 193 нм, а «картинки», которые надо «рисовать» лучом, вышли на уровень 32 нм, а вскоре ожидается выпуск серийных процессоров на базе 22-нанометровой производственной технологии. Раньше положение спасали методы оптической коррекции, но с уменьшением технологических норм они перестают работать. В то же время заменить оптическую литографию сегодня нечем. Анализ ситуации говорит, что последняя технологическая норма, которую мы сможем достичь – это те самые 22 нм, дальше искажения выйдут за границы приемлемых величин.

Проблемы оптической литографии. Перспективы полупроводниковой технологии.

Технологи готовы и дальше уменьшать нормы, но только при условии, что структура будет регулярной (как у микросхем оперативной памяти или SSD), что, разумеется, не устраивает архитекторов. Тем не менее, компромиссы здесь возможны, и их поиском в частности занимается Strategic CAD Labs.

Проектирование микропроцессора: начало.

Ещё одна проблема связана с тем, что используемый архитекторами язык, слишком низкого уровня, на нём становится трудно описывать большие схемы, а после изготовления их трудно верифицировать. Появился даже такой термин – валидационный кризис. Методология проектирования, практически не изменившаяся за последние 10 лет, всё больше перестаёт соответствовать самим проектируемым объектам, сильно прибавившим за это время в своей сложности. Следовательно, разработка новых методик проектирования сегодня крайне необходима. Например, формализация архитектурных описаний нужна для того, чтобы дать архитекторам инструмент корректного и непротиворечивого описания, повысить продуктивность их работы и улучшить взаимодействие с соседними службами. Очевидно, что проектирование на уровне RTL – это вчерашний день, требуется более высокоуровневое описание и валидация для того, чтобы RTL получался автоматически.

Конечно, между процессором, состоящим из миллиардов транзисторов и гидроблоком, зачастую насчитывающим меньше десятка аппаратов, аналогию найти непросто. Однако 25 лет назад САПР гидроблоков начинался именно с того, что мы проанализировали весь путь от принципиальной схемы до рабочего чертежа и написали новый «язык» создания принципиальных схем, позволяющий формальным путём создавать на базе принципиальной схемы рабочую документацию, которую можно отдавать в производство. Так что при всех различиях между предметными областями и уровнем технических средств категории решаемых задач остаются неизменными.

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

Андрей Добров, менеджер проекта SSG/DPD/BiT. Пресс-тур в московский офис корпорации Intel. 8 июля 2010 г. Фото: Владислав Бояров.

Андрей Добров, менеджер проекта SSG/DPD/BiTS рассказал о системе бинарной трансляции. Начал он свой доклад с объяснения: поскольку исследования в этой области являются ноу-хау корпорации Intel, то о деталях исследований он вынужден умолчать. При том, что тема эта интересная и ему очень хотелось бы рассказать о ней поподробнее, назвал он свой доклад достаточно нейтрально «Системы бинарной трансляции». Сама эта идея не нова и имеет более чем двадцатилетнюю историю. Некоторые вехи этой истории широко известны, о других знают и помнят только узкие специалисты, вот далеко не полный список разработок:

  • FX!32, Transitive;
  • EL32, Rozetta;
  • Shade, PIN;
  • Dynamo, MS Mojo;
  • BOA;
  • Java;
  • Transmeta;
  • Elbrus.

Часть этих проектов (например, FX!32) решали проблемы совместимости кодов, другие оптимизировали бинарный код, в проекте Java производится имплементация виртуальной машины с технологией бинарной трансляции. Последние два проекта из этого списка Transmeta и Elbrus ставили целью создание системы, базирующейся на бинарной трансляции. Если Transmeta в принципе не может существовать без бинарной трансляции, то для Elbrus это вспомогательный элемент. Поскольку бинарная трансляция позволяет исполнять коды, созданные для одной платформы на другой платформе (например, коды для x86 исполнять на Itanium), то она может быть использована для систем виртуализации. Чисто технически интересен ответ на вопрос о цене бинарных преобразований: как сильно будет отличаться производительность приложения, специально написанного или вручную оптимизированного для конкретной платформы, от результата бинарной трансляции. Например, известно, что при использовании EL32 потери производительности составляют около 40%. Применение аппаратной поддержки бинарной трансляции в Transmeta позволили значительно снизить потери.

Зачем это нужно корпорации Intel? Разработчики аппаратной части уже не могут прежними методами повышать производительность процессора: сначала дошли до предела тактовой частоты, теперь не удаётся исполнять более 4-х инструкций за один такт без изменения архитектуры процессора. С другой стороны, учитывая накопленную массу программного обеспечения, созданную под x86 процессоры, любую другую архитектуру будет практически невозможно продвинуть на рынок. Эффективный бинарный транслятор позволил бы разрабатывать процессоры любой архитектуры, а «стандартный» программный код преобразовывался бы бинарным транслятором.

Основное направление: SW/HW co-design:

  • Разработка новой Микро-архитектуры;
  • Интерфейсы БТ и Арх (аппаратная поддержка);
  • Новые методы трансляции для полноценного использования микроархитектуры;
  • Получение предельных цифр производительности на разных классах задач;
  • Демонстрация цифр на аппаратном симуляторе архитектуры.

Главная цель исследования – получение предельных параметров гибридной арх (perf, power, die size).

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

Андрей Добров очень надеется, что именно в России удастся сделать аппаратный симулятор этой архитектуры по технологии FPGA и если это получится, то можно будет вживую на аппаратной модели подтвердить или окончательно опровергнуть (а в науке отрицательный результат – тоже результат) начальные идеи. Однако пока полученные данные внушают оптимизм и очень вероятно, что в ближайшее время результаты можно будет огласить.

Intel: архитектурные неизлишества… с хвостиком

Intel: архитектурные неизлишества… с хвостиком. Статья Владислава Боярова

16-я ежегодная конференция «КОСС Плюс» – возраст зрелости

16-я ежегодная конференция «КОСС Плюс» – возраст зрелости. Статья Владислава Боярова