• No results found

SCI-systemer med HIC som transportmedium

N/A
N/A
Protected

Academic year: 2022

Share "SCI-systemer med HIC som transportmedium"

Copied!
75
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

SCI-systemer med

HIC som transportmedium

Båndbredde Min. latency Latency

a) Enkel b) 8-mu c) 8+4-mu d) 8+2-mu e) 3x3-ma f) 4x4-ma g) 3a-2c h) 4a-2c

Båndbredde (Mbytes/s)

0.00 200.00 400.00 600.00 800.00 1000.00 1200.00 1400.00 1600.00 1800.00

Latency (ns)

500.00 1000.00 1500.00 2000.00 2500.00 3000.00 3500.00 4000.00 4500.00 5000.00

Hovedoppgave i informatikk av

Thomas Waadeland 13. februar 1995

Institutt for informatikk Universitetet i Oslo

(2)

Denne oppgaven er satt i 11pt Times ved hjelp av LATEX.

Figurer er laget i Freehand 3.1 på Macintosh og idraw.

Grafer er laget med programmet wingz.

(3)

iii

Forord

Dette er min hovedoppgave for cand. scient.-graden ved Institutt for Informatikk, Universitetet i Oslo.

Jeg vil takke mine veiledere Ernst Kristiansen, SINTEF og Fysisk institutt, og Øystein Gran Larsen, Institutt for informatikk, for all hjelp og nyttige diskusjoner.

Jeg vil også takke John Bothner, nå ved Dolphin, og Geir Horn, SINTEF, for deres bidrag. Ellers takk til de i newsgruppene uio.c og ifi.tex som har hjulpet til med henholdsvis C++ og LATEX-koden, og takk til alle andre som har bidratt på forskjellig vis i form av råd og tips og ikke minst korrekturlesing.

Til slutt vil jeg også takke alle de nye vennene jeg har fått underveis. Studietiden hadde ikke vært det samme uten dere.

Thomas Waadeland

(4)

iv

Innhold

Forord iii

Innhold iv

Figurer viii

Tabeller ix

1 Introduksjon 1

2 Scalable Coherent Interface 4

2.1 Generelt : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.2 Protokollene : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.2.1 Transaksjonene : : : : : : : : : : : : : : : : : : : : : : 5 2.2.2 Pakkeformatene : : : : : : : : : : : : : : : : : : : : : : 5 2.3 Cache-koherens : : : : : : : : : : : : : : : : : : : : : : : : : : 7

3 Hetrogeneous InterConnect 9

3.1 Generelt : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 3.2 Protokollen: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 3.2.1 SL-laget : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2.2 CL-laget : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2.3 EL-laget : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2.4 PL-laget : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2.5 TL-laget : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3 Definerte linker : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3.1 HS-link : : : : : : : : : : : : : : : : : : : : : : : : : : 13 3.4 BULLIT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 3.4.1 Generelt : : : : : : : : : : : : : : : : : : : : : : : : : : 14 3.4.2 Block 2 : : : : : : : : : : : : : : : : : : : : : : : : : : 15

4 HIC som transportmedium for SCI 17

4.1 Pakkeformat og adressering : : : : : : : : : : : : : : : : : : : : 17 4.2 Deadlock: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18 4.2.1 Move-pakker : : : : : : : : : : : : : : : : : : : : : : : 19 4.2.2 Doble linker : : : : : : : : : : : : : : : : : : : : : : : : 19 4.2.3 Retry: : : : : : : : : : : : : : : : : : : : : : : : : : : : 19

5 HIC-svitsj 21

5.1 Wormhole-ruting: : : : : : : : : : : : : : : : : : : : : : : : : : 21 5.2 Intervall-ruting : : : : : : : : : : : : : : : : : : : : : : : : : : : 21 5.3 Deadlock og rutingalgoritmer : : : : : : : : : : : : : : : : : : : 22

(5)

v

5.3.1 West-first-ruting : : : : : : : : : : : : : : : : : : : : : : 23 5.3.2 Random-ruting : : : : : : : : : : : : : : : : : : : : : : 23 5.3.3 Gruppering av linker: : : : : : : : : : : : : : : : : : : : 23 5.4 Oppsummering : : : : : : : : : : : : : : : : : : : : : : : : : : 24

6 Konstruksjon av simulatoren 26

