Айқын көп бұрандалы - Explicit multi-threading

Айқын көп жіп (XMT) Бұл Информатика айналасында жасалған параллель компьютерлерді құру және бағдарламалау парадигмасы параллель кездейсоқ қол жетімді машина (PRAM) параллельді есептеу моделі. XMT туралы неғұрлым тікелей түсініктеме жасалған алғашқы абстракциядан басталады сериялық есептеу қарапайым: кез-келген сериялық бағдарламада орындалуға болатын нұсқаулық бірден орындалады. Осы абстракцияның нәтижесі келесі орындау үшін қол жетімді нұсқаулықты біртіндеп (индуктивті) түсіндіру болып табылады. Жедел параллель орындау (ICE) деп аталатын XMT-дің алғашқы параллель абстракциясы Вишкин (2011), бір уақытта орындау үшін қол жетімді көптеген нұсқаулар дереу орындалады. ICE салдары қатар орындалуға арналған келесі нұсқаулықтарды кезең-кезеңмен (индуктивті) түсіндіру болып табылады. Сериалдан тыс жылжу фон Нейманның компьютері (бүгінгі күнге дейін жалғыз сәтті жалпы мақсаттағы платформа), XMT-нің ұмтылысы - информатика қайтадан қарапайым бір сызықты есептеу абстракциясымен математикалық индукцияны көбейте алады.

The кездейсоқ қол жетімді машина (RAM) - бұл дерексіз машина информатикада алгоритмдер мен стандартты сериялық есептеудің күрделілігін зерттеу үшін қолданылатын модель. The PRAM есептеу моделі - параллель алгоритмдері мен күрделілігін ұқсас зерттеу үшін енгізілген абстрактілі параллель машиналық модель параллель есептеу, олар әлі салынбаған кезде. Зерттеушілер PRAM моделінің параллель алгоритмдері туралы үлкен білімді дамытты. Бұл параллель алгоритмдер параллель алгоритмдердің басқа тәсілдерінің стандарттары бойынша қарапайым екендігі белгілі.

Параллель алгоритмдердің PRAM моделіне және олардың салыстырмалы қарапайымдылығына арналған параллель алгоритмдердің білімдері осы параллель алгоритмдерді басшылыққа алатын компьютерлер құруға түрткі болды. Параллельді бағдарламашылардың өнімділігі параллельді компьютердің жетістігі үшін шешуші болып саналғандықтан, алгоритмдердің қарапайымдылығы маңызды.

Көп ядролы компьютерлер бір интегралды микросхемаға біріктірілген екі немесе одан көп процессор ядроларының айналасында құрастырылған. Олар көптеген қолданбалы домендерде кеңінен қолданылады, соның ішінде жалпы мақсаттағы компьютерлер. Айқынды көп ағынды (XMT) - бірнеше, ондық, жүздік немесе мыңдық процессорлық ядролары бар көп ядролы компьютерлерді құру және бағдарламалау үшін есептеу парадигмасы.

2011 және 2012 жылдары жарияланған эксперименттік жұмыстар XMT прототиптеріндегі заманауи PRAM алгоритмдерінің қазіргі заманғы көп ядролы компьютерлердегі проблемаларға қарағанда анағұрлым жоғары жылдамдығын көрсетеді.

2018 жылы жарияланған жұмыс параллель бағдарламалаудың (ICE қолдану) XMT жүйелеріндегі ең жылдам қолмен реттелетін көп ағынды код сияқты нәтижеге қол жеткізе алатындығын көрсетеді. Бұғаттау қадамының индуктивті тәсілі қиын бағдарламашыларға белгілі басқа көптеген басқа жүйелердің көп ағынды бағдарламалау тәсілдерінен айырмашылығы.

XMT парадигмасы енгізілді Узи Вишкин.

XMT абстракциясының негізгі деңгейлері

Айқын көп ағынды (XMT) есептеу парадигмасы абстракцияның бірнеше деңгейлерін біріктіреді.

Енгізілген жұмыс уақыты (WT) (кейде оны тереңдету деп атайды) құрылымы Шилоач және Вишкин (1982), параллель алгоритмдерді тұжырымдау мен сипаттаудың қарапайым әдісін ұсынады. WT шеңберінде параллель алгоритм алдымен параллель дөңгелектер түрінде сипатталады. Әр раунд үшін орындалатын операциялар сипатталады, бірақ бірнеше мәселелерді басуға болады. Мысалы, әр айналымдағы операциялардың саны нақты болмауы керек, процессорларды атап өту қажет емес және процессорларды жұмыс орындарына тағайындауға көмектесетін кез-келген ақпарат есепке алынбайды. Екіншіден, басылған ақпарат беріледі. Жойылған ақпаратты қосу, шын мәнінде, байланысты жоспарлау теоремасының дәлелі негізінде жүзеге асырылады Брент (1974). WT шеңбері пайдалы, өйткені параллель алгоритмнің бастапқы сипаттамасын едәуір жеңілдетеді, ал бастапқы сипаттамамен басылған мәліметтерді енгізу өте қиын емес. Мысалы, WT шеңбері параллель алгоритм кітаптарындағы негізгі презентация негізі ретінде қабылданды (PRAM моделі үшін) JaJa (1992) және Keller, Kessler & Traeff (2001), сондай-ақ сынып жазбаларында Вишкин (2009). Вишкин (2011) WT шеңбері мен жоғарыда аталған ICE абстракциясының неғұрлым рудиментті арасындағы қарапайым байланысты түсіндіреді.

