NVIDIA tutkii MCM-grafiikkapiirejä ratkaisuna tulevaisuuden suorituskykytarpeisiin

  • Keskustelun aloittaja Keskustelun aloittaja Kaotik
  • Aloitettu Aloitettu

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
22 630
nvidia-mcm-gpu-study-20170704.jpg



NVIDIAn GV100-grafiikkapiiri on kooltaan 815 mm^2 ja se on samalla suurin mahdollinen piiri, mitä nykyisillä valmistusprosesseilla voidaan valmistaa. Pienentyvät valmistusprosessit mahdollistavat transistorimäärien kasvattamisen vielä GV100:n 21,1 miljardista, mutta kasvu ei ole riittävää vastaamaan kaivatun suorituskyvyn tarpeisiin.

Yksi mahdollinen ratkaisu tyydyttämään tulevaisuuden suorituskyvyn tarpeet olisi käyttää useampaa grafiikkapiiriä, jotka työskentelevät yhteistyössä keskenään. Tapoja toteuttaa useamman grafiikkapiirin kokoonpanot on useita, joista tähän mennessä on käytetty joko useampaa erillistä näytönohjainta tai useampaa grafiikkapiiriä samalla piirilevyllä.Kummassakin tapauksessa ongelmaksi muodostuu piirien välisen kommunikaation hitaus sekä vaikeus jakaa työ järkevästi kaikkien grafiikkapiirien kesken.

nvidia-mcm-gpu-study-memory-hierarchy-20170704.jpg


NVIDIAn yhteistyössä Teksasin Austinin ja Arizonan osavaltion yliopistojen sekä Barcelona Supercomputing Center -tutkimuslaitoksen kanssa tekemä selvitys lähestyy ongelmaa tutkimalla mahdollisuuksia käyttää useampaa piiriä samassa MCM-paketoinnissa (Multi-chip Module), mikä mahdollistaa erittäin nopean kommunikaation eri piirien välillä. Simulointimallissa käytetyssä mallissa oli käytössä neljä GPU-piiriä ja erillinen järjestelmä- ja I/O-piiri. Tutkimukseen käytettiin NVIDIAn omaa grafiikkapiirien simulointimallia.

GV100-grafiikkapiirissä on yhteensä 84 SM-yksikköä. Julkaistussa tutkimuksessa on sovittu, että lähitulevaisuuden suurin mahdollinen grafiikkapiiri voisi sisältää 128 SM-yksikköä. Tutkimuksessa vertaillaan neljän ratkaisun suorituskykyä toisiinsa: kaksi 128 SM-yksikön grafiikkapiiriä optimoituna kehittäjille yhtenä piirinä näkyväksi, neljän 64 SM-yksikön GPU:n MCM-ratkaisu 768 Gt/s:n väylillä, neljän 64 SM-yksikön GPU:n MCM-ratkaisu 6 Tt/s:n väylillä ja 256 SM-yksikön monoliittinen grafiikkapiiri. Vertailun lähtötasona on kaksi 128 SM-yksikön grafiikkapiiriä, jotka käyttäytyvät nykyisten ratkaisujen tavoin erillisinä piireinä. Vertailun MCM-ratkaisua 6 Tt/s:n väylillä ja 256 SM-yksikön monoliittipiiriä ei voida selvityksen mukaan valmistaa lähitulevaisuudessa, joten ne ovat mukana vain referenssinä teoreettisista, optimaalisista ratkaisuista.

nvidia-mcm-gpu-study-performance-20170704.jpg


Simuloidun suorituskyvyn mukaan kahden 128 SM-yksikön GPU:n ratkaisu optimoituna tappiinsa tarjoaisi noin 25 % parempaa suorituskykyä kuin optimoimaton perinteisempi kahden GPU:n ratkaisu. MCM-ratkaisulla suorituskyky nousisi jo reilut 50 % paremmaksi ja 256 SM-yksikön monoliittipiirillä, jota ei voida valmistaa, reilut 60 % paremmaksi kuin optimoimaton kahden GPU:n ratkaisu. Teoreettinen MCM-ratkaisu, jossa piirien välinen kaista olisi 6 Tt/s, suoriutuisi lähes yhtä hyvin kuin yksi monoliittinen GPU, mutta monoliitin tapaan sellaista ei voida vielä lähiaikoina valmistaa.

Selvityksen lopputulema on selkeä: Monoliittiset grafiikkapiirit ovat edelleen optimaalinen ratkaisu, mutta MCM-GPU:t ovat realistinen vaihtoehto suorituskyvyn kasvattamiseen valmistusprosessien asettamien rajojen vuoksi. Io-techin toimitus suosittelee lämpimästi kaikkia asiasta lähemmin kiinnostuneita lukemaan itse tutkimuspaperin (PDF).

