Σχετικά έγγραφα
Diakritˆ Majhmatikˆ I. Leutèrhc KuroÔshc (EÔh Papaðwˆnnou)

Εφαρμοσμένα Μαθηματικά για Μηχανικούς

Ανάλυση ις. συστήματα

SUNARTHSEIS POLLWN METABLHTWN. 5h Seirˆ Ask sewn. Allag metablht n sto diplì olokl rwma

PANEPISTHMIO DUTIKHS ATTIKHS SQOLH MHQANIKWN TMHMA POLITIKWN MHQANIKWN ANWTERA MAJHMATIKA II DIAFORIKES EXISWSEIS.

Jerinì SqoleÐo Fusik c sthn EkpaÐdeush 28 IounÐou - 1 IoulÐou 2010 EstÐa Episthm n Pˆtrac

Eisagwg sthn KosmologÐa

9. α 2 + β 2 ±2αβ. 10. α 2 ± αβ + β (1 + α) ν > 1+να, 1 <α 0, ν 2. log α. 14. log α x = ln x. 19. x 1 <x 2 ln x 1 < ln x 2

PANEPISTHMIO DUTIKHS ATTIKHS SQOLH MHQANIKWN TMHMA POLITIKWN MHQANIKWN ANWTERA MAJHMATIKA II DIAFORIKES EXISWSEIS DEUTERHS KAI ANWTERHS TAXHS

Anaplhrwt c Kajhght c : Dr. Pappˆc G. Alèxandroc PANEPISTHMIO DUTIKHS ATTIKHS SQOLH MHQANIKWN TMHMA POLITIKWN MHQANIKWN ANWTERA MAJHMATIKA I

Diˆsthma empistosônhc thc mèshc tim c µ. Statistik gia Hlektrolìgouc MhqanikoÔc EKTIMHSH EKTIMHSH PARAMETRWN - 2. Dhm trhc Kougioumtz c.

Mègisth ro - elˆqisth tom

Εφαρμοσμένα Μαθηματικά για Μηχανικούς

25 OktwbrÐou 2012 (5 h ebdomˆda) S. Malefˆkh Genikì Tm ma Majhmatikˆ gia QhmikoÔc

Εφαρμοσμένα Μαθηματικά για Μηχανικούς

Statistik gia QhmikoÔc MhqanikoÔc EKTIMHSH PARA

Statistik gia PolitikoÔc MhqanikoÔc EKTIMHSH PAR

Τίτλος Μαθήματος: Γραμμική Άλγεβρα ΙΙ

11 OktwbrÐou S. Malefˆkh Genikì Tm ma Majhmatikˆ gia QhmikoÔc

PANEPISTHMIO DUTIKHS ATTIKHS SQOLH MHQANIKWN TMHMA POLITIKWN MHQANIKWN ANWTERA MAJHMATIKA II SUNARTHSEIS POLLWN METABLHTWN.

PANEPISTHMIO DUTIKHS ATTIKHS SQOLH MHQANIKWN TMHMA POLITIKWN MHQANIKWN ANWTERA MAJHMATIKA II DIAFORIKES EXISWSEIS.

στο Αριστοτέλειο υλικού.

Anagn rish ProtÔpwn & Neurwnikˆ DÐktua Probl mata 2

Pragmatik Anˆlush ( ) TopologÐa metrik n q rwn Ask seic

Τίτλος Μαθήματος: Γραμμική Άλγεβρα Ι

GENIKEUMENA OLOKLHRWMATA

Ανάλυση ασκήσεις. συστήματα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Μηχανική Μάθηση. Ενότητα 10: Θεωρία Βελτιστοποίησης. Ιωάννης Τσαμαρδίνος Τμήμα Επιστήμης Υπολογιστών

2 PerÐlhyh Se aut n thn ergasða, parousi zoume tic basikìterec klassikèc proseggðseic epðlushc Polu-antikeimenik n Problhm twn BeltistopoÐhshs(PPB) ka

5. (12 i)(3+4i) 6. (1 + i)(2+i) 7. (4 + 6i)(7 3i) 8. (1 i)(2 i)(3 i)

Statistik gia PolitikoÔc MhqanikoÔc ELEGQOS UPOJ

ISTORIKH KATASKEUH PRAGMATIKWN ARIJMWN BIBLIOGRAFIA

Τίτλος Μαθήματος: Γραμμική Άλγεβρα ΙΙ

Upologistik Fusik Exetastik PerÐodoc IanouarÐou 2013

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Κλασσική Ηλεκτροδυναμική II

1 η Σειρά Ασκήσεων Θεόδωρος Αλεξόπουλος. Αναγνώριση Προτύπων και Νευρωνικά Δίκτυα

Στατιστική για Χημικούς Μηχανικούς

2+sin^2(x+2)+cos^2(x+2) Δ ν =[1 1 2 ν 1, ν ) ( ( π (x α) ημ β α π ) ) +1 + a 2

1, 3, 5, 7, 9,... 2, 4, 6, 8, 10,... 1, 4, 7, 10, 13,... 2, 5, 8, 11, 14,... 3, 6, 9, 12, 15,...

(i) morf (relocatable, linkable)

f(x) =x x 2 = x x 2 x =0 x(x 1) = 0,

Θεωρία Πιθανοτήτων και Στατιστική

2

AM = 1 ( ) AB + AΓ BΓ+ AE = AΔ+ BE. + γ =2 β + γ β + γ tìte α// β. OΓ+ OA + OB MA+ MB + M Γ+ MΔ =4 MO. OM =(1 λ) OA + λ OB

Ask seic me ton Metasqhmatismì Laplace

6h Seirˆ Ask sewn. EpikampÔlia oloklhr mata

10/2013. Mod: 02D-EK/BT. Production code: CTT920BE


APEIROSTIKOS LOGISMOS I

στο Αριστοτέλειο υλικού.

PANEPISTHMIO DUTIKHS ATTIKHS SQOLH MHQANIKWN TMHMA POLITIKWN MHQANIKWN ANWTERA MAJHMATIKA II SUNARTHSEIS POLLWN METABLHTWN EPIKAMPULIA OLOKLHRWMATA

Ανάλυση. σήματα και συστήματα

JEMATA EXETASEWN Pragmatik Anˆlush I


EUSTAJEIA DUNAMIKWN SUSTHMATWN 1 Eisagwg O skop c tou par ntoc kefala ou e nai na parousi sei th basik jewr a gia th mel th thc eust jeiac en c mh gra

Farkas. αx+(1 α)y C. λx+(1 λ)y i I A i. λ 1,...,λ m 0 me λ 1 + +λ m = m. i=1 λ i = 1. i=1 λ ia i A. j=1 λ ja j A. An µ := λ λ k = 0 a λ k

Φυλλο 3, 9 Απριλιου Ροδόλφος Μπόρης


Στατιστική για Χημικούς Μηχανικούς


Σχήμα 1.1: Διάφορες ισόχρονες καμπύλες με διαφορετικές μεταλλικότητες Ζ, και περιεκτικότητα σε ήλιο Υ.

Upologistikˆ Zht mata se Sumbibastikèc YhfoforÐec

Hmiomˆdec telest n sônjeshc kai pðnakec Hausdorff se q rouc analutik n sunart sewn

Εφαρμοσμένα Μαθηματικά για Μηχανικούς

YWMIADH BASILEIOU fifianalush PROSARMOGHS ELASTOPLASTIKWN METALLIKWN KATASKEUWN UPO TO TRISDIASTATO KRITHRIO DIARROHS TRESCA ME TEQNIKES TOU HMIJETIKO

Didaktorikèc spoudèc stic HPA, sta Majhmatikˆ. 20 MartÐou 2015

Σήματα Συστήματα Ανάλυση Fourier για σήματα και συστήματα συνεχούς χρόνου Περιοδικά Σήματα (Σειρά Fourier)

spin triplet S =1,M S =0 = ( + ) 2 S =1,M S = 1 = spin singlet S =0,M S =0 = ( )



I

SofÐa ZafeirÐdou: GewmetrÐec

+#!, - ),,) " ) (!! + Henri Poincar e./ ', / $, 050.

Autìmath Exagwg Peril yewn kai h Axiolìghs touc


Ergasthriak 'Askhsh 2

Anaz thsh eustaj n troqi n se triplˆ sust mata swmˆtwn

PerÐlhyh H moriak arqitektonik kai o sqediasmìc polôplokwn morðwn pou perièqoun foullerènia antiproswpeôei èna pedðo thc upermoriak c epist mhc sto op

MELETH TWN RIZWN TWN ASSOCIATED ORJOGWNIWN

ΜΑΘΗΜΑΤΙΚΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

στο Αριστοτέλειο υλικού.

2

2 PERIEQ OMENA H epðdrash tou upokeimènou diktôou sthn poiìthta uphresðac H diepaf thc uphresðac proc to qr

MÐa SÔntomh Eisagwgă stic SÔgqronec JewrÐec Isìthtac

PANEPISTHMIO DUTIKHS ATTIKHS SQOLH MHQANIKWN. Ask seic kai Jèmata sthn Pragmatik Anˆlush I TMHMA POLITIKWN MHQANIKWN

majhmatikoð upologismoð. To biblðo mporeð na qwristeð jematikĺ se treic enìthtec. Thn prÿth enìthta apoteloôn

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΛΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Εξετάσεις Ιουνίου 2002

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

thlèfwno: , H YHFIAKH TAXH A' GumnasÐou Miqˆlhc TzoÔmac Sq. Sumb. kl.

Statistik gia QhmikoÔc MhqanikoÔc EKTIMHSH PARA

SUNOLA BIRKHOFF JAMES ϵ ORJOGWNIOTHTAS KAI ARIJMHTIKA PEDIA


N.Σ. Μαυρογιάννης 2010

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

(i) (ii) (interpreters) (linkers) (loaders) (decompilers) (meta-compilers) (preprocessors) (assemblers) (program generators)

Eukleideiec Gewmetriec

Θεωρία Πιθανοτήτων και Στατιστική

EISAGWGH STON PROGRAMMATISMO ( ) 'Askhsh 2

Εικονική Μνήμη (virtual memory)