XMT парадигмасын қолдану арқылы бағдарламалауға болады XMTC, бағдарламалау тілінің шағын кеңеюі болып табылатын параллельді көп ағынды бағдарламалау тілі C. XMT парадигмасы WT шеңберінде алгоритмді шығарудан басталатын және оны XMTC-де бағдарламалауға кірісетін бағдарламашының жұмыс процесін қамтиды.

XMT көп ядролы компьютерлік жүйелер бірнеше патенттерден тұратын көп ағынды бағдарламалардың жүктеме теңгерімін қамтамасыз етеді. Олардың біреуі [1] жалпылайды бағдарлама санағышы тұжырымдамасы, ол орталық болып табылады фон Нейман сәулеті көп ядролы жабдыққа.

XMT прототипі және қосымша ақпаратқа сілтемелер

2007 жылдың қаңтарында 64 процессорлы компьютер [2] Паралеап атты,[3] жалпы тұжырымдаманы көрсететін аяқталды. XMT тұжырымдамасы ұсынылды Вишкин және т.б. (1998) және Найшлос және басқалар. (2003) және XMT 64 процессорлы компьютер Вен және Вишкин (2008). Параллель бағдарламалауды жеңілдету қазіргі кездегі информатиканың алдында тұрған ең үлкен проблемалардың бірі болғандықтан, демонстрация сонымен қатар PRAM алгоритмдері мен XMTC бағдарламалау негіздерін орта мектептен бастап студенттерге оқытуды көздеді Торберт және басқалар. (2010) аспирантураға.

Тәжірибелік жұмыс Карагеа және Вишкин (2011) үшін Максималды ағын проблемасы, және екі қағазда Эдвардс және Вишкин (2012) Графикалық байланыс үшін (Байланыс (графика теориясы) ), Графикалық қосылыс (қосарланған график ) және үштік байланыс графикасы (Үш байланыстырылған компонент ) параллель алгоритмдік әдебиеттегі кейбір жетілдірілген алгоритмдер үшін XMT парадигмасы заманауи көп ядролы компьютерлердегі есептерге қарағанда 8-ден 100 есеге дейін жылдамдықты ұсына алатындығын көрсетті. Әрбір есеп беру жылдамдығы ең жылдам сериялы машиналарда жұмыс істейтін ең жылдам сериялық алгоритмге қатысты XMT прототипіндегі сағат циклдерін салыстыру арқылы алынған.

XMT прототиптеу аяқталды Ганим, Вишкин және Баруа (2018), бұғаттау қадамымен параллель бағдарламалау (ICE қолдану) XMT жүйелеріндегі ең жылдам қолмен реттелетін көп ағынды код сияқты өнімділікке қол жеткізе алатынын белгілеу. Бұл 2018 нәтижесі XMT бағдарламалауы мен жарыстық жағдайлары мен басқа да талаптары қиындық туғызатын, кейде тіпті бағдарламашыларды сәтсіздікке ұшырататын барлық басқа ядролық жүйелерде қолданылатын көп ағынды бағдарламалау тәсілдерінің арасындағы айырмашылықты күшейтеді Вишкин (2014).

Әдебиеттер тізімі

  • Брент, Ричард П. (1974), «Жалпы арифметикалық өрнектерді қатар бағалау», ACM журналы, 21 (2): 201–208, CiteSeerX  10.1.1.100.9361, дои:10.1145/321812.321815.
  • Шилоач, Йосси; Вишкин, Узи (1982), «Ан O(n2 журналn) параллель максималды ағын алгоритмі « Алгоритмдер журналы, 3 (2): 128–146, дои:10.1016 / 0196-6774 (82) 90013-X.
  • JaJa, Джозеф (1992), Параллель алгоритмдерге кіріспе, Аддисон-Уэсли, ISBN  978-0-201-54856-3
  • Келлер, Йорг; Кесслер, Кристоф В .; Трэфф, Джеспер Л. (2001), PRAM практикалық бағдарламалау, Вили-Интерсианс, ISBN  978-0-471-35351-5
  • Найшлос, Дорит; Нузман, Джозеф; Ценг, Чау-Вэнь; Вишкин, Узи (2003), «Бағдарламалаудың өте ұсақ түйіршікті параллель тәсілінің алғашқы тік прототипіне қарай» (PDF), Компьютерлік жүйелер теориясы, 36 (5): 551–552, дои:10.1007 / s00224-003-1086-6.

Ескертулер

  1. ^ Вишкин, Узи. Айқын көп жіптерді қамтамасыз етуге арналған справкаға қосылу нұсқаулығының архитектурасы. АҚШ патенті 6 463 527. Сондай-ақ қараңыз Вишкин және т.б. (1998).
  2. ^ Мэриленд Университеті, пресс-релиз, 26 маусым 2007 жыл: «Мэриленд профессоры жұмыс үстелі суперкомпьютерін жасайды».
  3. ^ Мэриленд Университеті, А.Джеймс Кларк атындағы Инженерлік мектебі, пресс-релиз, 28 қараша 2007 ж.: «Есептеу технологиясындағы келесі үлкен» секіріс «атқа ие болды».

Сыртқы сілтемелер