6.1 Klasser og funksjoner : : : : : : : : : : : : : : : : : : : : : : : 27 6.1.1 Nodene : : : : : : : : : : : : : : : : : : : : : : : : : : 27 6.1.2 Svitsjene : : : : : : : : : : : : : : : : : : : : : : : : : : 28 6.1.3 Klassen HIC interface : : : : : : : : : : : : : : : : : : : 29 6.1.4 Klassen HICchar : : : : : : : : : : : : : : : : : : : : : 30 6.1.5 Funksjonen transmitter() : : : : : : : : : : : : : : : : : 30 6.1.6 Funksjonen receiver() : : : : : : : : : : : : : : : : : : : 31 6.1.7 Klassen Fifo : : : : : : : : : : : : : : : : : : : : : : : : 31 6.1.8 Klassen Delay : : : : : : : : : : : : : : : : : : : : : : : 31 6.2 Ruting : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32 6.3 Flytkontroll : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32 6.4 Variasjon av nettverksbelastning : : : : : : : : : : : : : : : : : : 32 6.5 Innhenting av statistikk : : : : : : : : : : : : : : : : : : : : : : 33 6.6 Konstruksjon av nettverk: : : : : : : : : : : : : : : : : : : : : : 34 6.6.1 I programmet : : : : : : : : : : : : : : : : : : : : : : : 36 6.6.2 Filsyntaks : : : : : : : : : : : : : : : : : : : : : : : : : 36 6.7 Randomfunksjoner : : : : : : : : : : : : : : : : : : : : : : : : : 36

7 Resultater 37

7.1 Latency : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 37 7.1.1 Latency-fordeling : : : : : : : : : : : : : : : : : : : : : 38 7.2 Maksimum teoretisk båndbredde : : : : : : : : : : : : : : : : : 38 7.3 Simulering av systemer med 8x8-svitsjer : : : : : : : : : : : : : 39 7.3.1 Enkel svitsj med 8 noder: : : : : : : : : : : : : : : : : : 40 7.3.2 Multi-stage med 32 noder : : : : : : : : : : : : : : : : : 41 7.3.3 Indirekte multi-stage med 32 noder : : : : : : : : : : : : 42 7.3.4 Indirekte multi-stage med 48 noder : : : : : : : : : : : : 43 7.3.5 3x3-matrise med 48 noder : : : : : : : : : : : : : : : : : 44 7.3.6 4x4-matrise med 80 noder : : : : : : : : : : : : : : : : : 45 7.3.7 3-ary 2-cube med 36 noder : : : : : : : : : : : : : : : : 46 7.3.8 4-ary 2-cube med 64 noder : : : : : : : : : : : : : : : : 47 7.4 Gjennomsnittlig trafikk på linkene : : : : : : : : : : : : : : : : : 48 7.5 Oppsummering for systemene med 8x8-svitsjer : : : : : : : : : : 48 7.6 Sammenligning med [HulBot 93] : : : : : : : : : : : : : : : : : 50 7.7 Enkle svitsjer sammenlignet med [Bothner 94] : : : : : : : : : : 50 7.8 Usikkerheter ved resultatene : : : : : : : : : : : : : : : : : : : : 52

8 Konklusjon 54

Referanser 55

(6)

vi

Appendiks

A Ordliste 58

B C++ 60

C Bruk av simulatoren 61

C.1 Opsjoner : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61 C.2 Konstanter : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62 C.3 Filsyntaks : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62

D Utregning for matrisene 64

D.1 3x3-matrisen : : : : : : : : : : : : : : : : : : : : : : : : : : : : 64 D.2 4x4-matrisen : : : : : : : : : : : : : : : : : : : : : : : : : : : : 65

(7)

vii

Figurer

