В 2003 году в Intel потратили на исследования и разработки 4,4 млрд. долл. В эти работы были вовлечены 7 тыс. сотрудников из 70 лабораторий. Более чем в 75 университетах из 25 стран поддерживаются исследования и учебные курсы
Антонио Гонзалес: «Пришла эра микропроцессоров с поддержкой многонитевой обработки. Это поможет преодолеть проблему параллелизма на уровне мелких команд во многих типичных приложениях» |
Для того чтобы современная компьютерная компания могла побеждать на рынке своих конкурентов, она вынуждена инвестировать средства в исследования. Дальновидные компании работают с университетами, что не только создает притягательный имидж в глазах будущих специалистов, но и фактически способствует «подготовке кадров». В Intel, как показывает история компьютерной индустрии, успешно справляются с обоими этими направлениями работ.
Исследовательские центры Intel в регионе EMEA расположены в России, Франции, Литве, Великобритании, Дании, Швеции, Польше, Ирландии и Израиле. Всего в проекты вовлечено свыше 3 тыс. человек.
Одна из университетских исследовательских лабораторий Intel находится в Барселоне. Ей всего два с небольшим года. Работает в лаборатории 13 человек, а располагается она на территории студенческого городка местного политехнического университета. В университете имеется столь же «молодой» исследовательский центр Intel, который возглавляет профессор Антонио Гонзалес.
Задачи центра Гонзалес формулирует так: способствовать росту производительности и надежности процессоров, уменьшению сложности и электрической мощности. По его мнению, сейчас пришла эра микропроцессоров с поддержкой многонитевой обработки (multi-threading). Как спекулятивная (то есть фактически для одной нити программы), так и неспекулятивная (для разных нитей или вообще нитей разных приложений) многонитевая обработка поможет преодолеть проблему параллелизма на уровне мелких команд (ILP) во многих типичных приложениях.
«Уменьшение типоразмера КМОП-технологии до 0,1 мкм позволяет по тепловыделению сравнить микропроцессоры с ядерным реактором», — заметил Гонзалес. Другая серьезная проблема — токи утечки и задержки в проводниках. Сегодня доля площади кристалла, достигаемая за 1 такт, составляет всего порядка 20% (за 2 такта — соответственно несколько больше). По мнению Гонзалеса, эффективным способом борьбы с задержками является кластерная организация микропроцессоров. Интересно, в каком из следующих микропроцессоров Intel мы впервые увидим кластеры?
На этот вопрос ответ пока неизвестен. На некоторые другие вопросы еженедельника Computerworld Россия Гонзалес согласился ответить в ходе нашей беседы в рамках недавней европейской конференции IDF в Барселоне.
Как вы относитесь к высказываниям некоторых специалистов о том, что гонка тактовых частот процессоров закончилась и наступила эра многоядерных и многонитевых процессоров, с большей емкостью кэша и другими усовершенствованиями микроархитектуры?
Можно ожидать, что в ближайшем будущем будут применяться оба пути повышения производительности, и тактовая частота также будет расти. Во-первых, большой вклад в рост частоты вносит уменьшение размера транзисторов, который будет продолжаться ближайшие десять лет. Во-вторых, частота будет расти и из-за существенного увеличения числа стадий конвейера.
При переходе к меньшим размерам транзисторов быстро растут токи утечки, возникает проблема физической деградации кристалла. Специалисты Fujitsu Siemens Computers недавно приводили данные о быстром росте вероятности так называемых мягких ошибок по мере уменьшения типоразмера транзисторов. Не приведет ли это к уменьшению показателя Mean Time Before Failures и времени жизни микропроцессора?
Да, это область, которую мы изучаем. Мы ожидаем, что мягкие ошибки будут появляться по разным причинам, часть из них мы не можем исключить в любом случае (скажем, космические излучения). Сейчас в исследовательском сообществе растет интерес к конструированию процессоров, которые обладали бы толерантностью по отношению к подобным ошибкам. Конструкция таких процессоров могла бы включать средства, позволяющие проводить восстановление после сбоя и продолжать корректную работу прозрачным для пользователя образом.
По вашему мнению, является ли в этой связи организация при сбое повторного выполнения команд, как это сделано в микропроцессорах SPARC64 V от Fujitsu, хорошей идеей?
Мне не хотелось бы комментировать частные решения других компаний. Имеется много подходов к решению проблемы, например, один из них — это избыточность.
Дублирование уже применяется в некоторых современных микропроцессорах, например в кэш-памяти. Но не будете же вы дублировать логику?
Такое предложение — продублировать некоторые части логики — уже предлагалось в некоторых источниках. Есть и другой подход — создание контрольных точек для состояния процессора, которые позволили бы при восстановлении вернуться к тому или иному состоянию. Это очень интересная область работ, где может быть достигнут существенный прогресс.
Мне приходилось слышать противоположные оценки того, каким будет соотношение производительности процессоров архитектур IA-64 и IA-32, — что будущие Itanium 2 сильно опередят Pentium 4, или, наоборот, производительности этих процессоров сблизятся. Что нам следует ожидать в реальности?
Мне на этот вопрос сложно ответить, мы не являемся частью коллектива разработчиков готовой продукции.
Но вы можете сделать оценки исходя из внутреннего потенциала, заложенного в микроархитектуре этих процессоров.
Главная разница между этими процессорами лежит в архитектурах. (Точнее, речь идет об ISA, Instruction Set Architecture, грубо говоря, системе команд. — М. К.) Они существенно различны и обе имеют свои преимущества и недостатки. В то же время опыт показывает, что ISA не является ключевым фактором, определяющим производительность. (Следует отметить, что, когда начиналась разработка Itanium, главным аргументом в ее пользу выдвигались именно проблемы с дальнейшим развитием RISC-процессоров, то есть связанные с ISA. — М. К.)
Нынешние Pentium 4 (Presсott) уже неоднократно критиковались за большие задержки в кэше первого уровня. Как вы полагаете, будут ли «видны» эти задержки в реальных приложениях?
Безусловно, задержки памяти — это важный фактор, оказывающий заметное влияние на производительность. Однако по мере роста тактовой частоты задержки кэша по отношению к задержкам логики процессора растут у всех процессоров всех производителей. Мы используем инновационные идеи для того, чтобы «скрыть» эти задержки. Например, одна из таких идей — спекулятивная многопоточность. Можно использовать параллельно выполняемую вспомогательную нить, которая будет пытаться получить данные с опережением. Такое спекулятивное распараллеливание кода помогает в распараллеливании доступа в память. Это увеличивает производительность при работе с более медленной памятью.