Re: FreeBSD og itanium 2

From: Jesper Louis Andersen (none@jlouis--mongers.org.lh.bsd-dk.dk)
Date: Thu 27 Nov 2003 - 23:47:09 CET


From: "Jesper Louis Andersen" <none@jlouis--mongers.org.lh.bsd-dk.dk>
Date: Thu, 27 Nov 2003 23:47:09 +0100
To: bsd-dk@bsd-dk.dk
Subject: Re: FreeBSD og itanium 2

Quoting Poul-Henning Kamp (phk@phk.freebsd.dk):

> I teorien har Itanic en masse fremtid i sig.

Det tror jeg ikke. Itanic er en pseudo-VLIW chip, der i teorien
kan performe meget godt, men i praksis er saa staerkt afhaengig af
en effektiv compiler at det er uhyggeligt. Hvis du ikke kan software-
schedulere dine instruktioner saa de ligger perfekt ryger performance
sig turen. Dertil kommer at de imponerende specs man ser i floating
point performance skyldes at koden er blevet genoversat med profilerings-
hints.

Til rene integeroperationer lader det til at chippen er langsom. Den burde
ellers have alle muligheder med branch coloring og andet godt.

Itanic har desuden et ISA, der er saa avanceret at jeg grimmes ved at
skulle kode eventuelle compilere til den. De fleste har da ogsaa holdt
sig langt vaek.

Jeg kan huske vores kaere arkitekturforelaeser paa DIKU da han gennemgik
Itanic. Hans sidste slide var en sammenligning mellem en Itanium2 og en
Alpha 21264. Gaet hvem der performede bedst. Dertil kommer at der ikke
er udviklet paa Alphaens compiler gennem den seneste tid, saa de faa
FP-tests hvor den fik bank ser nok i virkeligheden ikke saa staerkt
ud for Itanium.

> Det er utvivlsomt derfor Opteron har fået sig venner som IBM og Sun
> for den har ikke på samme vis det langsigtede potientiale der kan
> true Sparc og Power maskinerne, hvorimod Intel med Itanic, hvis de
> kunne bruge et stort server marked som sprinbræt, kunne konkurrere
> med dem begge. Så efter "min fjendes fjende er min ven" princippet
> er IBM og Sun glade for AMD og Opteron. (Det kan blive en grum
> fejltagelse, for specielt Sun.)

Opteron finder jeg heller ikke specielt interessant. Det er ''bare'' en
chip efter den gamle moelle med at tage en x86, udvide den lidt, smide
noget decode-into-myop ind i chippen og saa koere skidtet paa den gamle
RISC-moelle. Det er positivt at se at man nu har hele 16 registre, men
alle ordentlige ISA'er ligger med 32 der. Det er ogsaa positivt at se
man har en MMU med en x-bit per page. Jeg ved dog ikke om den benytter
inverse-mapped memory (men jeg kan forvente det med et near-64-bit address
space).

Det jeg derimod saa paa med stor interesse var ILDP eller
''Instruction Level Distributed Computing'' (soeg den paa google, der er
masser af gode artikler i de foerste par links). Grundliggende handler
det om at spoerge sig selv om hvad man ville goere med ''Keep it simple,
stupid'' princippet igen, hvis man nu har de erfaringer man havde gjort
sig med RISC igennem de sidste 15 aar. Og det er rigtigt interessant.
Man kan designe CPU'er der er langt simplere end de out-of-order, pipelinede
superskalare processorer men designer i dag. Det er klart at jo flere
execution units, jo mere ledt bliver det at for dem fyldt op. Ideen i
ILDP er netop den at dele programmet op tidligere (eventuelt med hjaelp
fra en compiler[1]) og saa koere ting parallelt. Men denne gang uden
afhaengigheder mellem de forskellige execution units. Det fjerner en
masse baner inde i cpuen og goer det nok noget nemmere. Samtidig bliver
cpu'en simplere og man kan presse klokcyklus endnu mere i vejret.

Saa har jeg ogsaa gjort rede for ''teoretisk'' i det jeg har citeret
fra dig.

[1] Jeg har kigget lidt paa det og det ser i modsaetning til Itanic ud
til at vaere muligt at komme langt her med en simpel heuristik, som man
goer saa mange andre steder i compilere.

-- 
j. 



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:33 CET