Huom! Foorumiviestistä saattaa puuttua kuvagalleria tai upotettu video.

Linkki alkuperäiseen uutiseen (io-tech.fi)
 
Olen jo vuosia ihmetellyt miksei tuollaisia ole tehty. SLI ja Crossfire ovat aina tuntuneet jotenkin epäoptimaalliselta tavalta tehdä asia. Ei kuvittelisi olevan mitenkään mahdotonta suunnitella piiriä, joita vaan ladotaan kortille tarvittava määrä ja homma toimii ilman erillisiä siltapiirejä.
 
Olen jo vuosia ihmetellyt miksei tuollaisia ole tehty. SLI ja Crossfire ovat aina tuntuneet jotenkin epäoptimaalliselta tavalta tehdä asia. Ei kuvittelisi olevan mitenkään mahdotonta suunnitella piiriä, joita vaan ladotaan kortille tarvittava määrä ja homma toimii ilman erillisiä siltapiirejä.
Koska vasta viimeaikoina on saatu järkeviä ratkaisuja paketointiteknologioihin, jotka mahdollistavat tuollaiset ilman isoja tehohävikkejä.
 
Näitä on aina mielenkiintoista lukea. Kuinkahan pitkään menee ennen kuin monoliittinen suunnittelu täytyy kuopata, kun vaatimukset suorituskyvylle jatkavat kasvamistaan?
 
Osaakos joku valveutuneempi sanoa kuinka tämä vertautuu Intelin uuteen stash, tai AMDn Ryzenissä käyttämään tapaan saada cpu ytimet juttelemaan keskenään. Ainakin tietysti siten että ainakin stash on suoraan prosessorissa mutta AMDn sydeemi yhdistää kaksi erillistä cpu yksikköä.
Samaa mieltä yllä olevia kanssa siitä, että voittaa sli ja crosfire viritykset.
 
Näitä on aina mielenkiintoista lukea. Kuinkahan pitkään menee ennen kuin monoliittinen suunnittelu täytyy kuopata, kun vaatimukset suorituskyvylle jatkavat kasvamistaan?
Nvidialla taisi raja tulla vastaan uusimman piirinsä kanssa, joka on suurimmmahdollinen joka oli mahdollista rakentaa. Valmistusteknologian pieneneminen auttaa vielä, mutta se on hidastumaan päin, joten multi gpu on nopeampi ja helpompi tapa. Ja edullisempi myös.
 
Osaakos joku valveutuneempi sanoa kuinka tämä vertautuu Intelin uuteen stash, tai AMDn Ryzenissä käyttämään tapaan saada cpu ytimet juttelemaan keskenään. Ainakin tietysti siten että ainakin stash on suoraan prosessorissa mutta AMDn sydeemi yhdistää kaksi erillistä cpu yksikköä.
Samaa mieltä yllä olevia kanssa siitä, että voittaa sli ja crosfire viritykset.
AMD:n infinity fabric on tavallaan jo tuollainen jota AMD todennäköisesti tulee käyttämään tulevaisuudessa GPU puolellakin. Intelin stash jutuista en ole kuullut eikä pikainen googletus tuottanut mitään tulosta. Tarkoititkohan kenties mesh? Jos jälkimmäistä niin se ei ole lähellekkään sama asia kuin AMD:n IF. Mesh on vain paranneltu versio Intelin pitkään käyttämästä ringbus teknologiasta CPU puolella.
 
AMD:n infinity fabric on tavallaan jo tuollainen jota AMD todennäköisesti tulee käyttämään tulevaisuudessa GPU puolellakin. Intelin stash jutuista en ole kuullut eikä pikainen googletus tuottanut mitään tulosta. Tarkoititkohan kenties mesh? Jos jälkimmäistä niin se ei ole lähellekkään sama asia kuin AMD:n IF. Mesh on vain paranneltu versio Intelin pitkään käyttämästä ringbus teknologiasta CPU puolella.

Juuri olin tulossa samaa sanomaan. Threadripper on MCM. Epyc on MCM. Kyllä AMD:llä on tarvittava moduulien välinen siirtoteknologia syntynyt prosessoripuolen innovaatioissa.

Sääli, ettei paperissa otettu paljoa ollenkaan kantaa NUMA-latensseihin. Onko nyt pyhitettävä tietty muistialue tietylle moduulille, että saadaan optimitehot?
 
