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

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

Он также известен как Спекулятивная многопоточность (SpMT).[нужна цитата ]

Описание

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

Рекомендации

  1. ^ Мартинес, Хосе Ф .; Торреллас, Хосеп (2002). «Спекулятивная синхронизация» (PDF). Материалы 10-й международной конференции по архитектурной поддержке языков программирования и операционных систем (ASPLOS-X) - ASPLOS '02. ACM. п. 18. Дои:10.1145/605397.605400. ISBN  1581135742.

дальнейшее чтение