Transcript:

EJNIKO METSOBIO POLUTEQNEIO SQOLH HLEKTROLOGWN MHQANIKWN KAI MHQANIKWN UPOLOGISTWN TOMEAS TEQNOLOGIAS PLHROFORIKHS KAI UPOLOGISTWN ERGASTHRIO UPOLOGISTIKWN SUSTHMATWN Enopoihmènh efarmog metasqhmatism n k dika kai dedomènwn gia thn antimet pish kajuster sewn lìgw astoqi n (misses) se poluepðpedec ierarqðec mn mhc polunhmatik n arqitektonik n DIPLWMATIKH ERGASIA tou Q rh M. B lou Epiblèpwn: Nekt rioc KozÔrhc Ep. Kajhght c EMP Aj na, IoÔlioc 2005

EJNIKO METSOBIO POLUTEQNEIO SQOLH HLEKTROLOGWN MHQANIKWN KAI MHQANIKWN UPOLOGISTWN TOMEAS TEQNOLOGIAS PLHROFORIKHS KAI UPOLOGISTWN ERGASTHRIO UPOLOGISTIKWN SUSTHMATWN Enopoihmènh efarmog metasqhmatism n k dika kai dedomènwn gia thn antimet pish kajuster sewn lìgw astoqi n (misses) se poluepðpedec ierarqðec mn mhc polunhmatik n arqitektonik n DIPLWMATIKH ERGASIA tou Q rh M. B lou Epiblèpwn: Nekt rioc KozÔrhc Ep. Kajhght c EMP EgkrÐjhke apì thn trimel exetastik epitrop thn 11 η IoulÐou 2005.... Nekt rioc KozÔrhc Ep. Kaj ghthc EMP... TÐmoc Sell c Kajhght c EMP... Panagi thc Tsan kac Kajhght c EMP Aj na, IoÔlioc 2005.

... Q rhc M. B loc DiplwmatoÔqoc Hlektrolìgoc Mhqanikìc kai Mhqanikìc Upologist n E.M.P. Copyright c Q rhc M. B loc, 2005 MeepifÔlaxh pantìc dikai matoc. All rights reserved. ApagoreÔetai h antigraf, apoj keush kai dianom thc paroôsac ergasðac, exfl olokl rou tm matoc aut c, gia emporikì skopì. Epitrèpetai h anatôpwsh, apoj keush kai dianom gia skopì mh kerdoskopikì, ekpaideutik c ereunhtik c fôshc, upì thn proupìjesh na nafèretai h phg proèleushc kai na diathreðtai to parìn m numa. Erwt mata pou aforoôn th qr sh thc ergasðac gia kerdoskopikì skopì prèpei na apeujônontai proc ton suggrafèa. Oi apìyeic kai ta sumper smata pou perièqontai se autì to èggrafo ekfr zoun ton suggrafèa kai den prèpei na ermhneujeð ìti antiproswpeôoun tic epðshmec jèseic tou EjnikoÔ Metsìbiou PoluteqneÐou.

PerÐlhyh 'Ena apì ta pio sobar probl mata twn shmerin n upologistik n susthm twn eðnai to q - sma epðdoshc metaxô mon dac epexergasðac kai sust matoc mn mhc. To prìblhma autì antimetwpizetai methn ier rqhsh tou sust matoc mn mhc sepollapl epðpeda (kataqwrhtèc, kruf mn mh, eikonik mn mh), ìpou ta dedomèna enìc epipèdou apoteloôn uposôsolo twn dedomènwn tou amèswc qamhl terou epipèdou. An kai h eisagwg thc ierarqðac lônei shmantik to prìblhma, h epðdosh mporeð na auxhjeð akìmh perissìtero ìtan ta Ðdia ta progr mmata sqedi zontai mestìqo thn mègisth dunat axiopoðhsh thc ierarqðac mn mhc. Skopìc thc paroôsac diplwmatik c ergasðac eðnai h axiopoðhsh twn poluepðpedwn ierarqi n mn mhc twn sôgqronwn upologistik n susthm twn mèsw thc eniaðac efarmog c metasqhmatism n k dika kai metasqhmatism n diat xewn dedomènwn, oi opoðoi aôx noun thn topikìthta twn anafor n kai meðwnoun epomènwc tic astoqðec sta di fora epðpeda. Parousi zoumemetaxô llwn ton metasqhmatismì plakìstrwshc (tiling) o opoðoc apoteleð ton pio diadedomèno metasqhmatismì k dika gia thn anadi taxh twn epanal yewn se fwliasmènouc brìqouc mestìqo thn aôxhsh thc topikìthtac, kaj c kai tic diat xeic enot twn oi opoðec anadiat ssoun to q ro dedomènwn, ètsi ste ta dedomèna na apojhkeôontai me th seir pou aut prospel nontai apì touc tiled k dikec. Gia thn deiktodìthsh twn enot twn sthrizìmasteston apodotikì mhqanismì deiktodìthshc MBaLt. H melèth thc apotelesmatikìthtac twn metasqhmatism n, kaj c kai tou mhqanismoô deiktodìthsh enot twn, gðnetai mèsw thc ulopoðhshc diafìrwn ekdoq n tou metroprogr mmatoc fiparagontopoðhsh Choleskyfl. Ta pragmatik apotelèsmata pou lamb noumeapì thn ektèlesh twn ekdoq n tou metroprogr mmatoc sedôo diaforetik upologistik sust mata deðqoun ìti h epðdosh aux netai shmantik me thn eniaða efarmog thc plakìstrwshc kai diat xewn enot twn medeiktodìthsh MBaLt. Epiprìsjeta, ta analutik apotelèsmata pou lamb nontai apì thn exomeðwsh mèsw tou ergaleðou SimpleScalar, epibebai noun ìti h beltðwsh thc epðdoshc ofeðletai sthn el ttwsh twn astoqi n kruf c mn mhc kai ton periorismì thc kat qrhshc TLB. Tèloc, ulopoioômepolunhmatikèc ekdoqèc tou metroprogr mmatoc mestìqo thn melèth thc epðdoshc thc eniaðac efarmog c twn proanaferomènwn metasqhmatism n se ierarqðec mn mhc polunhmatik n arqitektonik n tôpou SMT. Taapotelèsmata pou prokôptoun, apokalôptoun thn adunamða epðdoshc aut n twn arqitektonik n kat thn ektèlesh par llhlwn ekdoq n beltistopoihmènwn programm twn pou parousi zoun uyhl parallhlða se epðpedo entol c. Lèxeic Kleidi : IerarqÐa Mn mhc, Kruf Mn mh, AstoqÐa, Topikìthta Anafor n, Metasqhmatismìc Brìqwn kai Dedomènwn, Metasqhmatismìc Plakìstrwshc (tiling), Diat - xeic Enot twn, Deiktodìthsh Enot twn MBaLt, Polunhmatik Arqitektonik SMT, fiparagontopoðhsh Choleskyfl

Abstract One of the most important problems of modern computer systems is the increasing discrepancy between processor cycle times and main memory access times. One solution to this problem is the use of a multiple level hierarchical memory system (registers, cache memory, virtual memory), where the data of one level is a subset of the data of a lower level. The performance can be further increased, when programs are written in such a way to exploit the existence of a memory hierarchy. The goal of this diploma thesis is the exploit of the memory hierarchy found in contemporary computer systems, through the unified application of code and data layout transformations. These transformations increase the locality of data references and hence decrease misses in different levels of the memory hierarchy. We present the tiling transformation, which is a widely used loop iteration reordering technique for improving locality of references, and also block data layouts which reorder the data space in the order that is swept by the tiled instruction stream. For the indexing of the blocks we use the MBaLt mechanism, which is an efficient and fast indexing method. To study the effectiveness of such transformations and also the efficieny of MBaLt, we implement different versions of Cholesky factorization benchmark. Actual experimental results on two different computer systems, using these versions, illustrate that performance is greatly improved when combining tiled code with block data layouts and MBaLt indexing mechanism. Furthermore, analytical simulation results taken using the Simplescalar tool, verify that our enhanced performance is due to the considerable reduction of cache misses in all levels of memory hierarchy. Finally, we implement some multithreaded versions of the benchmark to study the effectiveness of the above transformations in the memory hierarchy of simultaneous multithreading (SMT) architecture. The results show the weakness of this architecture to perform well when executing parallel versions of optimized programs with high level of instruction level parallelism. Keyrords: Memory Hierarchy, Cache Memory, Miss, Locality of References, Loop And Data Layout Transformations, Tiling, Block Data Layouts, MBaLt Blocks Indexing, Simultaneous Multithreading (SMT), Cholesky Factorization

EuqaristÐec H paroôsa diplwmatik ergasða pragmatopoi jhkesto Ergast rio Upologistik n Susthm twn thc Sqol c Hlektrolìgwn Mhqanik n kai Mhqanik n Upologist n tou EjnikoÔ MetsobÐou PoluteqneÐou, upì thn epðbleyh tou EpÐkourou Kajhght Nekt riou KozÔrh. Ja jela katfl arq n na euqarist sw ton kajhght mou Nekt rio KozÔrh, tìso gia thn epopteða tou kat thn ekpìnhsh thc ergasðac mou, ìso kai gia th sumbol tou sthn diamìrfwsh mou wc mhqanikoô mèsa apì tic didaskalðec tou kai th ge nikìterh st sh tou. Tic euqaristðec mou ja jela na ekfr sw epðshc se ìla ta mèlh tou ergasthrðou kai idiaðtera sthn Upoy fia Did ktora EuaggelÐa Ajanas kh gia th suneq kajod ghsh kai enj rrunsh pou mou prosèfere proc olokl rwsh thc diplwmatik c mou ergasðac. Tèloc, ja jela na euqarist sw ìlouc ìsouc brðskontai sto oikogeneiakì kai filikì mou perib llon kai kurðwc touc goneðc mou, h k jeeðdouc upost rixh twn opoðwn sunetèlese tìso sthn per twsh thc diplwmatik c mou ergasðac ìso kai sthn epituq olokl rwsh twn proptuqiak n mou spoud n.

8