Osaakos joku valveutuneempi sanoa kuinka tämä vertautuu Intelin uuteen stash, tai AMDn Ryzenissä käyttämään tapaan saada cpu ytimet juttelemaan keskenään. Ainakin tietysti siten että ainakin stash on suoraan prosessorissa mutta AMDn sydeemi yhdistää kaksi erillistä cpu yksikköä.
Samaa mieltä yllä olevia kanssa siitä, että voittaa sli ja crosfire viritykset.
AMD:n infinity fabric on tavallaan jo tuollainen jota AMD todennäköisesti tulee käyttämään tulevaisuudessa GPU puolellakin. Intelin stash jutuista en ole kuullut eikä pikainen googletus tuottanut mitään tulosta. Tarkoititkohan kenties mesh? Jos jälkimmäistä niin se ei ole lähellekkään sama asia kuin AMD:n IF. Mesh on vain paranneltu versio Intelin pitkään käyttämästä ringbus teknologiasta CPU puolella.
Jep. Mesh... lähinnä voisiko sitä modifikoida suurinpiirtein saman tuloksen aikaansaamiseksi.
 
Varmasti vaatii enemmän optimointia ajuri ja ohjelmapuolella, eli scaalaus ei ole sataa prosenttia ja vaihtelee varmasti tilanteen mukaan.
 
Jep. Mesh... lähinnä voisiko sitä modifikoida suurinpiirtein saman tuloksen aikaansaamiseksi.

En usko, mesh vaikuttaisi soveltuvan ainoastaan Intelin nykyiseen tapaan valmistaa prosessorit. Mutta en ole niin kova asiantuntia että sanoisin varmana että ei.
Ja eihän toi mesh arkkitehtuuri sinäänsä ole edes mikään uusi keksintö kun hiukan googletteli, joten ei pidä mainostaa sitä Intelin keksintönä ;)
 
AMD:n infinity fabric on tavallaan jo tuollainen jota AMD todennäköisesti tulee käyttämään tulevaisuudessa GPU puolellakin. Intelin stash jutuista en ole kuullut eikä pikainen googletus tuottanut mitään tulosta. Tarkoititkohan kenties mesh? Jos jälkimmäistä niin se ei ole lähellekkään sama asia kuin AMD:n IF. Mesh on vain paranneltu versio Intelin pitkään käyttämästä ringbus teknologiasta CPU puolella.

Mesh ja ring bus ovat vain kytkentätopologioita, eikä näillä ei ole mitään tekemistä MCM-pakkauksen, eikä myöskään väyläprotokollien kanssa, eikä väyläprotokollan vertaamisessa kytkentätopologiaan ole mitään mieltä, kun kyse on täysin eri tason asioista.

Ja ring busin ja meshin ero on oikeastaan se, että ring bus on 1d-topologia, jossa tosin wräpätään ympäri, mesh on 2d-topologia jossa on aina kytkennät vasemmalle, oikealle, yklös ja alas. Mutta meshilläkin matka piirin vastakkaiseen kulmaan voi käydä melko hitaaksi.


Ja noista topologioista: AMDllä on piilastujen välillä 1 soketin EPYCissä käytännössä crossbar-topologia(kaikki on kytketty kaikkeen) ja 2 soketin EPYCissä käytännössä laajennettu kuutiotopologia (kuutio, jossa kahdella kuudesta sivusta on ylimääräiset vastakkaiset kulmat yhdistävät linkit).

CCXn sisällä taas AMDllä lienee crossbar. Siitä, millainen linkkitopologia AMDllä on yhden piilastun sisällä CCXien ja muisti- ja IO-väyläohjaimien välillä en ole varma. Melko todennäköisesti crossbar, mutta voi olla myös ring bus.
 
Mihin se tämän hetkinen Vega sitä IF käyttäisi? Käsittääkseni Vega on vielä toistaiseksi yksi siru ja siltä se ainaskin noissa kuvissa näyttää joissa on purettu.

On todennäköisesti käytössä... vai oliko tästä jotain muuta faktaa kuin se yksi "scalability" maininta siellä diassa? Eiköhän se tuota tarkoita, muttei 100% varmaa.
Raja Koduri sanoi sen ihan suoraan Reddit AMAssa ja sitten on tämä nyt jo vanhahko slide:
AMD-Infinity-Fabric-Data-on-a-Chip-740x416.jpg


ei se infinity fabric ole vain useamman piirin yhdistämiseen tarkoitettu, vaan ihan piirien sisäiseksi väyläksi myös
 
Raja Koduri sanoi sen ihan suoraan Reddit AMAssa ja sitten on tämä nyt jo vanhahko slide:
AMD-Infinity-Fabric-Data-on-a-Chip-740x416.jpg


ei se infinity fabric ole vain useamman piirin yhdistämiseen tarkoitettu, vaan ihan piirien sisäiseksi väyläksi myös

Käsittääkseni IF otetaan käyttöön tuossa raven ridge forresterissa vasta, mutta en tiedä varmasti sanoa.
 