1.1 Fra referent til simulert modell: : : : : : : : : : : : : : : : : : : 2 2.1 SCI-node: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.2 SCI fjerntransaksjon eksempel: : : : : : : : : : : : : : : : : : : 6 2.3 Request-Send pakkeformat : : : : : : : : : : : : : : : : : : : : 6 2.4 Response-Send pakkeformat : : : : : : : : : : : : : : : : : : : : 7 2.5 Echo pakkeformat : : : : : : : : : : : : : : : : : : : : : : : : : 7 2.6 Cache-koherens : : : : : : : : : : : : : : : : : : : : : : : : : : 8 3.1 HIC’s EL-lag: : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.2 HIC’s pakkeformat: : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3 HIC’s protokollstack : : : : : : : : : : : : : : : : : : : : : : : : 12 3.4 HIC-karakter 8B/12B DC-koding : : : : : : : : : : : : : : : : : 14 3.5 BULLIT Block 2: : : : : : : : : : : : : : : : : : : : : : : : : : 15 3.6 BULLIT’s flytkontroll : : : : : : : : : : : : : : : : : : : : : : : 16 4.1 Fra SCI- til HIC-pakkeformat : : : : : : : : : : : : : : : : : : : 17 4.2 Fra SCI- til HIC-pakkeformat 2 : : : : : : : : : : : : : : : : : : 18 4.3 Fra SCI-symbol til HIC-karakterer: : : : : : : : : : : : : : : : : 18 4.4 Deadlock ved enkle linker : : : : : : : : : : : : : : : : : : : : : 19 4.5 SCI-system med HIC : : : : : : : : : : : : : : : : : : : : : : : 20 5.1 Deadlock eksempel : : : : : : : : : : : : : : : : : : : : : : : : 22 5.2 West-first-ruting : : : : : : : : : : : : : : : : : : : : : : : : : : 23 5.3 HIC-svitsjen : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25 6.1 Fra referent til simulert modell: : : : : : : : : : : : : : : : : : : 26 6.2 Skisse av objektene Node og Switch : : : : : : : : : : : : : : : : 28 6.3 Pakke bestående av HICchar-objekter : : : : : : : : : : : : : : : 30 6.4 Fifo’en : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31 6.5 Topologiene som er simulert : : : : : : : : : : : : : : : : : : : : 35 7.1 Latency-fordeling av pakker : : : : : : : : : : : : : : : : : : : : 39 7.2 Latency versus båndbredde for enkel svitsj : : : : : : : : : : : : 40 7.3 Latency versus båndbredde for 8-mu : : : : : : : : : : : : : : : 41 7.4 Latency versus båndbredde for 8+4-mu : : : : : : : : : : : : : : 42 7.5 Latency versus båndbredde for 8+2-mu : : : : : : : : : : : : : : 43 7.6 Latency versus båndbredde for 3x3-ma : : : : : : : : : : : : : : 44 7.7 Latency versus båndbredde for 4x4-ma : : : : : : : : : : : : : : 45 7.8 Latency versus båndbredde for 3a-2c : : : : : : : : : : : : : : : 46 7.9 Latency versus båndbredde for 4a-2c : : : : : : : : : : : : : : : 47

(8)

viii

7.10 Sammenligning av de forskjellige systemene med 8x8-svitsjer : : 48 7.11 Enkel 4x4-svitsj sammenlignet med [Bothner 94] : : : : : : : : : 51 7.12 Enkel 16x16-svitsj sammenlignet med [Bothner 94] : : : : : : : : 52

(9)

ix

Tabeller

3.1 HIC’s definerte linker : : : : : : : : : : : : : : : : : : : : : : : 13 3.2 BULLIT: Block 1 og Block 2 : : : : : : : : : : : : : : : : : : : 14 6.1 Parameterverdier for simulatoren : : : : : : : : : : : : : : : : : 33 7.1 Simulerte resultater og teoretiske verdier : : : : : : : : : : : : : 49

(10)

x

(11)

1

1

Introduksjon

Flere av deltagerene ved utviklingen av SCI-standarden1har startet prosjekter med studier av forskjellige topologier for SCI-systemer. Det har vært aktiviteter rundt dette ved CERN i Genève, ved Universitetet i Wisconsin og i Oslo, hvor det har vært et samarbeid mellom Dolphin ICS, SINTEF Instrumentering og Institutt for informatikk og Fysisk institutt ved Universitetet. Tidligere simuleringer av SCI- systemer gjort i Oslo, har gitt tilnærmet like resultater som simuleringer av tilsvar- ende topologier andre steder [Bothner 94].

Høyhastighetsversjonen av SCI vil kunne være en essensiell byggesten for en rekke systemer. Disse SCI-systemene kan ha behov for å bli knyttet sammen. Derfor er det interessant å se på forskjellige måter å gjøre dette på. En mulig løsning kan være bruk av HIC2, et serielt grensesnitt for utveksling av pakker.

Denne oppgaven tar for seg bruk av HIC som et transportmedium for SCI. Ho- vedmålene med oppgaven er å se på hvordan ytelsen i et slikt system blir med hen- syn på effektiv båndbredde og latency, og hvilke nettverkstopologier som kan være gunstige. Videre er det interessant å se hvordan ytelsen blir sammenlignet med SCI- systemene undersøkt i [HulBot 93] og SCI-systemene med HIC-svitsj undersøkt i [Bothner 94].

For å se nærmere på dette, er det laget en simulator. En skisse av hvordan det virkelige systemet er modellert i simulatoren er gitt i figur 1.1. SCI-noden er mo- dellert etter Dolphin’s NodeChip3. HIC-interfacet er modellert etter BULLIT4, som er en HIC-implementasjon fra BULL. HIC-svitsjen er modellert med utgangspunkt i ST C1045.

1Scalable Coherent Interface [IEEE-SCI 92].