Perieqìmena 0.1 Genik....................................... 13 0.2 Skopìc...................................... 15 0.3 Org nwsh-antikeðmeno thc ergasðac...................... 15 1 Arqitektonik Sust matoc Mn mhc 17 1.1 Basikèc 'Ennoiec Kruf c Mn mhc........................ 17 1.1.1 Org nwsh Kruf c Mn mhc....................... 18 1.1.2 EÔresh Enìthtac mèsa sthn Kruf Mn mh............... 19 1.1.3 Antikat stash Enìthtac sthn perðptwsh astoqðac Kruf c Mn mhc. 20 1.1.4 MhqanismoÐ Eggraf c Enìthtac..................... 21 1.2 BeltistopoÐhsh EpÐdoshc Kruf c Mn mhc................... 22 1.2.1 Strathgikèc UlikoÔ........................... 22 1.2.2 Strathgikèc Metaglwttist....................... 23 1.3 Org nwsh Eikonik c Mn mhc.......................... 25 2 MetasqhmatismoÐ Brìqwn 27 2.1 Basikèc 'Ennoiec................................. 27 2.1.1 Fwliasmènoi Brìqoi........................... 27 2.1.2 Q roc Epanal yewn........................... 28 2.1.3 Exart seic Dedomènwn.......................... 29 2.2 Topikìthta kai EpanaqrhsimopoÐhsh...................... 32 2.2.1 Di krish Topikìthtac kai EpanaqrhsimopoÐhshc............ 32 2.2.2 EÔresh EpanaqrhsimopoÐhshc...................... 32 2.3 Unimodular MetasqhmatismoÐ Brìqwn..................... 33 2.4 Mh GrammikoÐ MetasqhmatismoÐ Brìqwn.................... 36 2.5 Metasqhmatismìc Tiling............................. 38 2.5.1 Genik................................... 38 2.5.2 Efarmìzontac ton Metasqhmatismì Tiling............... 40 3 MetasqhmatismoÐ Dedomènwn 45 3.1 Genik....................................... 45 3.2 Basikèc 'Ennoiec................................. 46 3.3 MetasqhmatismoÐ dedomènwn........................... 47 3.3.1 Orismìc.................................. 47 3.3.2 Efarmog MetasqhmatismoÔ....................... 47 3.3.3 Orismènec Basikèc Morfèc....................... 50 9

10 PERIEQ OMENA 3.3.4 Egkurìthta................................ 52 3.4 EnopoÐhsh Metasqhmatism n Brìqwn kai Dedomènwn............. 52 3.4.1 Genik................................... 52 3.4.2 Grammikèc Diat xeic........................... 52 3.4.3 Di taxh Enot twn............................ 53 3.5 H Mèjodoc Dieujunsiodìthshc MBaLt..................... 54 3.5.1 Diestalmènoi Akèraioi (Dilated Integers) kai Deiktodìthsh Morton. 55 3.5.2 Mia Pr th Prosèggish......................... 56 3.5.3 JewrÐa Mask n............................. 57 3.5.4 UlopoÐhsh-Sqediasmìc K dika..................... 58 3.5.5 O algìrijmoc............................... 61 4 ParagontopoÐhsh Cholesky - EpÐdosh MBaLt 65 4.1 Genik....................................... 65 4.2 SqedÐash Tiled Morf c megrammikèc Diat xeic................ 66 4.3 SqedÐash Tiled Morf c me MBaLt....................... 70 4.4 Peiramatik Apotelèsmata............................ 72 4.4.1 Perib llon Ektèleshc.......................... 72 4.4.2 Qronikèc Metr seic............................ 73 4.4.3 Apotelèsmata ProsomoÐwshc...................... 74 4.5 Sumper smata................................... 75 5 Polunhmatikèc Arqitektonikèc 85 5.1 Genik....................................... 85 5.2 Polunhm twsh.................................. 85 5.3 Tautìqronh Polunhm twsh (SMT)....................... 86 5.4 TeqnologÐa Hyper-Threading (HT)....................... 88 6 EpÐdosh MBaLt se Ier. Mn mhc Polun. Arq. 91 6.1 Genik....................................... 91 6.2 Polunhmatik ParallhlopoÐhsh......................... 91 6.3 Polunhmatik ParallhlopoÐhsh ParagontopoÐhshc Cholesky......... 92 6.3.1 Leptokommènh Diamèrish ErgasÐac................... 93 6.3.2 Qontrokommènh Diamèrish ErgasÐac.................. 94 6.3.3 Sunduasmìc Qontrokommènhc kai Leptokommènhc Diamèrishc..... 95 6.4 Jèmata UlopoÐhshc................................ 96 6.4.1 N mata POSIX.............................. 96 6.4.2 CPU Affinity............................... 96 6.4.3 MhqanismoÐ SugqronismoÔ........................ 97 6.5 Peiramatik Apotelèsmata............................ 98 6.5.1 Perib llon Ektèleshc.......................... 98 6.5.2 Apotelèsmata............................... 98 6.6 Sumper smata................................... 101

PERIEQ OMENA 11 A Sumplhrwmatik Jèmata 111 A.1 EktÐmhsh Kìstouc Ektèleshc Fwliasmènwn Brìqwn............. 111 A.1.1 Genik................................... 111 A.1.2 Om dec Anafor n............................ 111 A.1.3 Kìstoc Brìqou.............................. 112 A.1.4 EÔresh thc Bèltisthc Dom c...................... 114 B PhgaÐoc K dikac 117 B.1 PhgaÐoc K dikac Metroprogr mmatoc Cholesky................ 117 B.2 PhgaÐoc K dikac Polunhmatik n Ekdoq n................... 125 B.3 Bohjhtikèc Sunart seic............................. 146 B.3.1 Mejìdou MBaLt............................. 146 B.3.2 CPU Affinity............................... 148 B.3.3 Spin-Locks................................ 148 BibliografÐa 151 Euret rio 153

12 PERIEQ OMENA

Eisagwg 0.1 Genik H tromaktik teqnologik an ptuxh pou shmei jhke tic teleutaðec dôo me treic dekaetðec ston tomèa twn VLSI eðqe wc apotèlesma thn aôxhsh thc puknìthtac olokl rwshc se mia yhfðda, pou ìpwc swst prìbleye o J. Moore sta mèsa thc dekaetðac tou 1960, h puknìthta aut diplasi zetai k je 18-24 m nec. H dunatìthta aut gia qrhsimopoðhsh perissìterwn tranzðstor eðqe wc apotèlesma thn epinìhsh kai ulopoðhsh swlhnwt n kai uperbajmwt n arqitektonik n oi opoðec aôxhsan thn epexergastik isqô thc kentrik c mon dac epexergasðac (KME) (CPU). Dustuq c ìmwc h an ptuxh aut thc KME den sunodeuìtan kai apì thn antðstoiqh aôxhsh epðdoshc thc mon dac mn mhc, odhg ntac ìpwc faðnetai kai sto sq ma 1 sthn dhmiourgða q smatoc metaxô epðdoshc tou epexergast kai thc mn mhc enìc sôgqronou upologistikoô sust matoc. En h epðdosh tou epexergast parousi zei èna rujmì aôxhshc 60% an ètoc, o rujmìc aôxhshc thc epðdoshc thc mon dac mn mhc eðnai idiaðtera qamhlìc, mìno 7%. Ft sameloipìn seèna shmeðo ìpou h epðdosh thc mon dac mn mhc eðnai 100 mèqri kai 1000 forèc mikrìterh apì thn epðdosh tou epexergast. H mikr di rkeia tou kôklou mhqan c sesun rthsh meth mh drastik meðwsh thc kajustèrhshc metafor c dedomènwn apì thn mon da mn mhc èqei san apotèlesma na qrei zontai oloèna kai perissìteroi kôkloi mhqan c gia thn metafor aut. H epðdosh thc mon dac mn mhc enìc sôgqronou upologistikoô sust matoc eðnai loipìn ènac shmantikìc par gontac gia 100000 10000 CPU Memory Performance 1000 100 10 1 1980 1985 1990 1995 2000 2005 Time Sq ma 1: To Q sma metaxô EpÐdoshc thc KME kai thc Mon dac Mn mhc ta teleutaða 25 qrìnia 13

14 EISAGWGH Sq ma 2: IerarqÐa Mn mhc ton pe riorismì thc sunolik c epðdoshc tou. Mia oikonomik, all tautìqrona kai apodotik lôsh sto prìblhma autì eðnai h qr sh thc IerarqÐac Mn mhc (memory hierarchy). H idèa pðsw apì thn ierarqða mn mhc ìpwc faðnetai kai sto sq ma 2 eðnai h topojèthsh miac polô gr gorhc mikr c mn mhc, h opoða onom zetai kruf mn mh (cache memory) kai eðnai teqnologðac SRAM, kont ston e pe xe r- gast h opoða trofodoteðtai apì thn megalôterh all kai pio arg kentrik mn mh (main memory) teqnologðac DRAM. H ierarqða mn mhc parèqei me autì ton trìpo èna sôsthma mn mhc me kìsto sqedìn tìso qamhlì ìso to fjhnìtero epðpedo mn mhc kai taqôthta tìsh ìsh tou grhgorotèrou epipèdou. S mera, idiaðtera diadedomènec eðnai oi poluepðpedec ierarqðec mn mhc oi opoðec den periorðzontai mìno sto èna epðpedo kruf c mn mhc, all qrhsimopoioôn mèqri kai trða tètoia epðpeda. Gia thn epðteuxh bèbaia uyhl c epðdoshc me th qr sh thc ierarqðac mn mhc apaiteðtai h elaqistopoðhsh thc metafor c dedomènwn apì thn kentrik mn mh proc thn kruf mn mh. H dunatìthta miac tètoiac elaqistopoðhshc eutuq c dikaiologeðtai apì thn arq thc topikìthtac thc anafor c (principle of locality of reference), h opoða dhl nei ìti ta pe rissìtera progr mmata den prospel noun omoiìmorfa ton k dika kai ta dedomèna touc, all èqoun thn t sh k poia mèrh na ta epanaprospel noun kai m lista qronik konta. Aux nontac loipìn thn topikìthta twn anafor n se èna prìgramma epitugq netai h ìso to dunatìn kalôterh ekmet lleush thc ierarqðac mn mhc. Mia tètoia aôxhsh mporeð na epiteuqjeð meth qr sh metasqhmatism n k dika 1 kai dedomènwn oi opoðoi skopì èqoun thn anadi taxh twn anafor n kai th seir apoj keushc twn dedomènwn sth mn mh. Tètoioi metasqhmatismoð efarmìzontai sun jwc apì ton metaglwttist (compiler) kai eðnai arket apotelesmatikoð sthn perðptwsh efarmog n pou diajètoun morfìtupa anafor n (reference patterns) pou akoloujoôn mia kanonik dom, ìpwc ta progr mmata arijmhtik c an lushc. 1 H paroôsa ergasða esti zetai sthn kathgorða twn metasqhmatism n k dika pou efarmìzontai se epanalhptikoôc brìqouc kai oi opoðoi onom zontai metasqhmatismoð brìqwn.

