InfoWorld, США
В компании AMD сообщили о планах расширения набора процессорных инструкций, которое позволит разработчикам программного обеспечения более эффективно использовать ресурсы многоядерных процессоров при создании приложений.
«Инициатива Hardware Extensions for Software Parallelism отражает старания, направленные на усиление интеграции между аппаратным и программным обеспечением», — подчеркнула вице-президент AMD по вопросам проектирования программного обеспечения Маргарет Льюис.
Программы с обратной связью
В AMD признают, что преобразование однопоточных программ в многопоточные требует специальных навыков и представляет для разработчиков нелегкую задачу. Первоначально эти расширения были ориентированы на анализ производительности с помощью новых спецификаций Light-Weight Profiling, опубликованных на сайте компании.
«Данная технология позволяет в режиме реального времени поддерживать обратную связь, которая используется программным обеспечением для оптимизации производительности, — пояснила Льюис. — Разработчики получат возможность интегрировать эту технологию в свои программы, которые в свою очередь смогут использовать ее на этапе выполнения для обнаружения, скажем, конфликтов в буфере и повторного выделения оперативной памяти».
Со временем здесь могут появиться и другие аппаратные расширения: память программных транзакций (software transactional memory), высокопроизводительные средства передачи сообщений (high-performance message-passing), быстрое переключение контекста для облегченного параллелизма. В дальнейшем в AMD собираются представить на суд общественности полный набор спецификаций, разработанных в соответствии с намеченным планом.
Ждать придется долго
К программам, которые смогут использовать новые расширения, относятся приложения, построенные на платформе Microsoft Common Language Runtime или созданные для исполняемой среды Java. Разработчики смогут получить доступ к расширениям посредством компилятора или с помощью компактного интерфейса API.
Предполагается, что в ближайшие годы процессоры AMD не будут поддерживать эти расширения. По крайней мере, в разрабатываемых сегодня процессорах Barcelona и Bulldozer их появления не ожидается.
«В том, что ждать придется долго, нет ничего необычного, — отметила Льюис. — Спецификации 64‑разрядных расширений были опубликованы еще в 1999 году, но в коммерчески доступных процессорах они появились только в 2003‑м. Поэтому анонс AMD следует рассматривать скорее как приглашение к дискуссии по вопросам оптимизации программного обеспечения».
По словам Льюис, корпорация Intel также могла бы использовать данные расширения в своих собственных процессорах. В Intel на сообщение AMD пока никак не отреагировали.
Программно-аппаратная конкуренция
«В AMD и Intel к вопросам организации процессорного параллелизма подходят по-разному, — отмечает аналитик компании Insight64 Натан Бруквуд. — В Intel сосредоточили основные усилия на создании программных средств поддержки многопоточных приложений, в то время как в AMD основное внимание уделяют аппаратным аспектам».
Расширения AMD упрощают организацию множества потоков в рамках выполнения одной задачи. Intel решает данные вопросы программным путем, тогда как в AMD полагают, что с помощью аппаратных средств это можно сделать лучше.
Конечной целью новой программы AMD является увеличение производительности приложений.
Единственный недостаток аппаратных расширений заключается в том, что они будут занимать на кристалле определенное пространство. А при их отсутствии освободившееся место можно было бы более грамотно использовать для решения других задач. Вместе с тем расширения не вносят в работу людей никакого беспорядка и не заставляют их менять привычный уклад своей деятельности.
Опубликовав спецификации, AMD рассчитывает пригласить к открытому диалогу таких игроков, как Microsoft. В компании полагают, можно было бы представить расширения на утверждение органов стандартизации, но в настоящее время таких органов в этой сфере просто не существует.