Программно-ориентированные ускорители (набор команд)

Набор команд «программно-ориентированные ускорители» (англ. Application Targeted Accelerator, ATA) – расширения набора команд, направленные на сокращение времени задержки и снижения энергопотребления при работе специализированных приложений, разработанные корпорацией Intel и применяемые в её новых[уточнить] микропроцессорах.

Программно-ориентированные ускорители расширяют возможности архитектуры Intel посредством оптимизации производительности, сверхнизкого напряжения и непосредственно специализированных ускорителей пониженного энергопотребления в процессоре, предназначенных для специальных приложений. Ускорители — это часть технической эволюции развития процессорного ядра, добавление различных специализированных усовершенствований в процессор, результат использования которого – высокая производительность и превосходная энергоэффективность при выполнении специализированных приложений.

  1. Первая часть программно-ориентированных ускорителей ускоряет процедуру циклического контроля по избыточности (CRC) целостности данных некоторых приложений. Это — новая процессорная команда CRC, которая позволяет процессору быстро и эффективно проверять целостность данных при меньших затратах ресурсов, чем при использовании отдельных микросхем в верхнем слое протоколов передачи данных, таких, как протоколы iSCSI и RDMA, где инструкция CRC играет лишь роль обнаружителя ошибок. Отсутствие этой инструкции вынуждало поставщиков услуг для получения подобных преимуществ использовать дорогостоящие платы-ускорители с высоким энергопотреблением. Мощность многоядерных процессоров Intel на базе микроархитектуры Intel Core и эта новая процессорная команда CRC направлена на увеличение производительности специализированных сетевых протоколов, таких, как iSCSI и RDMA, без дополнительных затрат. Это может способствовать распространению недорогих решений – сетей хранения данных на базе протокола iSCSI. Подобные сети являются альтернативой гораздо более дорогостоящих оптико-волоконных каналов и призваны решить различные проблемы, связанные с хранением данных.
  2. Вторая часть программно-ориентированных ускорителей состоит из единственной процессорной команды POPCNT, которая может быть использована для эффективного поиска в огромном объеме данных. Она работает посредством подсчета количества бит множества в объекте данных. Пример приложений, которые получат преимущества от использования этой инструкции: выявление генома, распознавание почерка, медицина и быстрое вычисление хэмминговского расстояния и заполнения.
Наборы процессорных команд программно-ориентированных ускорителей
Подгруппа Процессорные команды Описание Ожидаемые улучшения в работе
Быстрый CRC (циклический контроль по избыточности)
CRC32
Находит значение CRC, используя разновидность полиномиального кода данного исходного операнда. Быстрая и эффективная проверка целостности данных при помощи протокола передачи данных для сетевых приложений
Ускоренный поиск и распознавание образцов больших наборов данных
POPCNT
Подсчет количества бит со значением 1 в данном операнде. Помогает достигнуть более высокой производительности в таких приложениях, как выявление генома, распознавание почерка, медицина, быстрые хэмминовские алгоритмы и др.