0.2. SKOP OS 15 0.2 Skopìc Skopìc thc paroôsac diplwmatik c ergasðac eðnai h eniaða efarmog metasqhmatism n k dika kai dedomènwn kai h melèth thc apotelesmatikìthtac touc gia meðwsh twn kajuster sewn lìgw astoqi n se poluepðpedec ierarqðec mn mhc sôgqronwn upologistik n susthm twn, sumperilambanomènwn kai polunhmatik n arqitektonik n. MetaxÔ llwn qrhsimopoieðtai o metasqhmatismìc tiling kai oi diat xeic e not twn meapodotik deiktìdìthsh MBaLt gia thn ulopoðhsh seiriak n kai par llhlwn ekdoq n tou metroprogr mmatoc fiparagontopoðhsh Choleskyfl, oi opoðec qrhsimopoioôntai gia thn melèth thc epðdoshc twn metasqhmatism n. 0.3 Org nwsh-antikeðmeno thc ergasðac Sto pr to kef laio parousi zetai h arqitektonik tou sust matoc mn mhc. QrhsimopoioÔme ton ìro arqitektonik, diìti ektìc apì thn parousðash thc dom c kai thc org nwshc thc ierarqðac mn mhc, parousi zoumekai orismènec basikèc beltistopoi seic pou efarmìzontai tìso apì thn pleur tou ulikoô, ìso kai apì thn pleur tou logismikoô. Sth sunèqeia, sto deôtero kef laio anaptôssetai to aparaðthto jewrhtikì kai majhmatikì upìbajro pou afor touc metasqhmatismoôc brìqwn. Oi fwliasmènoi brìqoi apoteloôn ta pio qronobìra tm mata se èna prìgramma kai h beltistopoðhsh touc ephre zei kajoristik to sunolikì qrìno ektèleshc. Ed, parousi zetai kai o metasqhmatismìc tiling o opoðoc apoteleð èna apì touc pio shmantikoôc metasqhmatismoôc brìqwn gia aôxhsh thc topikìthtac twn dedomènwn. Sto trðto kef laio parousi zetai to genikì pedðo gôrw apì touc metasqhmatismoôc dedomènwn oi opoðoi prosanatolðzontai sthn tropopoðhsh twn diat xewn me tic opoðec apojhkeôontai ta dedomèna sth mn mh. To kef laio autì esti zetai stic diat xeic enot twn kai parousi zetai mia apodotik mèjodoc [2] gia th deiktodìthsh twn stoiqeðwn se tètoiec diat xeic. Sto tètarto kef laio ulopoioôntai di forec ekdoqèc tou metroprogr mmatoc fiparagontopoðhsh Choleskyfl qrhsimopoi ntac metaxô llwn to me tasqhmatismì tiling, grammikèc diat xeic kai diat xeic e not twn. Parousi zontai pragmatikèc metr seic pou l fjhkan apì thn ektèlesh tou metroprogr mmatoc se dôo diaforetik upologistik sust mata, kaj c kai apotelèsmata prosomoi sewn, ta opoða ìla mazð uposthrðzoun thn apodotikìthta thc mejìdou deiktodìthshc pou parousi zetai sto trðto kef laio. AkoloÔjwc, sto pèmpto kef laio gðnetai mia sôntomh anafor gôrw apì tic polunhmatikèc arqitektonikèc me èmfash sthn arqitektonik tautìqronhc polunhm twshc SMT, gia thn opoða parousi zetai mia emporik ulopoðhsh thc, h teqnologða Hyper-Threading thc Intel. Tèloc, sto èkto kef laio ulopoieðtai mia par llhlh polunhmatwmènh ekdoq tou metroprogr mmatoc fiparagontopoðhsh Choleskyfl meqr sh tiling kai diat xewn enot twn, gia thn melèth thc epðdoshc twn diat xewn kai se arqitektonikèc tôpou SMT. Ta apotelèsmata ta opoða parousi zontai, prokôptoun apì thn ektèlesh tou metroprogr mmatoc se upologistikì sôsthma meteqnologða Hyper-Threading.

16 EISAGWGH

Kef laio 1 Arqitektonik Sust matoc Mn mhc 1.1 Basikèc 'Ennoiec Kruf c Mn mhc H kruf mn mh 1 apoteleð to èna apì dôo basik epðpeda thc ierarqðac mn mhc. To llo eðnai h eikonik mn mh h opoða ja suzhthjeð sthn enìthta 1.3 H kruf mn mh ìpwc anafèrjhkesthn Eisagwg eðnai to epðpedo thc ierarqðac mn mhc pou brðsketai pio kont ston epexergast kai sun jwc sta sôgqrona upologistik sust mata apoteleðtai apì dôo kai trða epðpeda kruf c mn mhc ta opoða onom zontai L1, L2 kai L3. To pr to epðpedo eðnai p nta enswmatwmèno sthn mon da epexergasðac, to opoðo sumbaðnei sun jwc kai me to deôtero epðpedo stic sôgqronec KME. 'Opwc èqei dh anaferjeð h ierarqða mn mhc kai eidikìtera h kruf mn mh sthrðzei thn Ôparxh thc sthn arq thc topikìthtac thc anafor c (principle of locality of reference) h opoða qarakthrðzei ton trìpo pou leitourgoôn ta progr mmata. H arq thc topikìthtac dhl nei ìti se èna prìgramma oi anaforèc stic dieujônseic mn mhc den eðnai teleðwc tuqaðec, all antðjeta te Ðnoun na eðnai topik c periorismènec gia orismèno qronikì di sthma. DiakrÐnontai de, dôo eðdh topikìthtac: Qronik Topikìthta (temporal locality) : 'Ena dedomèno pou èqei qrhsimopoihjeð teðnei na epanaqrhsimopoihjeð sôntoma. Qwrik Topikìthta (spatial locality) : Dedomèna pou oi dieujônseic mn mhc touc eðnai kont seèna dedomèno pou èqei qrhsimopoihjeð, teðnoun na qrhsimopoihjoôn sôntoma. Gia par deigma ta ge itonik dedomèna enìc pðnaka. 'Otan o epexergast c k nei mia anafor sthn mn mh, exet zetai arqik e n h zhtoômenh lèxh (word) perièqetai sthn kruf mn mh. E n pr gmati h lèxh brðsketai sthn kruf mn mh, epituqða kruf c mn mhc (cache hit), tìtegðnetai amèswc prospèlash seaut. E n, ìmwc den brejeð h lèxh sthn kruf mn mh, astoqða kruf c mn mhc (cache miss), tìtediab zetai apì thn kôria mn mh kai tautoqrìnwc metafèretai apì thn kôria mn mh sthn kruf mn mh mia enìthta (block) lèxewn ìpwc faðnetai sto sq ma 1.1, pou perilamb nei kai th lèxh gia 1 To par n kef laio sthrðzetai sta [7][8] 17

18 KEF ALAIO 1. ARQITEKTONIK H SUST HMATOS MN HMHS Sq ma 1.1: mn mhc Metafor dedomènwn se enìthtec metaxô twn epipèdwn thc ierarqðac thn opoða xekðnhse h paroôsa prospèlash. H lèxh gia thn opoða xekðnhse h prospèlash metafèretai sthn kruf mn mh gia thn ikanopoðhsh tuqìn mellontik n anafor n sthn Ðdia lèxh, lamb nontac me autì ton trìpo upìyin thn idiìthta thc qronik c topikìthtac thc anafor c. Oi epiplèon lèxeic thc enìthtac metafèrontai sth gr gorh mn mh gia na ikanopoihjoôn tuqìn me llontikèc anaforèc mn mhc, lamb nontac ètsi upìyin thn idiìthta thc qwrik c topikìthtac thc anafor c. O qrìnoc gia thn epðlush miac astoqðac kruf c mn mhc exart tai tìso apì thn kajustèrhsh apìkrishc (latency) thc kôriac mn mhc, ìso kai apì to eôroc z nhc (bandwidth) aut c. H kajustèrhsh apìkrishc kajorðzei ton qrìno gia thn apìkthsh thc pr thc lèxhc miac enìthtac lèxewn. To de eôroc z nhc kajorðzei ton qrìno gia thn metafor twn upìloipwn lèxewn thc enìthtac. 1.1.1 Org nwsh Kruf c Mn mhc 'Opwc faðnetai kai sto sq ma 1.2 oi periorismoð gia to pou ja topojethjeð mia enìthta dhmiourgoôn treic basikèc kathgorðec org nwshc kruf n mnhm n: EujeÐac antistoðqhshc (direct mapped) : K jeenìthta mpore Ð na topojethjeð mìno semia sugkekrimènh jèsh mèsa sthn kruf mn mh. H antistoðqhsh eðnai sun jwc: (jèsh sthn kruf mn mh) = (dieôjunsh enìthtac) MOD (pl joc enot twn sthn kruf mn mh) Pl rwc susqetistik (fully associative) : K je enìthta mporeð na topojethjeð se opoiad potejèsh mèsa sthn kruf mn mh. Susqètishc sunìlou (set associative) : K jeenìthta mpore Ð na topojethjeð mìno se èna sônolo jèsewn thc kruf c mn mhc. 'Ena sônolo eðnai mia om da enot twn. Mia enìthta arqik antistoiqðzetai se èna sônolo kai akoloôjwc mporeð na topojethjeð opoud potemèsa sto sônolo. H antistoðqhsh eðnai sun jwc: (ar. sunìlou) = (dieôjunsh enìthtac) MOD (pl joc sunìlwn sthn kruf mn mh)

