QsNet - kommunikationsmiljø fra Quadrics, der giver forsinkelser på SCI -niveau og gennemløb på op til 900 MB /s (QsNet II). På grund af de høje omkostninger til udstyr bruges QsNet normalt til at bygge særligt store teraflop- klynger .
QsNet består af to hardwarebyggeblokke: en Elan programmerbar netværksgrænseflade og en Elite højbåndsbredde, lav latenskommunikationsswitch. Elite-switche kan sammenkobles i en Fat Tree -topologi . Med hensyn til software tilbyder QsNet flere niveauer af kommunikationsbiblioteker, der giver et kompromis mellem ydeevne og brugervenlighed. QsNet kombinerer disse hardware- og softwarekomponenter for at implementere effektiv og sikker adgang til global virtuel hukommelse ved hjælp af fjernbetjening af DMA .(DMA). Det forbedrer også netværkets modstandsdygtighed med link- og ende-til-ende-protokoller, der registrerer fejl og automatisk gentransmitterer pakker.
Elan-netværksgrænsefladen forbinder Quadrics-netværket til en behandlingsknude, der indeholder en eller flere processorer . Udover at generere og modtage pakker til og fra netværket, leverer Elan betydelig lokal processorkraft til implementering af meddelelsesprotokoller på højt niveau, såsom Message Passing Interface (MPI). Elans interne funktionelle struktur er centreret omkring to hovedbehandlingsprocessorer: mikrokodeprocessoren og trådprocessoren. 32-bit mikrokodeprocessoren understøtter fire hardwaretråde. Hver tråd kan uafhængigt udstede pipelinede hukommelsesanmodninger til hukommelsessystemet. Op til otte forespørgsler kan udføres på ethvert givet tidspunkt. Planlægning for mikrokodeprocessoren tillader en tråd at vågne op, planlægge en ny hukommelsesadgang baseret på resultatet af den tidligere hukommelsesadgang og vende tilbage til dvale på kun to systemure.
De fire mikrokodestrømme er dedikeret til
En stream-processor er en 32-bit RISC-processor , der hjælper med at implementere meddelelsesbiblioteker på højere niveau uden eksplicit indgriben fra hovedprocessoren. For at gøre dette udvider QsNet instruktionssættet med yderligere instruktioner, der hjælper med at oprette netværkspakker, administrere hændelser, planlægge tråde effektivt og blokere for lagring og gendannelse af trådtilstand under planlægning.
Memory Management Unit (MMU) oversætter 32-bit virtuelle adresser til enten 28-bit SDRAM lokale fysiske adresser eller 48-bit Peripheral Component Interconnect (PCI) fysiske adresser. For at oversætte disse adresser indeholder MMU'en en fuldt associativ oversættelsesassociativ buffer med 16 indgange, en driftsmaskine og en tilstandsmaskine til at krydse sidetabellen for at fylde bufferen og gemme information, når MMU'en går ned.
Elan indeholder routingtabeller, der oversætter hvert virtuelt processornummer til en sekvens af tags, der definerer en netværksrute. Systemsoftwaren kan indlæse flere routingtabeller for at give forskellige routingstrategier.
Elan har 8 KB cache (organiseret i fire sæt på 2 KB hver) og 64 MB SDRAM . Cache-linjestørrelsen er 32 bytes. Cachen udfører pipeline-udfyldninger fra SDRAM og kan udstede flere cache-udfyldninger og tilbageskrivninger for forskellige blokke, mens den servicerer adgangen til cachelagrede blokke. SDRAM-grænsefladen er 64 bit lang med otte kontrolbit tilføjet for at give en fejlkorrektionskode. Hukommelsesgrænsefladen indeholder også 32-byte læse- og skrivebuffere.
Det logiske link transmitterer og modtager data fra netværket og genererer 9 bits og et kloksignal hver halve klokcyklus. Hvert link giver bufferplads til to virtuelle kanaler med 128 input 16-bit FIFO RAM til flowkontrol.
Elite giver
QsNet forbinder Elite - switche i en quad fat tree topologi . Det firedobbelte fortykkede dimensionstræ består af bearbejdningsknuder og switches, der er forbundet med hinanden i form af et delta-netværk; det kan bygges rekursivt ved at forbinde fire firedobbelt fortykkede træer af dimension .
Elite-netværk er kilderutet. Elan -netværksgrænsefladen , som ligger ved netværksknuden, tilføjer routinginformation til pakkehovedet, før pakken kommer ind i netværket. Ruteinformationen er en sekvens af Elite-link-tags. Når pakken bevæger sig inden for netværket, fjerner hver Elite-switch det første rutemærke fra headeren og videresender pakken til den næste switch på ruten eller den endelige destination. Et routing-tag kan identificere enten et enkelt outputlink eller en gruppe af links.
Elan-grænsefladen sender hver pakke på netværket ved hjælp af en ormehulsflowkontrol . På linkniveauet opdeler Elan-grænsefladen hver pakke i mindre 16-bit blokke. Hver pakke lukkes med et ende-på-pakke-token, men den originale Elan sender normalt først et ende-på-pakke-token efter at have modtaget pakkebekræftelsestokenet. Denne proces indebærer, at hver pakketransmission skaber et virtuelt kredsløb mellem kilden og destinationen.
Netværksknuder kan sende pakker til flere destinationer ved hjælp af netværkets broadcast-kapacitet. For at kunne levere en broadcast-pakke skal kildenoden modtage en positiv bekræftelse fra alle modtagere af broadcastgruppen. Alle Elan-grænseflader, der er tilsluttet netværket, kan modtage broadcast-pakker, men hvis det ønskes, kan afsenderen begrænse sættet af broadcast-meddelelser til en undergruppe af fysisk sammenhængende Elans.
Elan kan overføre information direkte mellem adresseområderne i samarbejdende procesgrupper og samtidig opretholde hardwaresikkerhed mellem disse procesgrupper. Denne egenskab - kaldet en virtuel operation - er en kompleks udvidelse af den konventionelle virtuelle hukommelsesmekanisme baseret på to koncepter: Elan virtuel hukommelse og Elan kontekst.
Elan har en MMU til at konvertere virtuelle hukommelsesadresser givet af forskellige funktionsblokke på chippen (streamprocessor, DMA-motor osv.) til fysiske adresser. Disse fysiske hukommelsesadresser kan enten være Elan lokal hukommelse ( SDRAM ) eller værtshovedhukommelse. For at understøtte hovedhukommelsesadgang er konfigurationstabellerne for Elans MMU'er synkroniseret med hovedprocessorens MMU-tabeller, så Elan kan få adgang til dets virtuelle adresserum . Systemsoftwaren er ansvarlig for at synkronisere MMU-tabellerne og er usynlig for programmører.
MMU Elan kan konvertere mellem virtuelle adresser i formatet af hovedprocessoren og virtuelle adresser skrevet i Elan-formatet (32-bit word, little-endian arkitektur).
MMU-tabeller kan kortlægges til et delt område af virtuel hukommelse kaldet heapen . On-demand-allokatoren kortlægger fysiske sider - hoved- eller Elan - til dette virtuelle adresseområde. Ved at bruge allokeringsfunktionerne tilvejebragt af Elan-biblioteket kan brugeren således allokere dele af virtuel hukommelse fra enten hovedhukommelsen eller Elan-hukommelsen, og hovedprocessoren og Elan MMU kan matches.
I et konventionelt virtuelt hukommelsessystem er hver brugerproces tildelt et procesidentifikationsnummer, der definerer sættet af MMU-tabeller og dermed de fysiske adresserum, der er tilgængelige for brugerprocessen. QsNet udvider dette koncept, så brugeradresserum i et parallelt program kan overlappe hinanden. Elan erstatter proces-id-værdien med kontekstværdien. Brugerprocesser kan få direkte adgang til det eksporterede fjernhukommelsessegment ved hjælp af kontekstværdien og den virtuelle adresse. Derudover bestemmer kontekstværdien også, hvilke fjernprocesser der kan få adgang til adresserummet gennem Elan-netværket, og hvor disse processer findes. Hvis brugerprocessen er multithreaded, vil trådene dele den samme kontekst på samme måde, som de deler det samme hovedhukommelsesadresserum. Hvis en node har flere fysiske processorer, kan forskellige processorer udføre separate tråde. Trådene vil dog stadig dele den samme kontekst.
Det er vigtigt at bemærke, at fejldetektion og fejltolerance forekommer mellem to interagerende Elans. Under normal drift transmitterer en Elan-kilde en pakke (det vil sige ruteinformation til kildedirigering efterfulgt af en eller flere transaktioner). Når en modtager i målet Elan modtager en transaktion med ACK Now-flaget, betyder det, at denne transaktion er den sidste for pakken. Efter tildelingen sender Elan en bekræftelsespakke, tokenet returneres til kilden Elan. Kun når Elan-kilden modtager et pakkebekræftelsestoken og sender et ende-på-pakke-token for at indikere fuldførelsen af pakketransmissionen. Den grundlæggende regel for Elan-netværket er, at for hver pakke, der sendes over linket, returnerer Elan-grænsefladen et pakkebekræftelsestoken. Netværket vil ikke genbruge linket, før Elan sender sådan et token.
Hvis Elan opdager en fejl, mens den transmitterer en pakke over QsNet, sender den straks en fejlmeddelelse uden at vente på pakkens bekræftelsestoken. Hvis Elite opdager en fejl, spreder den automatisk fejlmeddelelsen tilbage til kilden og modtageren. Under denne proces isolerer kilden og destinationen Elan og Elite mellem dem det mislykkede link og/eller skifter ved fejldetektion på hvert hop; kilden får besked om den fejlbehæftede komponent og kan gentransmittere standardpakken flere gange. Hvis dette mislykkes, kan oprindelsen omkonfigurere sine routingtabeller i overensstemmelse hermed for at undgå en fejlbehæftet komponent.
Nedenfor er de mest almindeligt anvendte kommunikationstyper til supercomputere og deres hovedkarakteristika.
Computerbusser og interfaces | |
---|---|
Basale koncepter | |
Processorer | |
Indre | |
bærbare computere | |
Kører | |
Periferi | |
Udstyrsstyring | |
Universel | |
Video interfaces | |
Indlejrede systemer |