Mikä nostaa kysymyksen, että voiko Vegan siruja pakata useamman samaan koteloon?
Teoriassa mikä ettei, mutta vastaako teoria käytäntöä jää nähtäväksi.
Käsittääkseni IF otetaan käyttöön tuossa raven ridge forresterissa vasta, mutta en tiedä varmasti sanoa.
Tässä vaiheessa on tietenkin mahdotonta sanoa mitään tarkempaa, mutta olettaen ettei AMD ole lisännyt sitä vain ulkoiseksi väyläksi muualle se on kyllä käytössä piirin sisällä nytkin
 
En usko, mesh vaikuttaisi soveltuvan ainoastaan Intelin nykyiseen tapaan valmistaa prosessorit. Mutta en ole niin kova asiantuntia että sanoisin varmana että ei.
Ja eihän toi mesh arkkitehtuuri sinäänsä ole edes mikään uusi keksintö kun hiukan googletteli, joten ei pidä mainostaa sitä Intelin keksintönä ;)

Kytkentätopologia pitää valita tarpeen mukaan, ei ole selvästi "huonompaa ja parempaa".

Ja piireillä on nykyisin hyvin suuri määrä eri tason kytkettäviä asioita, joissa kussakin sovelletaan eri kytkentätopologioita. Ytimien kytkeminen toisiinsa on vain yksi, ehkä kaikkein näkyvin taso näistä.


1) Suorituskyvyn(viive, ja yleensä myös kaista) kannalta crossbar on paras vaihtoehto, kun kaikista nodeista on suora pääsy kaikkiin, mutta se käy hyvin kalliiksi(sekä pinta-ala, virrankulutus että mahdollisesti kellotaajuus) kun nodejen määrä kasvaa. Jollain neljällä nodella crossbar on vielä helppo ja nopea, mutta kahdeksalla crossbar alkaa olemaan jo jossain määrin kallis. Yli kahdeksalla se alkaa olemaan helposti liian kallis.

2) Crossbarista on myös rajoitettu versio, omega network, josta puuttuu tiettyjä yhteyksiä, tiettyjen nodejen välillä yhtäaikaiset siirrot on mahdottomia, mutta rakenne on silti melko crossbarin kaltainen, sisältää vaan useamman kerroksen. Idea on saada melkein crossbarin suorituskyky, mutta skaalautua suuremmalle nodemäärälle pienemmillä haittavaikutuksilla.

3) Yksi jaettu väylä on käytännössä halvin ratkaisu, mutta siitä taas loppuu helposti kaista kesken, kun voidaan tehdä vain yhtä siirtoa yhtä aikaa.

Sekä crossbarissa, omega networkissä että jaetussa väylissä pääsy mistä tahansa nodesta mille tahansa nodelle on aina yhtä nopeaa(tai hidasta).

4) Segmentoitu väylä mahdollistaa usean siirron yhtä aikaa väylän eri osissa, mutta edelleen kaista väylän "päästä päähän" käy hyvin ahtaaksi.

5) Ring bus ratkoo tätä siten että väylällä ei ole päitä ollenkaan vaan se kiertää ympyrää, "toiseen päähän on oikotie". Tyypillisesti ring bus koostuu kahdesta erillisestä yksisuuntaisesta väylästä, toinen kiertää toiseen suuntaan, toinen toiseen suuntaan. Tällöin tiedonsiirto lähelle on nopeaa, mutta edelleen "toiselle puolelle" sitä väylää tiedonsiirto on hitaampaa, ja suuren kytkentämäärän lisääminen ring busille alkaa edelleen muodostaa kaistapullonkaulaa.

6) Tähtitopologia soveltuu siihen että nodeista yksi on eri asemassa, ja (melkein) kaikki liikenne kulkee sinne, eikä muut juttele juuri keskenään.

7) 2d mesh sitten asettelee nodet ruudukkoon, ja jokaisella on kytkentä itään. lähteen, pohjoiseen ja etelään. Tämä skaalautuu jo selvästi suurempaan kytkentämäärään, mutta jos gridi on suuri, piirin laidalta toiselle pääseminen on edelleen hidasta.

esim. 8x8 meshissä kulmien välillä tarvii mennä 14 linkin yli. (7 itä-länsi-suunnassa, 7 pohjois-etelä-suunnassa)

8) Kuutio- ja hyperkuutio-mesh-topologiat sitten laajentaa meshin kolmanteen tai neljänteen ulottuvuuteen.

Esiim. 4x4x4-kuutio-meshissä kulmien välillä liikenteesen pitää mennä vain 3*3 =9 linkin yli, eli samalla nodemäärällä selvästi nopeampi kuin 2d mesh. Toki tämä on sitten kalliimpikin, eikä usein vaan ole edes mahdollinen toteuttaa fyysisen rakenteen takia. (piireissä logiikka on kuitenkin 2d:nä)
 