1.1. BASIK ES ENNOIES KRUF HS MN HMHS 19 Sq ma 1.2: Par deigma org nwshc kruf c mn mhc E n up rqoun n enìthtec se èna sônolo, tìte h kruf mn mh onom zetai susqètishc sunìlou n drìmwn (n-way set associative). Thn kruf mn mh eujeðac antistoðqhshc mporeð na thn dei kaneðc wc mia kruf mn mh susqètishc sunìlou enìc drìmou, en mia kruf mn mh pl rwc susqetistik m enot twn wc mia kruf mn mh susqètishc sunìlou m drìmwn. Ta parap nw efarmìzontai sto par deigma tou sq matoc 1.2 ìpou parousi zontai oi treic dunatèc organ seic kruf c mn mhc. K jekruf mn mh èqei qwrhtikìthta 8 e not twn, en h kôria mn mh 32 enot twn. Sthn perðptwsh thc pl rwc susqetistik c krôf c mn mhc, h enìthta 12 ìpwc faðnetai kai sto sq ma mporeð na topojethjeð se opoiad pote jèsh. AntÐjeta stic llec dôo organ seic up rqei periorismìc sth jèsh. Sugkekrimèna gia thn kruf mn mh eujeðac antistoðqhshc h enìthta 12 mpore Ð na topojethjeð mìno sth jèsh 4 (12 mod 8), en sthn perðptwsh thc kruf c mn mhc susqètishc sunìlou dôo drìmwn up rqei mia lðgo megalôterh eleujerða ki ètsi h enìthta 12 mpore Ð na topojethjeð opoud potemèsa sto sônolo 0 (12 mod 4). 1.1.2 EÔresh Enìthtac mèsa sthn Kruf Mn mh Sto sq ma 1.3 faðnetai pwc gðnetai o diaqwrismìc miac dieôjunshc mn mhc sta trða pedða: etikèta, deðkthc kai arijmìc lèxhc. Oi krufèc mn mec gia na mporoôn na entopðzoun thn zhtoômenh enìthta apojhkeôoun mia etikèta (tag) gia k jeenìthta pou perièqoun mazð me èna mpit egkurìthtac (valid bit) to opoðo deðqnei an ta dedomèna pou up rqoun gi' aut th jèsh mn mhc einai ègkura. O e ntopismìc thc zhtoômenhc enìthtac gðnetai wc ex c:

20 KEF ALAIO 1. ARQITEKTONIK H SUST HMATOS MN HMHS Sq ma 1.3: Ta trða pedða miac dieôjunshc mn mhc 1. Arqik, to pe dðo deðkthc (index) thc dieôjunshc mn mhc qrhsimopoieðtai gia ton e ntopismì tou sunìlou sto opoðo an kei h zhtoômenh enìthta. 2. AkoloÔjwc, gia k je ègkurh enìthta pou brðsketai mèsa sto sônolo elègqetai an h etikèta sumpðptei me to antðstoiqo tm ma thc dieôjunshc mn mhc pou dðnetai proc epðlush apì thn KME. E n brejeð mia tètoia enìthta, tìteautì shmaðnei ìti h lèxh me th dojeðsa dieôjunsh mn mhc up rqei mèsa sthn kruf mn mh. O èlegqoc autìc kat kanìna prèpei na gðnetai par llhla gia lìgouc taqôthtac. 3. Tèloc, qrhsimopoieðtai o arijmìc lèxhc (block offset) gia na epileqjeð h epijumht lèxh mèsa apì thn enìthta. 1.1.3 Antikat stash Enìthtac sthn perðptwsh astoqðac Kruf c Mn mhc Sthn perðptwsh astoqðac kruf c mn mhc, o elegkt c thc kruf c mn mhc prèpei na apofasðsei poia enìthta ja antikatastajeð. 'Ena pleonèkthma thc kruf c mn mhc me eujeða antistoðqhsh eðnai h aplìthta thc l yhc miac tètoiac apìfashc. Apì th stigm pou mìno mia enìthta elègqetai, autì shmaðnei ìti mìno aut h enìthta mporeð na antikatastajeð. AntÐjeta, metouc llouc dôo tôpouc org nwshc up rqoun perissìterec apì mia enìthtec proc antikat stash kai autì periplèkei th l yh apìfashc. S' autèc tic peript seic up rqoun treic dhmofileðc strathgikèc gia thn epilog thc enìthtac pou ja antikatastajeð: TuqaÐa epilog (random) : Oi upoy fiec enìthtec epilègontai tuqaða qrhsimopoi ntac k poia genn tria yeudotuqaðwn arijm n. H pio prìsfata qrhsimopoioômenh (LRU-least recently used) : EpÐlegetai h enìthta sthn opoða den ègine anafor gia to megalôtero qronikì di sthma. H strathgik aut sthrðzetai èmmesa sthn arq thc topikìthtac thc anafor c: afoô oi enìthtec pou qrhsimopoi jhkan prìsfata èqoun meg lh pijanìthta na epanaqrhsimopoihjoôn, tìteènac kalìc upoy fioc gia antikat stash eðnai h enìthta pou èqei ton pe rissìtero qrìno na qrhsimopoihjeð. Me b sh to qrìno paramon c (FIFO) : Epilègetai h enìthta metonperissìtero qrìno paramon c sthn kruf mn mh. Apì tic parap nw strathgikèc h pio apl sthn ulopoðhsh thc eðnai h strathgik thc tuqaðac epilog c h opoða kai qrhsimopoieðtai suqn. H strathgik thc pio prìsfata qrhsimopoioômenhc qrei zetai thn fôlaxh arket c plhroforðac gi' autì kai to kìstoc ulopoðhshc thc eðnai arket uyhlì gia krufèc mn mec me meg lo pl joc enot twn. 'Etsi sthn pr xh ulopoieðtai sun jwc k poia prosèggish thc strathgik c aut c.

1.1. BASIK ES ENNOIES KRUF HS MN HMHS 21 1.1.4 MhqanismoÐ Eggraf c Enìthtac Up rqoun dôo basikoð mhqanismoð gia thn eggraf miac enìthtac sthn kruf mn mh sthn perðptwsh epituqðac eggraf c (write hit): Epaneggraf (write-back) : H plhroforða eggr fetai mìno sthn enìthta thc kruf c mn mhc, en h kôria mn mh enhmer netai mìno kat thn apom krunsh thc enìthtac apì thn kruf mn mh. Di-eggraf (write-through) : H plhroforða eggr fetai tìso sthn enìthta thc kruf c mn mhc, ìso kai thc kôriac mn mhc. Gia na elattwjeð peraitèrw h suqnìthta eggraf n sthn kôria mn mh sthn perðptwsh thc epaneggraf c, qrhsimopoieðtai to mpit tropopoðhshc (dirty bit). Autì to mpit kat stashc dhl nei kat pìso mia enìthta eðnai tropopoihmènh mh. E n eðnai mh tropopoihmènh tìteden qrei zetai h epaneggraf thc enìthtac sthn perðptwsh apom krunsh thc, afoô ta dedomèna pou perièqei h kôria mn mh kai h kruf mn mh gia th sugkekrimènh enìthta eðnai tautìshma. Tìso h mèjodoc thc epaneggraf c, ìso kai h mèjodoc thc di-eggraf c èqoun ta pleonekt mata touc. Ta pleonekt mata thc epaneggraf c eðnai ìti oi eggrafèc pragmatopoioôntai methn taqôthta thc kruf c mn mhc. EpÐshc pollèc eggrafèc sthn Ðdia enìthta an gontai mìno se mia enhmèrwsh thc kôriac mn mhc, qrhsimopoi ntac me autì ton trìpo sunolik ligìtero eôroc z nhc kôriac mn mhc. H mèjodoc thc di-eggraf c eðnai eukolìterh sthn ulopoðhsh thc. EpÐshc me thn dieggraf eggu te ìti to amèswc kat tero epðpedo thc ierarqðac èqei p nta topioprìsfato antðgrafo, k ti to opoðo aplopoieð thn sun feia dedomènwn. Bèbaia me thn di-eggraf up rqei auxhmènh metakðnhsh dedomènwn proc thn kôria mn mh, sunep gontac qrhsimopoðhsh megalôterou eôrou z nhc. Sthn perðptwsh astoqðac eggraf c (write miss) up rqoun dôo dunatèc epilogèc: Eggraf me paraq rhsh (write allocate) : ParaqwreÐtai q roc apì thn kruf mn mh, h enìthta epomènwc fort netai apì thn kôria mn mh sthn kruf kai sth sunèqeia akoloujoôntai oi enèrgeiec gia epituqða eggraf c pou anafèrontai parap nw. Eggraf qwrðc paraq rhsh (No-write allocate) : Den paraqwreðtai k poioc q roc apì thn kruf mn mh kai epomènwc oi metatropèc dedomènwn gðnontai apeujeðac sthn kôria mn mh. Sun jwc h epaneggraf sundu zetai me eggraf me paraq rhsh kai h di-eggraf me eggraf qwrðc paraq rhsh. Oi Treic KathgorÐec astoqi n Kruf c Mn mhc Oi astoqðec kruf c mn mhc mporoôn na diaqwrisjoôn setreic kathgorðec: AstoqÐec Upoqrewtikèc (Compulsory misses): EÐnai oi astoqðec kruf c mn mhc pou prokaloôntai apì thn pr th prìsbash se mia enìthta pou den topojet jhke potè sthn kruf mn mh.

