Naslov (srp)

Предлог подршке за спекулативно извршавање нити у смр процесорима : докторска дисертација

Autor

Radulović, Milan B.

Doprinosi

Tomašević, Milo V., 1957-
Milutinović, Veljko, 1951-
Starčević, Dušan, 1949-
Đorđević, Jovan, 1946-
Jovanović, Zoran, 1974-

Opis (srp)

У овом раду се пошло од претпоставке да се ресурси вишејезгарних (CMP) процесора, уз додатну хардверску и/или софтверску подршку за спекулативно извршавање нити (TLS), могу искористити и за извршавање данас преовлађујућих секвенцијалних апликација. Међутим, поједина постојећа рјешења CMP процесора са TLS подршком захтијевају коришћење знатних додатних хардверских и софтверских ресурса за обављање специфичних операција током спекулативног извршавања секвенцијалних апликација. Стога је у овом раду урађена опсежна и веома детаљна компаративна анализа постојећих CMP система са TLS подршком при чему су посебно размотрени елементи хардверске и софтверске подршке за спекулацију на регистaрском и меморијском нивоу. Са становишта подршке за регистарску комуникације постојећи системи су класификовани по начину организације скупа регистара и начину повезивања, а након тога су подробно анализирани регистарски комуникациони механизми, технике опоравка након погрешне спекулације, перформансе и скалабилност. Класификација система са становишта спекулативне меморијске комуникације је урађена према организацији меморијске хијерархије, а затим је размотрена сложеност хардверске и софтверске подршке за спекулацију. Уочени су неки потенцијални узроци за деградацију перформанси као што су неуједначен саобраћај при завршетку нити и неприлагођен алгоритам замјене у кеш меморији. На основу спроведене анализе постојећих спекулативних CMP система, а у циљу остваривања што бољег односа цијена/перформансе и отклањања уочених неефикасности, у овој дисертацији је дефинисан предлог рјешења CMP процесора са једноставнијом TLS подршком, у којем се комуникација између спекулативних нити обавља и на регистарском и на меморијском нивоу. Предложени CMP систем за спекулативно извршавање нити припада групи CMP система са основном генеричком архитектуром надграђеном подршком и за регистарску и за меморијску комуникацију. Он се састоји од четири процесорска језгра са приватним L1 кеш меморијама за податке и инструкције повезаним заједничком магистралом са заједничком L2 кеш меморијом. Спекулативна комуникација на регистарском и меморијском нивоу се обавља преко посебних заједничких магистрала на принципима „snoopy“ протокола, док се спекулативна паралелизација спроводи на нивоу петљи тако да спекулативне нити одговарају појединим итерацијама петље. Идентификација нити у предложеном систему се врши уз помоћ бинарног анотатора, посебне софтверске компоненте која ради над секвенцијалним извршним кодом тако да се није потребно поновно превођење изворног кода. Поред тога, бинарни анотатор за потребе протокола који контролише регистарску комуникацију врши класификацију инструкција уписа у регистре чије се вриједности током спекулативног извршавања могу мијењати у петљи. Спекулативно произведене меморијске вриједности се држе у приватној...

Opis (srp)

Електротехника и рачунарство - Рачунарска техника и информатика / Electrical and Computer Engineering - Computer Engineering Datum odbrane: 20.03.2015.

Opis (eng)

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...

Jezik

srpski

Datum

2014

Licenca

Creative Commons licenca
Ovo delo je licencirano pod uslovima licence
Creative Commons CC BY-NC-SA 2.0 AT - Creative Commons Autorstvo - Nekomercijalno - Deliti pod istim uslovima 2.0 Austria License.

http://creativecommons.org/licenses/by-nc-sa/2.0/at/legalcode

Predmet

OSNO - Opšta sistematizacija naučnih oblasti, Računarska tehnika. Informaciona tehnologija

СМР процесори, спекулативни паралелизам на нивоу нити, регистарски протокол, меморијски протокол, механизам дистрибуиране арбитрације, алгоритам замјене кеш ријечи, симулационо окружење

OSNO - Opšta sistematizacija naučnih oblasti, Računarska tehnika. Informaciona tehnologija

СМР, thread level speculation, register-level protocol, memory-level protocol, mechanism of distributed arbitration, replacement algorithm, simulation environment