Jump to content

Спекулятивная многопоточность

Спекуляция на уровне потока ( TLS ), также известная как спекулятивная многопоточность или спекулятивная параллелизация. [1] это метод спекулятивного выполнения раздела компьютерного кода, который, как ожидается, будет выполнен позже параллельно с обычным выполнением в отдельном независимом потоке . Такому спекулятивному потоку может потребоваться сделать предположения о значениях входных переменных. Если они окажутся недействительными, то части спекулятивного потока, которые полагаются на эти входные переменные, необходимо будет отбросить и сжать. Если предположения верны, программа может завершиться за более короткое время при условии, что поток можно было эффективно запланировать.

Описание [ править ]

TLS извлекает потоки из последовательного кода и спекулятивно выполняет их параллельно с безопасным потоком. Спекулятивный поток необходимо будет отбросить или запустить повторно, если его предположения о состоянии ввода окажутся недействительными. Это метод динамического распараллеливания (время выполнения) , который может выявить параллелизм, который методы статического распараллеливания (время компиляции) могут не использовать, поскольку во время компиляции независимость потоков не может быть гарантирована. Чтобы метод достиг цели сокращения общего времени выполнения, должен быть доступный ресурс ЦП, который может эффективно выполняться параллельно с основным безопасным потоком. [2]

TLS оптимистично предполагает, что данная часть кода (обычно циклы) может безопасно выполняться параллельно. Для этого он делит пространство итераций на фрагменты, которые выполняются параллельно разными потоками. Аппаратный или программный монитор гарантирует сохранение последовательной семантики (другими словами, выполнение выполняется так, как если бы цикл выполнялся последовательно). Если появляется нарушение зависимости, спекулятивная среда может остановить все параллельное выполнение и перезапустить его; останавливать и перезапускать нарушающие потоки и всех их преемников, чтобы получать правильные данные; или остановить исключительно поток-нарушитель и его преемников, которые использовали из него неверные данные. [3]

Ссылки [ править ]

  1. ^ Эстебанес, Альваро (2017). «Обзор методов спекуляций на уровне потоков» . Обзоры вычислительной техники ACM . 49 (2): 1–39. дои : 10.1145/2938369 . S2CID   423292 .
  2. ^ Мартинес, Хосе Ф.; Торреллас, Хосеп (2002). «Спекулятивная синхронизация» (PDF) . Материалы 10-й международной конференции по архитектурной поддержке языков программирования и операционных систем (ASPLOS-X) — ASPLOS '02 . АКМ. п. 18. дои : 10.1145/605397.605400 . ISBN  1581135742 . S2CID   9189828 . Архивировано из оригинала (PDF) 18 ноября 2018 г.
  3. ^ Гарсиа Ягес, Альваро (2014). «Сокращение альтернатив программному спекулятивному распараллеливанию» . Транзакции IEEE на компьютерах . 63 (7): 1826–1839. дои : 10.1109/TC.2013.46 . S2CID   14081801 .

Дальнейшее чтение [ править ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d1bb6c14a6d2003a25cf26617e753e28__1708861920
URL1:https://arc.ask3.ru/arc/aa/d1/28/d1bb6c14a6d2003a25cf26617e753e28.html
Заголовок, (Title) документа по адресу, URL1:
Speculative multithreading - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)