22 KEF ALAIO 1. ARQITEKTONIK H SUST HMATOS MN HMHS AstoqÐec Qwrhtikìthtac (Capacity misses): EÐnai oi astoqðec kruf c mn mhc pou prokaloôntai ìtan h kruf mn mh den mporeð na perièqei ìlec tic e nìthtec pou qrei - zontai kat thn ektèlesh enìc progr mmatoc. AstoqÐec SÔgkroushc (Conflict misses): EÐnai oi astoqðec kruf c mn mhc pou emfanðzontai stic krufèc mn mec susqètishc sunìlou eujeðac antistoðqhshc ìtan pollaplèc enìthtec antagwnðzontai gia to Ðdio sônolo. Enallaktik, oi astoqðec sôgkroushc eðnai oi astoqðec miac kruf c mn mhc susqètishc sunìlou eujeðac antistoðqhshc kruf c mn mhc pou exaleðfontai me th qr sh miac pl rouc susqetistik c kruf c mn mhc. Oi astoqðec sôgkroushc peraitèrw qwrðzontai se dôo kathgorðec: stic sugkroôseic metaxô diaforetik n metablht n. (cross-interference) kai stic sugkroôseic metaxô stoiqeðwn tou Ðdiou pðnaka (self-interference). 1.2 BeltistopoÐhsh EpÐdoshc Kruf c Mn mhc Gia thn beltistopoðhsh thc epðdoshc thc kruf c mn mhc oi ereunhtèc epikentr jhkan sthn meðwsh twn triwn sunistws n pou ephre zoun ton mèso qrìno prìsbashc twn dedomènwn sth mn mh: thn qronik epib runsh apì mia astoqða krôfhc mn mhc lìgw metafor c dedomènwn apì to qamhlìtero epðpedo thc ierarqðac mn mhc, to rujmì astoqi n kruf c mn mhc kai to qrìno prospèlashc kruf c mn mhc. To prìblhma proseggðzetai tìso apì thn pleur tou ulikoô, ìso kai apì thn pleur tou logismikoô mèsw twn metaglwttist n. 1.2.1 Strathgikèc UlikoÔ Mia mèjodoc gia thn meðwsh thc qronik c epib runshc apì mia astoqða mn mhc eðnai mèsw thc apomìnwshc twn anafor n proc th mn mh. H qr sh apomonwt eggraf c (write buffer) efarmìzetai gia thn apomìnwsh twn anafor n eggraf c. Qrhsimopoi ntac apomonwtèc eggraf c, o epexergast c den qrei zetai na perimènei thn sumpl rwsh thc eggraf c. AntÐjeta, apl c ekteleð thn eggraf stèlnontac thn ston apomonwt, to opoðo gðnetai mèsa s' èna kôklo mhqan c. To pleonèkthma pou prokôptei apì th qr sh enìc apomonwt eggraf c den eðnai mìno ìti o epexergast c den mplok retai kat thn ektèlesh thc eggraf c, all kai to ìti mei netai h sumfìrhsh ston di dromo tou sust matoc kajuster ntac thn eggraf mèqri na brejeð ènac kenìc kôkloc diadrìmou. Stouc sôgqronouc upologistèc tôpou agwgoô pou uposthrðzoun ektèlesh entol n ektìc seir c (out-of-order) sepolunhmatikèc (multithreading) arqitektonikèc ìpou gðnetai metagwg (switching) metaxô nhm twn, o epexergast c den qrei zetai na mplok retai anamènontac thn epðlush miac astoqðac kruf c mn mhc, all mporeð na suneqðsei me thn ektèlesh llwn anex rthtwn entol n mèqri thn olokl rwsh thc epðlushc. Setètoia mhqan mata eðnai aparaðthth h qr sh kruf c mn mhc qwrðc -mplok risma (non-blocking cache). Mia tètoia kruf mn mh mporeð na exuphret sei mia nèa anafor mn mhc, en tautìqrona epexerg zetai thn prohgoômenh astoqða, krôbontac ètsi to qrìno pou qrei zetai h epðlush thc astoqðac. Oi sôgqronec krufèc mn mec autoô tou tôpou epitrèpoun de, thn ekkremìthta arket n astoqi n. Gia thn meðwsh tou rujmoô astoqi n exairetik wfèlimec eðnai bèbaia oi krufèc mn mec me meg lo mègejoc me yhlì bajmì susqètishc. 'Enac praktikìc kanìnac lèei ìti oi krufèc

1.2. BELTISTOPO IHSH EP IDOSHS KRUF HS MN HMHS 23 mn mec eujeðac antistoðqhshc megèjouc N èqoun ton Ðdio rujmì astoqi n me tic krufèc mn mec susqètishc sunìlou dôo drìmwn megèjouc N/2. DÔo teqnikèc me tic opoðec epitugq netai tìso h meðwsh thc qronik c epib runshc lìgw astoqðac, ìso kai h meðwsh tou rujmoô astoqi n eðnai to hardware prefetching kai h qr sh kruf c mn mhc jum twn. H teqnik tou hardware prefetching, sthrðzetai ki aut sth kruf mn mh qwrðc - mplok risma. Sthn teqnik aut gðnontai anaforèc se dedomèna prin auta qreiastoôn apì ton epexergast, ètsi ste mèqri o epexergast c ta qreiasteð, na èqoun dh epilujeð oi opoiesd pote astoqðec kruf c mn mhc pou proèkuyan apì tic anaforèc autèc. Bèbaia gia thn kal apìdosh aut c thc teqnik c, prèpei na gðnei nwrðc h swst prìbleyh twn dedomènwn pou ja qreiasteð o epexergast c to opoðoeðnai arket polôploko na gðnei me meg lh akrðbeia apì to ulikì. Gi' autì kai to prefetching twn entol n mporeð na kajodhgeðtai apì ton metaglwttist (compiler prefetching), oopoðoc èqei th dunatìthta thc an lushc tou progr mmatoc kai akoloôjwc na prosjèsei se kat llhla shmeða entolèc gia to prefetching dedomènwn ta opoða ja qreiastoôn pijanèc mellontikèc anaforèc. Sthn strathgik qr shc kruf c mn mhc jum twn (victim cache) qrhsimopoieðtai mia epiplèon mikr pl rwc susqetistik kruf mn mh h opoða brðsketai metaxô thc kruf c mn mhc kai tou epìmenou kat terou epipèdou thc ierarqðac mn mhc. Aut h epiplèon kruf mn mh perièqei mìno tic enìthtec jômata oi opoðec apomakrônjhkan apì thn kruf mn mh lìgw astoqðac. H kruf mn mh jum twn elègqetai sthn perðptwsh astoqðac e n perièqei ta apaitoômena dedomèna, prin aut anazhthjoôn sto epìmeno epðpedo, ki an ìntoc brejoôn mèsa seaut, tìteta dedomèna twn dôo kruf n mnhm n antall sontai. H meðwsh tou qrìnou prospèlashc kruf c mn mhc epitugq netai me th qr sh mikr n ki apl n kruf n mnhm n. Stic krufèc mn mec xodeôetai arketìc qrìnoc gia thn eôresh thc upoy fiac enìthtac mèsw tou deðkth, ki akoloôjwc gia th sôgkrish twn etiket n. Epomènwc semia kruf mn mh memikrì mègejoc, o qrìnoc eôreshc thc upoy fiac enìthtac eðnai kai pio mikrìc. EpÐshc h apl sqedðash thc kruf c mn mhc pleonekteð, afoô gia thn èreush thc enìthtac stic krufèc mn mec susqètishc sunìlou qrei zetai pio polôploko ulikì, pou sunep getai perissìtero qrìno. Epiprìsjeta, oi krufèc mn mec eujeðac antistoðqhshc pleonektoôn kai lìgw tou ìti eðnai dunat h epik lhyh thc sôgkrishc thc etikètac me thn tautìqronh apostol twn dedomènwn proc ton epexergast. E n h sôgkrish prokôyei lanjasmènh, tìte o epexergast c apl c aporrðptei ta dedomèna aut. Tèloc h mikr ki apl kruf mn mh topojet tai sthn Ðdia yhfðda me thn KME, mikraðnontac me autì ton trìpo to qrìno metafor c dedomènwn metaxô epexergast kai kruf c mn mhc. O qrìnoc met frashc twn eikonik n dieujônsewn stic fusikèc prokeimènou na klhjoôn ta dedomèna apì th mn mh mporeð na apofeuqjeð, an h kruf mn mh pou qrhsimopoieðtai eðnai eikonik. Apì th stigm pou oi epituqðec mn mhc eðnai pio suqnèc apì tic astoqðec, eðnai protimìtero h dieujunsiodìthsh thc kruf c mn mhc na eðnai eikonik, opìte ja apaiteðtai antistoðqhsh me tic fusikèc dieujônseic mìno sthn perðptwsh pou prèpei na gðnei epðlush thc astoqðac me an trexh sthn kôria mn mh. K je for ìmwc pou xekin ei h ektèlesh enìc progr mmatoc apaiteðtai h fìrtwsh thc kruf c mn mhc, to opoðo bèbaia epibarônei ton sunolikì qrìno ektèleshc. 1.2.2 Strathgikèc Metaglwttist H apodotikìthta ìlwn twn prohgoômenwn mhqanism n exart tai apì thn ikanìthta twn metaglwttist n na metasqhmatðzoun thn dom twn programm twn (k dika kai dedomèna)

