Title
Предлог подршке за спекулативно извршавање нити у смр процесорима
Creator
Radulović, Milan B.
Copyright date
2014
Object Links
Select license
Autorstvo-Nekomercijalno-Deliti pod istim uslovima 3.0 Srbija (CC BY-NC-SA 3.0)
License description
Dozvoljavate umnožavanje, distribuciju i javno saopštavanje dela, i prerade, ako se navede ime autora na način odredjen od strane autora ili davaoca licence i ako se prerada distribuira pod istom ili sličnom licencom. Ova licenca ne dozvoljava komercijalnu upotrebu dela i prerada. Osnovni opis Licence: http://creativecommons.org/licenses/by-nc-sa/3.0/rs/deed.sr_LATN Sadržaj ugovora u celini: http://creativecommons.org/licenses/by-nc-sa/3.0/rs/legalcode.sr-Latn
Language
Serbian
Cobiss-ID
Theses Type
Doktorska disertacija
description
Datum odbrane: 20.03.2015.
Other responsibilities
mentor
Tomašević, Milo V., 1957-
član komisije
Milutinović, Veljko, 1951-
član komisije
Starčević, Dušan, 1949-
član komisije
Đorđević, Jovan, 1946-
član komisije
Jovanović, Zoran, 1974-
Academic Expertise
Tehničko-tehnološke nauke
University
Univerzitet u Beogradu
Faculty
Elektrotehnički fakultet
Alternative title
A proposal of support for thread level speculation in CMPs
Publisher
[М. Радуловић]
Format
[11], IV, 168 листова
description
Електротехника и рачунарство - Рачунарска техника и информатика / Electrical and Computer Engineering - Computer Engineering
Abstract (sr)
У овом раду се пошло од претпоставке да се ресурси вишејезгарних (CMP) процесора, уз додатну хардверску и/или софтверску подршку за спекулативно извршавање нити (TLS), могу искористити и за извршавање данас преовлађујућих секвенцијалних апликација. Међутим, поједина постојећа рјешења CMP процесора са TLS подршком захтијевају коришћење знатних додатних хардверских и софтверских ресурса за обављање специфичних операција током спекулативног извршавања секвенцијалних апликација. Стога је у овом раду урађена опсежна и веома детаљна компаративна анализа постојећих CMP система са TLS подршком при чему су посебно размотрени елементи хардверске и софтверске подршке за спекулацију на регистaрском и меморијском нивоу. Са становишта подршке за регистарску комуникације постојећи системи су класификовани по начину организације скупа регистара и начину повезивања, а након тога су подробно анализирани регистарски комуникациони механизми, технике опоравка након погрешне спекулације, перформансе и скалабилност. Класификација система са становишта спекулативне меморијске комуникације је урађена према организацији меморијске хијерархије, а затим је размотрена сложеност хардверске и софтверске подршке за спекулацију. Уочени су неки потенцијални узроци за деградацију перформанси као што су неуједначен саобраћај при завршетку нити и неприлагођен алгоритам замјене у кеш меморији.
На основу спроведене анализе постојећих спекулативних CMP система, а у циљу остваривања што бољег односа цијена/перформансе и отклањања уочених неефикасности, у овој дисертацији је дефинисан предлог рјешења CMP процесора са једноставнијом TLS подршком, у којем се комуникација између спекулативних нити обавља и на регистарском и на меморијском нивоу. Предложени CMP систем за спекулативно извршавање нити припада групи CMP система са основном генеричком архитектуром надграђеном подршком и за регистарску и за меморијску комуникацију. Он се састоји од четири процесорска језгра са приватним L1 кеш меморијама за податке и инструкције повезаним заједничком магистралом са заједничком L2 кеш меморијом. Спекулативна комуникација на регистарском и меморијском нивоу се обавља преко посебних заједничких магистрала на принципима „snoopy“ протокола, док се спекулативна паралелизација спроводи на нивоу петљи тако да спекулативне нити одговарају појединим итерацијама петље. Идентификација нити у предложеном систему се врши уз помоћ бинарног анотатора, посебне софтверске компоненте која ради над секвенцијалним извршним кодом тако да се није потребно поновно превођење изворног кода. Поред тога, бинарни анотатор за потребе протокола који контролише регистарску комуникацију врши класификацију инструкција уписа у регистре чије се вриједности током спекулативног извршавања могу мијењати у петљи. Спекулативно произведене меморијске вриједности се држе у приватној...
Abstract (en)
In this research it was assumed that resources of chip multiprocessors (CMP), with additional hardware and/or software support for Thread Level Speculation (TLS) can be exploited for the execution of sequential applications which prevail today. However, some existing CMPs with TLS support require substantial additional hardware and software resources to perform specific operations during speculative execution of sequential applications. Therefore, an extensive and very detailed comparative analysis of existing speculative CMPs is performed focusing on hardware and software support for the speculation on both register and memory levels. According to the register level communication support, existing systems are classified by the organization of register file and interconnection topology. Then, a comparative analysis of registration communication mechanisms, misspeculation recovery techniques, and performance and scalability, are presented. According to the memory level communication support, existing systems are classified by the organization of the memory hierarchy, and then, the complexity of hardware and software support for speculation is discussed. Some potential causes for performance degradation such as burst traffic on thread commit and inappropriate replacement algorithm for cache memories are considered. Based on the analysis of existing speculative CMPs, in order to achieve a better cost/performance and to eliminate the observed inefficiencies, a CMP with a simpler TLS support, which enables the communication between speculative threads on both register and the memory level, is proposed in this dissertation. The proposed speculative CMP belongs to the systems with basically generic architecture enhanced with support for register and memory speculative communication. It consists of four processing cores with private data and instruction L1 caches which are connected by a shared bus to a shared L2 cache. The speculative communication at the register and memory level is done through corresponding shared buses following the principles of snoopy protocols. Speculative parallelization is implemented at the loop level and speculative threads correspond to the loop iterations. Speculative threads are identified using the binary annotator, the special software component that operates on a sequential executable code without need for source code recompilation. In addition, this tool annotates write instructions to loop-alive registers for the purpose of protocol that controls the register level communication. Speculatively produced memory values are kept in private L1 caches, while shared L2 cache stores the sequential state. Memory values can be transferred to the L2 cache only after a thread becomes non-speculative. The speculative thread can read data from non-speculative thread or some preceding or subsequent speculative thread. The proposed solution implements a support for dynamic identification of data dependence violations and recovery from misspeculation. Two protocols are proposed for register communication: the basic version – the SIC protocol, and its extended version - the ESIC protocol which is, unlike the SIC, based on speculative forwarding of potentially safe register values. Qualitative comparison of...
Authors Key words
СМР процесори, спекулативни паралелизам на нивоу нити, регистарски протокол, меморијски протокол, механизам дистрибуиране арбитрације, алгоритам замјене кеш ријечи, симулационо окружење
Authors Key words
СМР, thread level speculation, register-level protocol, memory-level protocol, mechanism of distributed arbitration, replacement algorithm, simulation environment
Classification
621.3
Type
Tekst
Abstract (sr)
У овом раду се пошло од претпоставке да се ресурси вишејезгарних (CMP) процесора, уз додатну хардверску и/или софтверску подршку за спекулативно извршавање нити (TLS), могу искористити и за извршавање данас преовлађујућих секвенцијалних апликација. Међутим, поједина постојећа рјешења CMP процесора са TLS подршком захтијевају коришћење знатних додатних хардверских и софтверских ресурса за обављање специфичних операција током спекулативног извршавања секвенцијалних апликација. Стога је у овом раду урађена опсежна и веома детаљна компаративна анализа постојећих CMP система са TLS подршком при чему су посебно размотрени елементи хардверске и софтверске подршке за спекулацију на регистaрском и меморијском нивоу. Са становишта подршке за регистарску комуникације постојећи системи су класификовани по начину организације скупа регистара и начину повезивања, а након тога су подробно анализирани регистарски комуникациони механизми, технике опоравка након погрешне спекулације, перформансе и скалабилност. Класификација система са становишта спекулативне меморијске комуникације је урађена према организацији меморијске хијерархије, а затим је размотрена сложеност хардверске и софтверске подршке за спекулацију. Уочени су неки потенцијални узроци за деградацију перформанси као што су неуједначен саобраћај при завршетку нити и неприлагођен алгоритам замјене у кеш меморији.
На основу спроведене анализе постојећих спекулативних CMP система, а у циљу остваривања што бољег односа цијена/перформансе и отклањања уочених неефикасности, у овој дисертацији је дефинисан предлог рјешења CMP процесора са једноставнијом TLS подршком, у којем се комуникација између спекулативних нити обавља и на регистарском и на меморијском нивоу. Предложени CMP систем за спекулативно извршавање нити припада групи CMP система са основном генеричком архитектуром надграђеном подршком и за регистарску и за меморијску комуникацију. Он се састоји од четири процесорска језгра са приватним L1 кеш меморијама за податке и инструкције повезаним заједничком магистралом са заједничком L2 кеш меморијом. Спекулативна комуникација на регистарском и меморијском нивоу се обавља преко посебних заједничких магистрала на принципима „snoopy“ протокола, док се спекулативна паралелизација спроводи на нивоу петљи тако да спекулативне нити одговарају појединим итерацијама петље. Идентификација нити у предложеном систему се врши уз помоћ бинарног анотатора, посебне софтверске компоненте која ради над секвенцијалним извршним кодом тако да се није потребно поновно превођење изворног кода. Поред тога, бинарни анотатор за потребе протокола који контролише регистарску комуникацију врши класификацију инструкција уписа у регистре чије се вриједности током спекулативног извршавања могу мијењати у петљи. Спекулативно произведене меморијске вриједности се држе у приватној...
“Data exchange” service offers individual users metadata transfer in several different formats. Citation formats are offered for transfers in texts as for the transfer into internet pages. Citation formats include permanent links that guarantee access to cited sources. For use are commonly structured metadata schemes : Dublin Core xml and ETUB-MS xml, local adaptation of international ETD-MS scheme intended for use in academic documents.