Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 10 reacties
Bron: Ace's Hardware, submitter: T.T.

Bij Ace's Hardware is een interessant interview verschenen met Dr. Marc Tremblay, de Chief Architect voor de processor en network products group van Sun. Het interview gaat voornamelijk over CMP en CMT. CMP en CMT zijn beiden technieken om de prestaties van multithreaded applicaties te verhogen. CMP houdt in dat er fysiek meerdere processor core's aanwezig zijn voor het uitvoeren van meerdere threads terwijl je met CMT meerdere threads kan uitvoeren op één processor.

Sun logoSun is bezig met de ontwikkeling van verschillende CMP- en CMT-chips waaronder de Niagara. Deze chip krijgt de beschikking over acht cores die elk vier threads kunnen verwerken. Hiermee kan de chip gelijktijdig 32 threads uitvoeren. Het grote voordeel van dit ontwerp is dat de negatieve invloed van geheugenlatencies vrijwel wordt opgeheven. Als een thread data nodig heeft die niet aanwezig is kan er gewisseld worden naar een andere thread en pas als de gevraagde data gearriveerd is wordt er weer teruggewisseld.

Hierdoor wordt een latencyprobleem omgezet naar een bandbreedteprobleem. DRAM-chips die een voldoende lage latency hebben om een gigahertzprocessor bij te benen zijn er niet, maar meer bandbreedte leveren door bijvoorbeeld de busbreedte te vergroten is vrij simpel. Sun claimt dat de Niagara-chip vijftienmaal sneller is dan een 650MHz UltraSparc IIi chip. Tevens is Sun bezig met de ontwikkeling van een CMT-chip die circa zestigmaal zo snel wordt als de UltraSparc IIi en dertigmaal zo snel als de 1,2GHz UltraSparc III.

Typical Processor - 75% of Cycles Are Wasted
Typical Processor - 75% of Cycles Are Wasted

Single-core CMT Processor - Multiple Threads Compute During Memory Latency Times
Single-core CMT Processor - Multiple Threads Compute During Memory Latency Times
Moderatie-faq Wijzig weergave

Reacties (10)

Waarom Sun dit nou weer CMT moet noemen is me een raadsel. Ik neem aan dat het staat voor Concurrent Multi Threading
edit:
blijkt dus te staan voor Chip Multi Threading
, maar de techniek is in de literatuur al zo oud als metuzalem en staat bekend als SMT i.e. Simultaneous Multi Threading. Dat Intel het zo nodig Hyperthreading moest noemen is al erg genoeg.
Tot voor kort was SMT dus eigenlijk alleen nog maar bekend in de literatuur. Ondanks dat het een relatief eenvoudige en vooral goedkope (benodigde hardware) techniek is, is er eigenlijk nooit een goede mainstream implementatie van geweest. En nu, Hyperthreading, dat is eigenlijk ook maar een halfslachtige implementatie. 2 threads, dat kun je nauwelijks SMT noemen.
De Alpha EV8 zou op dat punt (en op verschillende anderen) de Mother of all Chips worden, met ondersteuning voor 8 threads, helaas is ie gecanceled (omdat ie IA-64 zou overtroeven, da's mijn mening tenminste)
Anyway, het is gewoon een kei leuke techniek en niet alleen Sun is er mee bezig.

Je moet je voorstellen dat in de toekomst geïntegreerde systemen uit tientallen zo niet honderden subsystemen gaan bestaan die allemaal met elkaar moeten communiceren. Tot dusver zijn voor deze communicatie bussen gebruikt, maar bij zoveel subsystemen houdt zo'n bus het gewoon niet meer bij, daarnaast zal draad sowieso alleen nog maar geschikt zijn voor locale communicatie. Draden van meer dan een paar milimeter zouden namelijk een bottleneck worden op de kloksnelheid van een design omdat wire-delays helaas niet zo mooi schalen als transistor delays.
In de toekomst zal dus overgestapt worden naar (b.v.) een op de chip meegebakken packetswitched netwerk tussen de subsystemen. Als een pakketje dan langs meerdere routers naar z'n bestemming moet worden geloodst brengt dat ook latency met zich mee. En in zo'n geval kan een SMT achtige techniek ook weer mooi gebruikt worden om die latencies te maskeren.
Just wondering: hebben zij dit nou van Intel, of heeft Intel dit van Sun?

En wat voor waanzinnig geheugen moet je hebben om 32 van die requests bij te kunnen benen? Lijkt me adt dat sneller moet zijn dan het huidige, veel sneller zelfs.
geen van 22.
Deze manier van tandem werken is al heel oud. Ik d8 dat het ooit eens door DEC is bedacht. De truuk destijds was om processoren achter elkaar aan de lopende band vaste taken uit te laten voeren. later is dat proces verbeterd en konden de processoren meerdere taken uitvoeren.

Vooral supercomputers, cray en zo, hebben dit veel gebruikt.

Het is vooral goed als je langdurig hetzelfde moet doen. Dus bijvoorbeeld langdurig een matix transformatie uitvoren.

Het is een stuk minder geschikt om in een multitasking omgeving te werken omdat dan de processoren meet tijd zijn met context switching dan met rekenen.
Volgens mij zijn heel erg veel leuke CPU functies door DEC uitgevonden.
Die hadden ze dan toch zeker van IBM en/of CDC afgekeken. Vrij veel van de huidige CPU concepten zijn een variant van de technieken die voor de mainframes ontwikkeld zijn.
Ik vindt dit heel erg goed nieuws, ik heb vaak problemen gehoord over de CMP en CMT en ik heb er ook hele verhalen over, maar laat ik het kort houden: Ik ben er blij mee dat ze eindelijk eens opschietten i.p.v altijd maar weer laten liggen als een oud stuk papier.

De latency problemen lagen vaak voor de hand..
Je zou dit ook voor de desktop gebruiken.
Zou nog mooier zijn als het gebruikte geheugen per core apart is. Dan krijg je als het ware meerdere CPU's in 1.

En dan zit je inderdaad met een bandbreedte probleem. Voor zover ik weet beginnen de geheugenchips de processorsnelheid niet meer bij te kunnen lopen.
Komt daar al een revolutionair idee voor, of zullen de processorenfabrikanten nou dat geheugen in hun processor moeten bakken. (Misschien op dezelfde kaart als de processor). :*) :9~ B-)
vergeet niet dat sun de cray technologie gekocht heeft !

eerst hebben ze de technologie op hun interne bus toegepast waardoor ze vlug naar 64 cpu systemen konden gaan.

nu gaan ze verder en hun processor verbeteren.

Enkel 1 nadeel ! Zware processen die single thread zijn hebben hier niet veel voordeel bij. Vooral oudere ERP systemen zoals b.v. Baan en SAP hebben 4gl talen die hier weer niet gebruik van kunnen maken. En dat zijn vooral de sun klanten. Ook databases als oracle hebben userprocessen die een query niet eenvoudig op meerdere thread uitsplitsen.


Dus dit vraagt nieuwe programeer technieken
Nou, die zware applicaties draaien at the moment anders prima op multi proc (SMP) systemen.

Met een kleine aanpassing in je OS hoeft een fysieke processor niet van een fysieke on die processor of een (virtuele) multi threaded proc te onderscheiden te zijn. Kijk maar naar WXP met een hyperthreaded cpu.

En multi threaded programmeren is geen nieuwe programmeer techniek hoor.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True