24 KEF ALAIO 1. ARQITEKTONIK H SUST HMATOS MN HMHS proc ektèlesh, ètsi ste na axiopoioôntai pl rwc oi dunatìthtec kai ta pleonekt mata pou parèqoun oi mhqanismoð autoð, epitugq nontac me autì uyhl epðdosh. O metaglwttist c kaleðtai na brei th mègisth parallhlða sto epðpedo entol c (ILP - instruction level parallelism) gia na trofodoteð touc pìrouc thc mhqan c, ki epðshc na metasqhmatðsei kat llhla to progr mma ètsi stena epitôqei to mègisto dunatì bajmì topikìthtac axiopoi ntac thn ierarqða mn mhc. Kat thn beltistopoðhsh enìc progr mmatoc, to megalôtero kèrdoc prokôptei apì th beltistopoðhsh twn tmhm twn tou progr mmatoc pou qrei zontai to megalôtero qrìno gia na diekperaiwjoôn. Oi epanalhptikoð brìqoi, oi opoðoi perièqoun metablhtèc poludi statwn pin kwn, eðnai tètoia tm mata pou prosfèrontai gia beltistopoðhsh kai oi opoðoi gi' autì to lìgo tugq noun meg lhc prosoq c apì thn ereunhtik koinìthta. Oi metasqhmatismoð pou mporeð na efarmìsei o metaglwttist c gia thn beltðstopoðhsh enìc progr mmatoc qwrðzontai sedôo kathgorðec: MetasqhmatismoÐ Brìqwn (loop transformations) : EÐnai mia morf metasqhmatism n k dika oi opoðoi skopì èqoun thn el ttwsh tou pl jouc entol n proc ektèlesh /kai thn allag thc seir c ektèleshc aut n. MetasqhmatismoÐ Dedomènwn (data transformations) : Skopì èqoun thn anadiorg - nwsh thc di taxhc twn dedomènwn me thn opoða aut apojhkeôontai sthn mn mh. EÐnai apotelesmatikoð gia thn el ttwsh twn astoqi n kruf c mn mhc lìgw sôgkroushc, cross-interference kai self-interference. Sun jwc sundu zontai metouc metasqhmatismoôc brìqouc gia na d soun thn bèltisth dunat epðdosh. Oi metasqhmatismoð brìqwn, oi opoðoi mporoôn kai na sunduastoôn[14] me taxô touc gia perissìterh beltistopoðhsh, mporoôn na qwristoôn sedôo kathgorðec: SeautoÔc pou skopì èqoun thn beltðwsh thc parallhlðac sto epðpedo entol c: xedðplwma eswterikìterou brìqou (inner unrolling), software pipelining. Se autoôc pou skopì èqoun thn beltðwsh thc topikìthtac twn dedomènwn: met jesh brìqwn (loop permutation), di spash brìqou (loop fission), sugq neush brìqwn (loop fussion), scalar replacement (all sto epðpedo twn kataqwrht n), plakìstrwsh (tiling). O pio dhmofil c metasqhmatismìc eðnai o metasqhmatismìc tiling, o opoðoc èqei k poiec endiafèrouc idiìthtec: Belti nei thn parallhlða sto epðpedo entol c, ìtan efarmosjeð sto epðpedo kataqwrht n. EkmetalleÔetai thn epanaqrhsimopoðhsh dedomènwn se di forec diast seictou q rou epanal yewn (iteration space). Belti nei tautìqrona thn topikìthta twn dedomènwn se di fora epðpeda thc ierarqðac mn mhc. Oi parap nw metasqhmatismoð brìqwn parousi zontai me megalôterh leptomèreia sto kef laio 2,ìpou epðshc parousi zetai h majhmatik jewrða gôrw apì touc fwliasmènouc brìqouc (nested loops) kai touc metasqhmatismoôc brìqwn. H prosoq mac ìmwc esti zetai sthn eniaða efarmog kai melèth twn metasqhmatism n dedomènwn me touc metasqhmatismoôc brìqwn kai xekin ei apì to kef laio 3.

1.3. ORG ANWSH EIKONIK HS MN HMHS 25 Sq ma 1.4: Par deigma miac tupik c org nwshc Eikonik c Mn mhc 1.3 Org nwsh Eikonik c Mn mhc 'Opwc h kruf mn mh leitourgeð wc ènac endi mesoc gr goroc apojhkeutikìc q roc metaxô epexergast kai kôriac mn mhc, ètsi kai h kôria mn mh mporeð na leitourg sei wc ènac endi mesoc q roc metaxô kruf c mn mhc kai magnhtikoô dðskou. Aut h teqnik onom zetai eikonik mn mh (virtual memory) kai èqei dôo shmantik pleonekt mata: epitrèpei thn koin qr sh thc mn mhc apì di fora progr mmata meapodotikì kai asfal trìpo, kai apall sei ton programmatist apì to b roc thc mikr c kai periorismènhc kôriac mn mhc. Methn eikonik mn mh k jeprìgramma èqei to dikì tou eikonikì pedðo dieujônsewn (virtual address space), dhlad èna xeqwristì q ro eikonik n jèsewn mn mhc prosb simo mìno apì autì to prìgramma. Oi de jèseic autèc antistoiqðzontai apì ton mhqanismì eikonik c mn mhc sepragmatikèc fusikèc jèseic mn mhc. 'Eqontac loipìn autìnomapedðadieujônsewn, epitugq netai h apomìnwsh tou k jeprogr mmatoc, afoô k jeprìgramma gnwrðzei ki èqei prìsbash mìno sto dikì tou q ro dieujônsewn. EpÐshc o eikonikìc q roc dieujônsewn den periorðzetai apì to mikrì mègejoc thc fusik c kôriac mn mhc, parèqontac meautì ton trìpo sek jeprìgramma èna polô meg lo q ro dieujônsewn. O q roc twn eikonik n dieujônsewn mn mhc qwrðzetai se èna arijmì apì Ðsa kai suneqìmena mèrh, ta opoða anafèrontai wc selðdec (pages). Sta sust mata pou diajètoun eikonik mn mh h KME par gei dieujônseic eikonik c mn mhc oi opoðec metafr zontai me b sh èna pðnaka selðdwn sthn antðstoiqh fusik dieôjunsh h opoða qrhsimopoieðtai gia thn prìsbash sthn kôria mn mh. 'Opwc faðnetai kai sto sq ma 1.4, h e ikonik dieôjunsh qwrðzetai sedôo tm mata: ton arijmìc eikonik c selðdac (virtual page number) kai ton arijmì lèxhc (page offset). Oarij-

26 KEF ALAIO 1. ARQITEKTONIK H SUST HMATOS MN HMHS mìc eikonik c selðdac metafr zetai meb sh twn pðnaka selðdwn ston arijmì thc antðstoiqhc fusik c selðdac kai apoteleð to nw mèroc thc fusik c dieôjunshc. O de arijmìc lèxhc (page offset) apoteleð to k tw mèroc thc fusik c dieôjunshc kai entopðzei thn zhtoômenh lèxh mèsa sth fusik selðda. Epeid o pðnakac selðdwn brðsketai apojhkeumènoc sthn kôria mn mh, autì sunep getai ìti kaje for pou ja prèpei na metafrasteð mia eikonik dieôjunsh mn mhc ja prèpei na gðnei prìsbash thc kôriac mn mhc dôo forèc: mða for gia thn eôresh thc antistoðqhshc kai mða gia thn eôresh thc lèxhc. Gia thn apofug thc pr thc prìsbashc kai th meðwsh epomènwc tou qrìnou met frashc qrhsimopoieðtai mia kruf mn mh h opoða onom zetai proswrinìc kataqwrht c met frashc (TLB - translation look-aside buffer), kai perièqei orismènec kataqwr seic tou pðnaka selðdwn. Kai p li b sh thc arq c thc topikìthtac thc anafor c, apojhkeôontai oi pio prosfatec antistoiq seic selðdwn. 'Etsi, ìtan o epexergast c zht sei mia dieôjunsh eikonik c mn mhc elègqetai pr ta o TLB ki an brejeð mia ègkurh kataq rhsh (epituqða TLB) thc opoðac h etikèta sumpðptei me ton arijmì thc eikonik c selðdac, tìteqrhsimopoieðtai o arijmìc fusik c selðdac pou dðnei o TLB. AntÐjeta, an den brejeð k poia kataq rhsh (astoqða TLB) tìteh met frash gðnetai mèsw tou pðnaka selðdwn. 'Otan o rujmìc astoqi n enìc epipèdou thc ierarqðac mn mhc eðnai arket uyhlìc tìte lème ìti up rqei uperqeðlhsh (thrash) tou epipèdou autoô. Sthn perðptwsh thc eikonik c mn mhc to prìblhma thc uperqeðlhshc eðnai oxôtero apfl ìti sfl lla epðpeda, kurðwc lìgw tou uyhloô kìstouc to opoðo qarakthrðzei th metafor miac selðdac apì to dðsko sthn kôria mn mh. EpÐshc, h uperqeðlhsh TLB (TLB thrashing) eðnai ki aut arket dapanhr, lìgw tou ìti katanal netai arketì eôroc z nhc kai eis gwntai meg lec qronikèc kajuster seic gia thn met frash twn eikonik n dieujônsewn se fusikèc.

Kef laio 2 MetasqhmatismoÐ Brìqwn 2.1 Basikèc 'Ennoiec 2.1.1 Fwliasmènoi Brìqoi 'Ena sôsthma tèleia fwliasmènwn brìqwn (perfectly nested loops) morf : for (i1=lb1; i1<=ub1 ; i1++) for (i1=lb1; i1<=ub1 ; i1++)......... for (in=lbn; in<=ubn ; in++) { } / loop body / èqei thn akìloujh, dhlad ìlec oi entolèc pou ekteloôntai brðskontai ston eswterikìtero brìqo. Ta ìria twn brìqwn èqoun thn akìloujh morf : lb r = max(l r,0,l r,1,l r,2,...) ub r = max(u r,0,u r,1,u r,2,...) kai ta l r,j kai u r,j eðnai grammikèc sunart seic thc akìloujhc morf c: r 1 l r,j = a k r,j i k + Y r,j u r,j = b k r,j i k + F r,j k=1 ìpou a k r,j,bk r,j Z (1 k r 1), Y r,j kai F r,j eðnai stajerèc kai i k (1 k r 1) eðnai oi metablhtèc elègqou twn brìqwn. Pollèc forèc oi brìqoi se èna prìgramma endèqetai na mhn eðnai teleðwc fwliasmènoi, ìpwc sumbaðnei gia par deigma sthn aposônjesh LU kai thn paragontopoðhsh Cholesky. Tètoioi ìmwc brìqoi mporoôn na anaqjoôn seteleðwc fwliasmènouc brìqouc qrhsimopoi ntac ton metasqhmatismì bôjishc k dika[8] (code sinking). O metasqhmatismìc autìc metatopðzei ìlec tic entolèc pou brðskontai metaxô twn brìqwn proc ton eswterikìtero brìqo prosjètontac ènan perissìterouc elègqouc sunjhk n. Prèpei ìmwc na proseqjeð ìti h efarmog enìc tètoiou metasqhmatismoô eðnai ègkurh an kai mìno an oi brìqoi den ekteloôn kenèc epanal yeic. O me tasqhmatismìc autìc parousi zetai sto sq ma 2.1. r 1 k=1 27