Tarkasti ottaen vasemman puoleinen kuva on myös MCM piiristä, sillä samalla alustalla on sekä GPU että muistit. Äkkiä sanoisin että kyse on enempi klusteroinnista kuin varsinaisesti paketointitekniikasta, ja juu rypäs on klusterin suomenkielinen vastine, mutta tässä harvinaisessa poikkeuksessa tyydyn käyttämään anglosaksismia. Kovin tarkkaan en tiedä miten mobiilisuorittimissa klusterointi tapahtuu, mutta oma mutu on että tekniikka on liki kaikissa nykyisissä SoC piireissä käytössä, eli GPU osa piiristä juttelee myös sisäisesti klusterien välillä eikä vain UMA pohjaisesti keskusmuistin kanssa.
NVIDIAn SoC piirit ovatkin olleet jonkinsortin poikkeus yleiseen arkkitehtuuriin mobiilipuolella.
 
Tarkasti ottaen vasemman puoleinen kuva on myös MCM piiristä, sillä samalla alustalla on sekä GPU että muistit. Äkkiä sanoisin että kyse on enempi klusteroinnista kuin varsinaisesti paketointitekniikasta, ja juu rypäs on klusterin suomenkielinen vastine, mutta tässä harvinaisessa poikkeuksessa tyydyn käyttämään anglosaksismia. Kovin tarkkaan en tiedä miten mobiilisuorittimissa klusterointi tapahtuu, mutta oma mutu on että tekniikka on liki kaikissa nykyisissä SoC piireissä käytössä, eli GPU osa piiristä juttelee myös sisäisesti klusterien välillä eikä vain UMA pohjaisesti keskusmuistin kanssa.
NVIDIAn SoC piirit ovatkin olleet jonkinsortin poikkeus yleiseen arkkitehtuuriin mobiilipuolella.
Kyllä, MCM-paketteja on tehty iänkaiken, sekä tuon kuvan näyttämän mallin mukaisesti HBM-muisteilla että GDDR-muisteillakin mobiili- ja embedded-markkinoilla. Ne eivät kuitenkaan ole MCM-GPU:ita tai -grafiikkapiirejä, jossa itse GPU koostuu useammasta grafiikkapiiristä.
 
MCM-paketoinnin historiasta:

Pentium Pro(vuodelta 1995) oli ensimmäisiä suuressa määrissä valmistettuja MCM-piirejä.

Siinä samassa paketissa oli erikseen CPU-ydin-piilastu sekä L2-välimuistipiilastu.

Tuohon aikaan tuo MCM-ratkaisu kuitenkin tuli kalliiksi, eikä Pentium Pro:ta koskaan myyty "kotikäyttäjille" edullisella hinnalla, ja syy oli nimenomaan MCM:n valmistus- ja testauskustannukset, ja ilmeisesti tuossa noita piilastuja ei pystytty testaamaan erikseen ennen niiden laittamista samaan pakettiin, jos jommassa kummassa oli vika, koko piiri oli pilalla.

Kotikäyttäjille tuli myöhemmin mallit, joissa MCM-ratkaisusta oli luovuttu, ja joko 1) L2-kakku oli siirretty erilliselle piirikortille (Pentium 2/Pentium III), 2) puuttui kokonaan(Covingon-Celeron) tai 3) laitettu samalle piilastulle (Mendocino-Celeron, Coppermine-P3).


Seuraava MCM mitä tulee mieleen on sitten jotkut ATIn näyttisten mobiilimallit jostain >10 (ehkä jopa >15) vuoden takaa.
Niissä oli ihan normaalia SDRAM/SGRAM/DDR-tyyppistä muistia laitettu GPUn kanssa samaan pakettiin. Tästä ei hirveästi missään revieweissä mainittu eikä hypetetty, koska se ei vaikuttanut suorituskykyyn ja tehtiin vain jotta läppärin näyttis menisi fyysisesti pienempään tulaan, ja revieweitä tyypillisesti tuli vain pöytäkonenäyttiksistä.

Tästä seuraavat mitä tulee mieleen on sitten jotkut IBMn POWER-prossut, ja sitten näiden jälkeen jotkut AMDn opteronit.
 
Viimeksi muokattu:
Seuraava MCM mitä tulee mieleen on sitten jotkut ATIn näyttisten mobiilimallit jostain >10 (ehkä jopa >15) vuoden takaa.
Niissä oli ihan normaalia SDRAM/SGRAM/DDR-tyyppistä muistia laitettu GPUn kanssa samaan pakettiin. Tästä ei hirveästi missään revieweissä mainittu eikä hypetetty, koska se ei vaikuttanut suorituskykyyn ja tehtiin vain jotta läppärin näyttis menisi fyysisesti pienempään tulaan, ja revieweitä tyypillisesti tuli vain pöytäkonenäyttiksistä.
Näitä käytetään edelleen embedded-maailmassa ja mobiilipuolellakin ilmeisesti ainakin joskus.
Tässä suht tuore embedded-Radeon
5e0a4920-e4a4-44c7-87b6-15950cbbee53.jpg
 
