Архивы: по дате | по разделам | по авторам

Два в одном

Архив
автор : Алексей Пылкин   09.11.2001

На Микропроцессорном форуме 2001 представитель Intel сделал доклад о многопоточной технологии HyperThreading, на которую компания возлагает большие надежды и которая при незначительном усложнении процессора обещает примерно 30-процентный выигрыш в производительности.

На Микропроцессорном форуме 2001 представитель Intel сделал доклад о многопоточной технологии HyperThreading, на которую компания возлагает большие надежды и которая при незначительном усложнении процессора обещает примерно 30-процентный выигрыш в производительности (см. «КТ» #411).

Как обещает Intel, первым HyperThreading-процессором должен стать XeonMP (известен также под кодовым именем FosterMP) - серверный чип семейства x86 с ядром Pentium 4. Программная поддержка новой технологии уже имеется в операционных системах Linux с версией ядра выше 2.4.1 и Windows XP, но сам XeonMP должен появиться только в следующем году. В процессорах для ПК Intel планирует использовать эту технологию в 2003 году.

Принципиально HyperThreading новинкой не является, так как представляет собой версию давно известной (но пока не реализованной в массовой продукции) концепции SMT (Simultaneous MultiThreading - одновременная многопоточность). Коротко говоря, SMT позволяет процессору одновременно исполнять несколько независимых потоков команд за счет разделения ресурсов.

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

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

Разработчики сейчас предлагают разные способы оптимизации параллельного выполнения задач. Один из них - реализация на микросхеме нескольких независимых процессорных ядер, что позволяет уменьшить себестоимость многопроцессорной системы и увеличить ее производительность. Эта концепция реализована, например, в процессорах IBM Power4, Sun MAJC, HP PA-8800 (см. «КТ» #418).

Другой подход использован в многопоточной технологии SMT. Дело в том, что, несмотря на все ухищрения, ресурсы суперскалярного процессора обычно остаются недозагруженными. Например, по данным Intel, возможности Pentium 4 в среднем используются всего лишь на 35%. Соответственно SMT-технология HyperThreading позволяет загружать неиспользуемые ресурсы процессора командами из другого процесса операционной системы. Для ОС же HyperThreading-чип выглядит как два обычных процессора.

По сравнению с многопроцессорной системой на одном кристалле технология SMT имеет некоторые преимущества. Во-первых, для реализации SMT требуется на порядок меньше места на чипе (а значит, ниже и его себестоимость). Во-вторых, в тех случаях, когда поток команд легко распараллеливается, он может забрать все ресурсы SMT-процессора. А вот в «настоящей» многопроцессорной системе объединить ресурсы всех процессоров и отдать их одной задаче пока невозможно.

Следует отметить, что в разработке SMT-технологий долгое время лидировала компания Digital, еще в 1997 году планировавшая реализовать многопоточность в процессоре Alpha EV8 (21464). Для операционной системы EV8 выглядел бы как четыре отдельных процессора, что, по оценкам инженеров Digital, позволило бы примерно удвоить производительность. Но как стало известно летом текущего года, EV8 не суждено появиться на свет. Весь проект и сама команда разработчиков переходят под крыло Intel, а наработки EV8 найдут применение в семействе IA-64 (первые процессоры IA-64, использующие технологии Alpha, должны появиться в 2004-05 году). Существует и другой проект многопоточного процессора - Sun UltraSPARC-V, который также ведут бывшие разработчики Alpha. UltraSPARC-V будет выглядеть для ОС как двухпроцессорная система. На рынке этот чип должен появиться в 2003 году.

[i42017]

© ООО "Компьютерра-Онлайн", 1997-2018
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.