2Hetrogeneous InterConnect [IEEE-HIC 95].

3Dolphin GaAs NodeChipTM [Dolphin 92].

4BULLIT [BULLIT 94].

5ST C104 asynchronous packet switch [ST C104 94].

(12)

2 1 Introduksjon

HIC-nettverk for requester

HIC-nettverk for responser

Svitsjenett for requester

Svitsjenett for responser Simulert

node

Utveksling av HIC-karakterer

Til annen svitsj eller node

Simulert svitsj Simulert svitsj

Simulert node SCI-node

med HIC-interface

SCI-node med HIC-interface

Figur 1.1: Fra referent til simulert modell.

(13)

3

Denne oppgaven er delt inn i følgende kapitler:

Kapittel 2 gir en kort innføring i SCI for lesere som ikke er kjent med SCI.

Kapittel 3 gir en beskrivelse av HIC. Protokollen, pakkeformat, flytkontroll og de- finerte linker. Tilslutt litt om BULLIT.

Kapittel 4 tar for seg noen aspekter ved bruk av HIC som transportmedium for SCI, blant annet hvordan en SCI-pakke blir overført til HIC-format og prob- lemer med deadlock.

Kapittel 5 beskriver HIC-svitsjen og hvilke rutingalgoritmer som er brukt. Siden det ikke fantes noen HIC-svitsj for HS-link da denne oppgaven ble påbegynnt, er det modellert en egen svitsj for bruk i simuleringene.

Kapittel 6 tar for seg selve simulatoren. Hvordan den er konstruert, dens forskjel- lige moduler og funksjoner, og hvordan den virker.

Kapittel 7 presenterer resultatene fra simuleringene, og gir en sammenligning med teoretiske verdier. Resultatene er også sett i forhold til hverandre og i forhold til andre arbeider gjort på området.

Kapittel 8 gir en kort konklusjon og oppsummering av hva som er gjort i oppgaven.

Appendiks A inneholder en ordliste.

Appendiks B forteller litt om programmeringsspråket C++, og hvorfor det er valgt.

Appendiks C forklarer bruk av simulatoren, HICsim. Opsjoner, konstanter og fil- syntaks.

Appendiks D inneholder teoretiske utregninger for matrisenettverkene.

Ettersom jeg har valgt å skrive på norsk, oppstår det fort et problem med å finne norske ord i steden for engelske. Det er en del faguttrykk og navn på fenomener, som vanskelig lar seg oversette uten at det låter merkelig. Derfor har jeg valgt å bruke engelske navn og uttrykk der jeg synes dette faller naturlig. For eksempel har jeg brukt ord som «latency» og «deadlock». Enkelte steder der det er brukt norske oversettelser, er det engelske ordet satt i parentes. Noen ord og uttrykk er også forklart i appendiks A.

Tabeller og figurer hentet fra de forskjellige databladene, er stort sett beholdt i sin opprinnelige form.

I kapittel 6 hvor det er referert til navn på variabler, klasser og funksjoner i programmet, er navnet skrevet i kursiv.

Referanser

RELATERTE DOKUMENTER

Når det gjelder bruk av direkte reguleringer i miljø- politikken, ser det ikke ut til at en tilpasning til eller innmelding i EF vil føre til vesentlige problemer med å videreføre

setningen om flere eldre og marginaliserte grupper i arbeid, er nødt til å bidra til et høyere sykefravær i forhold til andre land som ikke kjennetegnes av dette bildet.. Flere

sammenlignet med kvinner. 62 prosent av menn og 58 prosent av kvinner som får innvilget sin søknad. Kjønnsforskjellen på 4 prosentpoeng kan ha sammenheng med

Ifølge de siste opptellingene, som så langt kun foreligger som preprint (!), ble hele 10 232 covid-19-relaterte manuskripter lastet opp på bioRxiv og medRxiv de første ti månedene

Dersom materialet er et tilfeldig utvalg, synes den økte innleggelsesrisikoen å være signifikant for gruppe II (p<0,05) og gruppe II (p<0,01) menn.. Det er mulig at denne

forståelsene, der kjernen i ledelse ses på som det som skjer i relasjonen mellom lederen og medarbeideren, og lederens atferd i den relasjonelle konteksten, vil jeg presentere

Dersom materialet er et tilfeldig utvalg, synes den økte innleggelsesrisikoen å være signifikant for gruppe II (p<0,05) og gruppe II (p<0,01) menn.. Det er mulig at denne

Som nyfødtmedisiner stod han ofte overfor medisinske og etiske dilemmaer med hensyn til hvordan informasjon skal gis og hvordan legen skal beklage når ting ikke går som de skal..