Sinällään nurinkurista että tämä Nvidia tutkimus on hyvä uutinen etenkin AMD:n kannalta kun AMD:llä on jo pitkältäajalta CPU puolelta kokemusta tuon kaltaisista MCM yms vastaavista väylä ratkaisuista joten AMD on paremmassa asemassa tekemään tämän kaltaisen MCM GPU:n (vielä niin että samassa MCM paketissa on myös CPU).
 
En usko, mesh vaikuttaisi soveltuvan ainoastaan Intelin nykyiseen tapaan valmistaa prosessorit. Mutta en ole niin kova asiantuntia että sanoisin varmana että ei.
Ja eihän toi mesh arkkitehtuuri sinäänsä ole edes mikään uusi keksintö kun hiukan googletteli, joten ei pidä mainostaa sitä Intelin keksintönä ;)

Kytkentätopologia pitää valita tarpeen mukaan, ei ole selvästi "huonompaa ja parempaa".

Ja piireillä on nykyisin hyvin suuri määrä eri tason kytkettäviä asioita, joissa kussakin sovelletaan eri kytkentätopologioita. Ytimien kytkeminen toisiinsa on vain yksi, ehkä kaikkein näkyvin taso näistä.


1) Suorituskyvyn(viive, ja yleensä myös kaista) kannalta crossbar on paras vaihtoehto, kun kaikista nodeista on suora pääsy kaikkiin, mutta se käy hyvin kalliiksi(sekä pinta-ala, virrankulutus että mahdollisesti kellotaajuus) kun nodejen määrä kasvaa. Jollain neljällä nodella crossbar on vielä helppo ja nopea, mutta kahdeksalla crossbar alkaa olemaan jo jossain määrin kallis. Yli kahdeksalla se alkaa olemaan helposti liian kallis.

2) Crossbarista on myös rajoitettu versio, omega network, josta puuttuu tiettyjä yhteyksiä, tiettyjen nodejen välillä yhtäaikaiset siirrot on mahdottomia, mutta rakenne on silti melko crossbarin kaltainen, sisältää vaan useamman kerroksen. Idea on saada melkein crossbarin suorituskyky, mutta skaalautua suuremmalle nodemäärälle pienemmillä haittavaikutuksilla.

3) Yksi jaettu väylä on käytännössä halvin ratkaisu, mutta siitä taas loppuu helposti kaista kesken, kun voidaan tehdä vain yhtä siirtoa yhtä aikaa.

Sekä crossbarissa, omega networkissä että jaetussa väylissä pääsy mistä tahansa nodesta mille tahansa nodelle on aina yhtä nopeaa(tai hidasta).

4) Segmentoitu väylä mahdollistaa usean siirron yhtä aikaa väylän eri osissa, mutta edelleen kaista väylän "päästä päähän" käy hyvin ahtaaksi.

5) Ring bus ratkoo tätä siten että väylällä ei ole päitä ollenkaan vaan se kiertää ympyrää, "toiseen päähän on oikotie". Tyypillisesti ring bus koostuu kahdesta erillisestä yksisuuntaisesta väylästä, toinen kiertää toiseen suuntaan, toinen toiseen suuntaan. Tällöin tiedonsiirto lähelle on nopeaa, mutta edelleen "toiselle puolelle" sitä väylää tiedonsiirto on hitaampaa, ja suuren kytkentämäärän lisääminen ring busille alkaa edelleen muodostaa kaistapullonkaulaa.

6) Tähtitopologia soveltuu siihen että nodeista yksi on eri asemassa, ja (melkein) kaikki liikenne kulkee sinne, eikä muut juttele juuri keskenään.

7) 2d mesh sitten asettelee nodet ruudukkoon, ja jokaisella on kytkentä itään. lähteen, pohjoiseen ja etelään. Tämä skaalautuu jo selvästi suurempaan kytkentämäärään, mutta jos gridi on suuri, piirin laidalta toiselle pääseminen on edelleen hidasta.

esim. 8x8 meshissä kulmien välillä tarvii mennä 14 linkin yli. (7 itä-länsi-suunnassa, 7 pohjois-etelä-suunnassa)

8) Kuutio- ja hyperkuutio-mesh-topologiat sitten laajentaa meshin kolmanteen tai neljänteen ulottuvuuteen.

Esiim. 4x4x4-kuutio-meshissä kulmien välillä liikenteesen pitää mennä vain 3*3 =9 linkin yli, eli samalla nodemäärällä selvästi nopeampi kuin 2d mesh. Toki tämä on sitten kalliimpikin, eikä usein vaan ole edes mahdollinen toteuttaa fyysisen rakenteen takia. (piireissä logiikka on kuitenkin 2d:nä)
"4) Segmentoitu väylä mahdollistaa usean siirron yhtä aikaa väylän eri osissa, mutta edelleen kaista väylän "päästä päähän" käy hyvin ahtaaksi."