28 KEF ALAIO 2. METASQHMATISMO I BR OQWN for (i1=lb1; i1<=ub1 ; i1++) { / statements 1 / for (i1=lb1; i1<=ub1 ; i1++) { / statements 2 /......... for (in=lbn; in<=ubn ; in++) { / statements n / } / statements 2 / } / statements 1 / } arqik morf for (i1=lb1; i1<=ub1 ; i1++) { for (i1=lb1; i1<=ub1 ; i1++) {......... for (in=lbn; in<=ubn ; in++) { } } } if ( in==lbn &&... && i2==lb2) / statements 1 / if (in==lbn &&... ) / statements 2 / / statements n / if (in==lbn &&... ) / statements 2 / if ( in==lbn &&... && i2==lb2) / statements 1 / telik morf Sq ma 2.1: Metatrop enìc mh tèleiou fwliasmènou brìqou se tèleio fwliasmèno brìqo H prosj kh twn sunjhk n elègqou aux nei bèbaia ton qrìno ektèleshc, epeid se k je epan lhyh ja prèpei oi sunj kec autèc na apotimoôntai. Gia thn apofug loipìn aut c thc epib runshc, ja prèpei na gðnetai aplopoðhsh kai apaloif twn peritt n sunjhk n. 2.1.2 Q roc Epanal yewn Orismìc 2.1 K je epan lhyh tou sust matoc autoô twn fwliasmènwn brìqwn antiproswpeôetai apì to n-di stato di nusma I =(i 1,i 2,...,i n ) Z n, pou onom zetai di nusma epan lhyhc (iteration vector). K je sunist sa tou dianôsmatoc epan lhyhc antistoiqeð se èna apì touc fwliasmènouc brìqouc, me thn aristerìterh sunist sa na antistoiqeð ston exwterikìtero brìqo kai thn dexiìterh sunist sa ston eswterikìtero brìqo. Orismìc 2.2 To sônolo twn epanal yewn pou orðzetai apì ta ìria twn fwliasmènwn brìqwn: I n = {(i 1,i 2,...,i n ) i j Z l j i j u j, 1 j n} Z n apoteleð èna kurtì polôedro tou Z n kai onom zetai q roc epanal yewn (iteration space). O q roc epanal yewn dônatai na anaparasthjeð se morf pðnaka. Lamb nontac upìyin thn shmasiologða enìc brìqou for k je mia apì tic grammikèc sunart seic l r,j kai u r,j parist nei mia anisìthta thc morf c: r 1 k=1 a k r,j i k + Y r,j i r r 1 k=1 b k r,j i k + F r,j PaÐrnontac mazð ìlec tic anisìthtec, sqhmatðzetai h akìloujh anisìthta pin kwn: A I β

2.1. BASIK ES ENNOIES 29 K je gramm tou pðnaka A orðzei èna kat tero ìrio l r,j ( èna an tero ìrio u r,j ) kai apoteleðtai apì touc suntelestèc a k r,j kai -1 ( bk r,j kai 1). Oi n sunist sec tou dianôsmatoc I eðnai oi metablhtèc elègqou i r, en oi sunist sec tou dianôsmatoc β eðnai oi suntelestèc Y r,j ( F r,j ). Par deigma 'Estw to akìloujo sôsthma fwliasmènwn brìqwn: for (i1=0; i1<=4; i 1++) for (i1=0; i1<=6; i 1++) { A[ i1 ][ i2]+=a[i1 1][ i2]+d[ i1 ][ i2 +1]; D[ i1 ][ i2]+=d[i1 1][i2+1]+A[i1][i2]; } Ta ìria mporoôn na anaparastajoôn meton akìloujo pðnaka anis sewn: 1 0 ( ) 4 0 i 1 4 0 1 0 i 2 6 1 0 i1 6 i 2 0 0 1 0 Orismìc 2.3 'Estw ta sônola A 1,A 2,...,A n, to kartesianì ginìmeno A n = A 1 A 2... A n kai ta dianôsmata a =(a 1,a 2,...,a n ), b =(b 1,b 2,...,b n ). H lexikografik di taxh 1 (lexicographic order) orðzei ìti a b an kaimìno an: 1. a 1 1 b 1, 2. a 1 = b 1,a 2 = b 2,...,a k = b k, a k+1 k+1 b k+1, 1 k n 1 Oi epanal yeic enìc sust matoc fwliasmènwn brìqwn ekteloôntai epomènwc se lexikografik seir. Dhlad, e n h epan lhyh I 2 eðnai lexikografik megalôterh apì thn I 1 ( I 2 I 1 )tìteh epan lhyh I 2 ekteleðtai met thn I 1. 2.1.3 Exart seic Dedomènwn Oi exart seic dedomènwn (data dependencies) qrhsimopoioôntai apì ton me taglwttist gia thn anapar stash twn anagkaðwn periorism n sthn di taxh metaxô twn entol n thc epanaqrhsimopoðhshc twn tim n enìc progr mmatoc. MetaxÔ dôo anafor n up rqei ex rthsh e n up rqei èna monop ti ro c apì thn pr th anafor proc th deôterh kai oi dôo anaforèc prospel noun thn Ðdia jèsh mn mhc. DiakrÐnontai tèssera eðdh exart sewn: An gnwsh Met apì Eggraf (Read After Write-RAW) alli cpragmatik ex rthsh (true dependence): e n h pr th anafor eggr fei sthn jèsh mn mhc kai h deôterh diab zei apì aut. Eggraf Met apì An gnwsh (Write After Read-WAR) alli c anti-ex rthsh (anti-dependence): e n h pr th anafor diab zei apì thn jèsh mn mhc kai h deôterh eggr fei sfl aut n. 1 Me b sh ton orismì autì h lexikografik di taxh orðzei mia merik di taxh.

30 KEF ALAIO 2. METASQHMATISMO I BR OQWN Eggraf Met apì Eggraf (Write After Write-WAW) alli c ex rthsh exìdou (output dependence): e n h pr th anafor eggr fei sthn jèsh mn mhc kai h deôterh epðshc eggr fei sfl aut n. An gnwsh Met apì An gnwsh (Read After Read-RAR) alli c ex rthsh eisìdou (input dependence): e n h pr th anafor diab zei apì thn jèsh mn mhc kai h deôterh epðshc diab zei apì aut. 'Otan ènac k dikac metasqhmatðzetai meskopì thn beltistopoðhsh eðnai anagkaða h diat rhsh thc sqetik c di taxhc metaxô twn eggraf n kai twn anagn sewn sthn Ðdia jèsh mn mhc, alli c o metasqhmatismènoc k dikac ja par gei lanjasmèna apotelèsmate. Sugkekrimèna ja prèpei na diathroôntai oi exart seic tôpou RAW, WAR, WAW. O tètartoc tôpoc ex rthshc, h RAR, den qrei zetai na diathreðtai. Orismìc 2.4 Wc di nusma ex rthshc dependence vector d =(d 1,d 2,...,d n ) miac epan lhyhc enìc progr mmatoc me fwliasmènouc brìqouc orðzetai h diafor tou dianôsmatoc I =(i 1,i 2,...,i n ) pou ekfr zei thn sugkekrimènh epan lhyh meðon to di nusma I = (i 1,i 2,...,i n ),to opoðo ekfr zei mia epan lhyh, thc opoðac ta apotelèsmata qrhsimopoioôntai mesa kat touc upologismoôc pou pragmatopoioôntai apì thn I. O brìqoc o opoðoc sqetðzetai methn aristerìterh mh mhdenik apìstash tou dianôsmatoc ex rthshc onom zetai brìqoc metafor c ex rthshc (carried loop), en sthn perðptwsh pou ìlec oi sunist sec tou dianôsmatoc eðnai mhdenikèc tìteh ex rthsh eðnai anex rthth brìqwn (loop independent). Suqn gia thn anapar stash tou dianôsmatoc eðnai arketì mìno to prìshmo twn apost sewn. Meb sh ton sumbolismì pou proteðnei o [18], qrhsimopoieðtai to sômbolo + gia eôroc apìstashc [1, ], to sômbolo gia eôroc [, 1], kai to sômbolo ± gia gnwsth apìstash [, ]. Gia thn anapar stash twn dianusm twn ex rthshc qrhsimopoieioôntai suqn dôo trìpoi: o pðnakac exart sewn (dependence table) /kai o gr foc ex rthshc q rou epanal yewn (iteration space dependence graph). O pðnakac exart sewn twn epanal yewn enìc sust matoc fwliasmènwn brìqwn eðnai ènac pðnakac tou opoðou oi st lec apoteloôn to sônolo twn dianusm twn ex rthshc twn epanal yewn. O de gr foc ex rthshc q rou epanal yewn parist nei touc periorismoôc pou den epitrèpoun thn anadi taxh twn epanal yewn enìc sust matoc fwliasmènwn brìqwn. E n mia entol k poiac epan lhyhc I 2 exart tai apì mia opoiad pote entol k poiac llhc epan lhyhc I 1, dhlad up rqei ex rthsh tôpou RAW, WAR, WAW,tìteh ex rthsh anaparist tai meèna bèloc apì thn epan lhyh I 1 proc thn epan lhyh I 2. 'Opwc anafèrjhke prohgoumènwc oi epanal yeic enìc sust matoc fwliasmènwn brìqwn ekteloôntai selexikografik di taxh. Qrhsimopoi ntac thn ènnoia tou dianôsmatoc ex rthshc, h epan lhyh I 2 exart tai apì thn epan lhyh I 1, kai epomènwc prèpei na ektelesteð met apì aut n, e n gia k poio di nusma ex rthshc e isqôei I 2 = I 1 + e. B sh epomènwc tou orismoô 2.3, afoô I 2 I 1,to e ja prèpei na eðnai lexikografik megalôtero apì to 0, pio apl, lexikografik jetikì 2 (lexicographically positive). 2 Dhlad èna di nusma eðnai lexikografik jetikì an h pr th mh mhdenik sunist sa tou eðnai jetik.