Спекулятивная многопоточность - Speculative multithreading
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Предположение об уровне потока (TLS) - это метод спекулятивно выполнить раздел компьютерного кода, который, как ожидается, будет выполняться позже параллельно с обычным выполнением на отдельной независимой нить. Такой спекулятивной ветке может потребоваться сделать предположения о значениях входных переменных. Если они окажутся недействительными, спекулятивная нить должна быть отброшена и уничтожена. Если предположения верны, программа может завершиться за более короткое время при условии, что поток можно было эффективно запланировать.
Он также известен как Спекулятивная многопоточность (SpMT).[нужна цитата ]
Описание
TLS извлекает потоки из последовательного кода и выполняет их умозрительно параллельно с безопасным потоком. Спекулятивный поток необходимо будет отбросить или перезапустить, если его предположения о состоянии ввода окажутся недействительными. Это динамический (время выполнения) распараллеливание метод, который может раскрыть параллелизм, который методы статического (во время компиляции) параллелизма могут не использовать, потому что во время компиляции нельзя гарантировать независимость потоков. Чтобы методика достигла цели сокращения общего времени выполнения, должен быть доступный ресурс ЦП, который можно эффективно выполнять параллельно с основным безопасным потоком. [1]:2
Рекомендации
- ^ Мартинес, Хосе Ф .; Торреллас, Хосеп (2002). «Спекулятивная синхронизация» (PDF). Материалы 10-й международной конференции по архитектурной поддержке языков программирования и операционных систем (ASPLOS-X) - ASPLOS '02. ACM. п. 18. Дои:10.1145/605397.605400. ISBN 1581135742.
дальнейшее чтение
- Йяпанис, Параскевас; Браун, Гэвин; Лужан, Микель (2016). "Спекуляция программного обеспечения на основе компилятора для параллелизма на уровне потоков". Транзакции ACM по языкам и системам программирования. 38 (2): 1–45. Дои:10.1145/2821505.
- Йяпанис, Параскевас; Росас-Хам, Демиан; Браун, Гэвин; Лужан, Микель (2013). «Оптимизация систем времени выполнения программного обеспечения для спекулятивного распараллеливания». Транзакции ACM по архитектуре и оптимизации кода. 9 (4): 1–27. Дои:10.1145/2400682.2400698.
- Джонсон, Ник П .; Ким, Ханджун; Прабху, Пракаш; Закс, Аял; Август, Дэвид I. (2012). «Спекулятивное разделение на приватизацию и сокращение» (PDF). Материалы 33-й конференции ACM SIGPLAN по проектированию и реализации языков программирования. PLDI '12. С. 359–370. Дои:10.1145/2254064.2254107.
- Бховмик, Анасуа; Франклин, Манодж (2002). «Общая структура компилятора для спекулятивной многопоточности». Материалы четырнадцатого ежегодного симпозиума ACM по параллельным алгоритмам и архитектурам. SPAA '02. С. 99–108. Дои:10.1145/564870.564885.
- Брюнинг, Дерек; Девабхактуни, Шрикришна; Амарасингхе, Саман (2000). Softspec: программный спекулятивный параллелизм (PDF). ФДДО-3. С. 1–10.
- Чен, Майкл К .; Олюкотун, Кунле (1998). «Использование параллелизма на уровне методов в однопоточных программах на Java». Международная конференция по параллельным архитектурам и методам компиляции. ПАКТ 1998. С. 176–184. Дои:10.1109 / PACT.1998.727190.
- Чен, Майкл К .; Олюкотун, Кунле (2003). «Система Jrpm для динамического распараллеливания программ Java». Материалы 30-го ежегодного международного симпозиума по компьютерной архитектуре. ISCA '03. С. 434–446. Дои:10.1145/859618.859668.
- Синтра, Марсело; Льянос, Диего Р. (2003). «На пути к эффективному и надежному программному спекулятивному распараллеливанию на многопроцессорных системах». Материалы девятого симпозиума ACM SIGPLAN по принципам и практике параллельного программирования. PPoPP '03. С. 13–24. Дои:10.1145/781498.781501.
- Кук, Джонатан Дж. (2002). «Обратное выполнение байт-кода Java». Компьютерный журнал. 45 (6): 608–619. CiteSeerX 10.1.1.20.4765. Дои:10.1093 / comjnl / 45.6.608.
- Хиноны, Карлос Гарсия; Мадрилес, Карлос; Санчес, Хесус; Маркуэлло, Педро; Гонсалес, Антонио; Таллсен, Дин М. (2005). «Компилятор Mitosis: Инфраструктура для спекулятивной потоковой передачи на основе предварительных вычислений». Материалы конференции 2005 ACM SIGPLAN по разработке и реализации языков программирования. PLDI '05. С. 269–279. Дои:10.1145/1065010.1065043.
- Ху, Шивэнь; Бхаргава, Рави; Джон, Лизи Куриан (2003). «Роль прогнозирования возвращаемого значения в использовании спекулятивного параллелизма на уровне методов» (PDF). JILP. 5: 1–21.
- Кази, Иффат Х. (2000). Модель динамически адаптивного распараллеливания, основанная на спекулятивной многопоточности (Кандидатская диссертация). Университет Миннесоты. С. 1–188.
- Пикетт, Кристофер Дж. Ф .; Вербрюгге, Кларк (2005). «SableSpMT: программная платформа для анализа спекулятивной многопоточности в Java». Материалы 6-го семинара ACM SIGPLAN-SIGSOFT по Программному анализу для программных средств и инженерии. ПАСТА '05. С. 59–66. Дои:10.1145/1108792.1108809.
- Пикетт, Кристофер Дж. Ф .; Вербрюгге, Кларк (2005). "Спекуляция на уровне программных потоков для языка Java и среды виртуальной машины" (PDF). Материалы 18-й международной конференции по языкам и компиляторам для параллельных вычислений. LCPC '05. LNCS. 4339. С. 304–318. Дои:10.1007/978-3-540-69330-7_21.
- Портер, Лео; Чой, Бумёнг; Таллсен, Дин М. (2009). «Отображение пути от аппаратной транзакционной памяти к спекулятивной многопоточности». 18-я Международная конференция по параллельным архитектурам и методам компиляции. ПАКТ '09. С. 313–324. Дои:10.1109 / PACT.2009.37.
- Рундберг, Питер; Стенстрем, Пер (2001). «Полностью программная система предположений о зависимости данных на уровне потоков для мультипроцессоров» (PDF). JILP. 3: 1–28.
- Стеффан, Дж. Грегори; Колохан, Кристофер; Чжай, Антония; Моури, Тодд С. (2005). «Подход STAMPede к спекуляции на уровне потоков». ACM-транзакции в компьютерных системах. 23 (3): 253–300. CiteSeerX 10.1.1.79.4317. Дои:10.1145/1082469.1082471.
- Уэйли, Джон; Козыракис, Христос (2005). «Эвристика для спекулятивного распараллеливания на уровне методов на основе профиля». Международная конференция по параллельной обработке. ICPP 2005. С. 147–156. Дои:10.1109 / ICPP.2005.44.
- Ренау, Хосе; Штраус, Карин; Сезе, Луис; Лю, Вэй; Саранги, смрути; Так, Джеймс; Торреллас, Хосеп (2006). «Энергоэффективные спекуляции на уровне потоков» (PDF). IEEE Micro. 26 (1): 80–91. Дои:10.1109 / MM.2006.11.
- Ёсизоэ, Кадзуки; Мацумото, Такаши; Хираки, Кей (1998). «Спекулятивное параллельное выполнение на JVM». Британский семинар по HPNC. С. 1–20.
- Oancea, Cosmin E .; Майкрофт, Алан; Харрис, Тим (2009). «Облегченная реализация на месте для предположений на уровне программных потоков» (PDF). Материалы двадцать первого ежегодного симпозиума по параллелизму в алгоритмах и архитектурах. SPAA '09. С. 1–10. Дои:10.1145/1583991.1584050.
Этот Информатика статья - это заглушка. Вы можете помочь Википедии расширяя это. |