Eikö esim. neljän CPU ytimen Crosbarin voisi periaateessa toteuttaa niin että liikenne kulkisi suoraan yhdeltä CPU:lta toiselle ja sen lisäksi käytettäisiin kahta linkiä jotka kulkee niiden kahden muun CPU:n kautta eli olisi käytössä kolme likkiä yhtäaikaa kahden CPU:n välillä ja näin Crosbar pystyisi välittämään enempi kuin yksi väylä.

Tuolla tavalla olisi tietenkin poikeavia viiveitä välittävästä CPU:sta johtuen mutta vastaavasti voitaisiin käytää kapeampia väyliä joka vaatisi vähempi pinta-alaa väylille.


"5) Ring bus ratkoo tätä siten että väylällä ei ole päitä ollenkaan vaan se kiertää ympyrää, "toiseen päähän on oikotie". Tyypillisesti ring bus koostuu kahdesta erillisestä yksisuuntaisesta väylästä, toinen kiertää toiseen suuntaan, toinen toiseen suuntaan. Tällöin tiedonsiirto lähelle on nopeaa, mutta edelleen "toiselle puolelle" sitä väylää tiedonsiirto on hitaampaa, ja suuren kytkentämäärän lisääminen ring busille alkaa edelleen muodostaa kaistapullonkaulaa."

AMD:han käytti yhdessä 512bit GPU mallissaan ringbus väylää muisteille ja se osoitti aika hyvin kyseisen ratkaisun rajoitteet siinä käytössä ja sen jälkeen sitä ei enää olla harkittu siihen käytöön.


"7) 2d mesh sitten asettelee nodet ruudukkoon, ja jokaisella on kytkentä itään. lähteen, pohjoiseen ja etelään. Tämä skaalautuu jo selvästi suurempaan kytkentämäärään, mutta jos gridi on suuri, piirin laidalta toiselle pääseminen on edelleen hidasta."

Eikö Intelin menycore CPU kokeilut (74 ydintä?) ole olleet juuri tuon tyylisiä.

Siinä Intel kokeilussa vaan käytettiin jotan ethernet väylä tyylisiä ohjaimia sen väylän välittäjinä joten sen välittävän CPU:n kautta koukkaaminen ei aiheuta yhtä pahaa viivettä kuin muistiohjain tms väylä ratkaisulla aiheutuu.
 
Viimeksi muokattu:
MCM-paketoinnin historiasta:

Pentium Pro(vuodelta 1995) oli ensimmäisiä suuressa määrissä valmistettuja MCM-piirejä.

Siinä samassa paketissa oli erikseen CPU-ydin-piilastu sekä L2-välimuistipiilastu.

Tuohon aikaan tuo MCM-ratkaisu kuitenkin tuli kalliiksi, eikä Pentium Pro:ta koskaan myyty "kotikäyttäjille" edullisella hinnalla, ja syy oli nimenomaan MCM:n valmistus- ja testauskustannukset, ja ilmeisesti tuossa noita piilastuja ei pystytty testaamaan erikseen ennen niiden laittamista samaan pakettiin, jos jommassa kummassa oli vika, koko piiri oli pilalla.

...

Eikös ennen tuota joku CPU valmsitaja tehnyt prosessorin josas oli CPU ydin ja erillinen matikka prossa samassa MCM paketissa (Cyricks tms voin muistaa ihan väärin).
 
Näitä käytetään edelleen embedded-maailmassa ja mobiilipuolellakin ilmeisesti ainakin joskus.
Tässä suht tuore embedded-Radeon
5e0a4920-e4a4-44c7-87b6-15950cbbee53.jpg
Nuo on vissiin yleisiä vehkeissä joissa täytyy olla sertifioidut komponentit (esim joku sairaalakäytössä oleva vehje) kun tuon MCM paketin sertifio kerran sitä voi käyttää missä tahansa laitteessa ilman uutta sertifiointia mutta jos olisi näytönohjainpiiri erillisillä muistipiireilllä (ja muilla komponenteilla) sen joutuisi ehkä sertifiomana joka kerta kun sitä toteutusta käytetään jossain uudessa laitteessa eli vaikka MCM on kallimpi se loppujen lopuksi on halvempi kun vältetään sertifionti prosessi.
 
Tuosta voisi siis päätellä, että jos Vegasta tulee joskus useampi piirillinen versio, niin ne piirit ovat luultavimmin yhdessä paketissa aikaisemman tyylin siltapiirillisen kortin sijasta.
Ja ei olisi samanlaista performance hittiä kuin on Crossfire toteutuksessa siltapiirillä kun ne Vegat saattaisi näkyä käytikselle yhtenä ainoana näytönohjaimena (tosin DX12 paljastaisi ne varmaan erillisinä koska niiden muisteihin täytyy kumminkin koukata sen toisen GPU:n kautta joten toisen GPU:n muistin käyttö aiheutta pienen performance hitin).

Eli kyseessä on käytännössä toteutettuna juuri se toteutus josta Nvidia vasta haaveilee tässä uutisessa.
 
Ja ei olisi samanlaista performance hittiä kuin on Crossfire toteutuksessa siltapiirillä kun ne Vegat saattaisi näkyä käytikselle yhtenä ainoana näytönohjaimena (tosin DX12 paljastaisi ne varmaan erillisinä koska niiden muisteihin täytyy kumminkin koukata sen toisen GPU:n kautta joten toisen GPU:n muistin käyttö aiheutta pienen performance hitin).

Eli kyseessä on käytännössä toteutettuna juuri se toteutus josta Nvidia vasta haaveilee tässä uutisessa.
Itse asiassa nyt kun muisteista puhut... Kuinkahan mahdollista olisi rakentaa useammasta piiristä koostuva iso "virtuaaliGPU", jolla olisi yksi ainoa muistialue nykyisten per piiri tyylisten toteutusten sijaan?
 
Itse asiassa nyt kun muisteista puhut... Kuinkahan mahdollista olisi rakentaa useammasta piiristä koostuva iso "virtuaaliGPU", jolla olisi yksi ainoa muistialue nykyisten per piiri tyylisten toteutusten sijaan?
Eikös se ole ollut jo mahdollista kyse on vain siitä että vaikka muisti näkyy virtuaalisesti yhtenäisenä se koneen keskusmuisti on fyysisesti kumminkin sen hitaan PCIE yhteyden takana, sama pätisi tietenkin tuollaiseen virtuaali GPU:hun vaikka muisti näkyy yhtenäisenä sen väylät kulkee kumminkin niiden erillisten GPU ytimien kautta joten kaikki muisti ei ole fyysisesti yhtä nopean yhteyden takana.

MCM Vega.jpg


Kudorin tämähetkisten puheiden perusteella Vega jo tukee tuon kaltaista toteutusta

Siniset on kaksi Vega GPU ydintä

Punaiset on neljä HBM musitipiiria (kaksi liitety kuhunkin Vega GPU ytimeen)

Ja tuo voisi periaateessa olla yhdellä ja samalla interposerilla tai sitten niin että samalle alustalle olisi integroitu kaksi interposeria.


PS Tämä mahdollisuus upata kuvia suoraan ioBBS:ään aiheutta sen että herkemmin tuuppaa näkösälle omia hirveitä piirrosräpellyksiään.


PPS Jos AMD julkaisee tuon kaltaisen Vegan se pesee ja linkoaa GTX 1080Ti kortit helposti, joten Nvidialla on hyvä syy tehdä näitä akateemisia tutkimuksia siitä kuinka pahasti ehkä ovat lirissä.

Tutkimuksen tulos on "MCM-ratkaisulla suorituskyky nousisi jo reilut 50 % paremmaksi" että GTX 1080Ti SLI kokoonpano ei ehkä pärjää tuon kaltaiselle Vegalle, eli jos AMD julkaisee MCM Vegan (jonka se pystyy Kudorin väitteen mukaan tekemään) Nvidia on kaulaansa myöden suossa ja nopeimman yksittäisen pelinäytönohjaimen titteli menee AMD:lle eikä Nvidia voi sitä estää (edes Titan Xp SLI ei ehkä riitä).


PPPS Mikä on Vega 11 josta AMD on ollut harvinaisen hiljaa ... voisiko se olla todellinen pommi aka "(MCM) Vega Shaderripper" ?

Meinaan kun AMD tuo Threadripper:in myyntiin niin miksi ne ei toisi myös Shaderripper:iä myyntiin jos ne kerta pystyy siihen niin kuin Kudori väittää heidän pystyvän.
 
Viimeksi muokattu:
Ja tuo voisi periaateessa olla yhdellä ja samalla interposerilla tai sitten niin että samalle alustalle olisi integroitu kaksi interposeria.
Kaksi interposeria, yhtä kyllin isoa ei voida valmistaa käytännössä järkevästi. Itseasiassa jopa GV100:n interposeri joudutaan valottamaan kahdessa erässä koska se on niin iso, ja se on kuitenkin selvästi pienempi kuin kaksi Vegaa vaatisi
 

Statistiikka

Viestiketjuista
261 704
Viestejä
4 544 755
Jäsenet
74 833
Uusin jäsen
Kanadanhanhi

Hinta.fi

Back
Ylös Bottom