Gå til innhold

Intel befester ytelsestronen


Anbefalte innlegg

Videoannonse
Annonse
Jeg ser for meg en overgang i flere steg:

1. Legge til nye instruksjonssett på x86 som mikrokodeutvidelse. Det nye instruksjonssettet må kunne erstatte alt som x86 inneholder. Det gjør utviklerne i stand til å forberede seg på framtida.

2. Legge inn hardware-akseleratorer for det nye instruksjonssettet i x86-prosessorer. Det gjør at noen utviklere ser vitsen med å bruke det i praksis.

3. Fokusere utvikling av ytelse på den nye delen av prosessoren og mindre på x86. Det gjør at populariteten vil øke.

4. Fase ut x86 hardware men fortsatt kjøre x86 emulert. Det vil gjøre at utviklere mister interessen for gamle x86.

Har mer tro på følgende fremgangsmåte:

 

1) Alle hardware produsenter går den veien de mener er best (for dem/for kundene).

2) Det standardiseres på Hypervisor nivå, men ISA spesifikk Hypervisor og standardisert interface mot OS.

3) OS og applikasjoner bygges generisk og kompileres mot attraktive ISA for gitte OS og applikasjon. Forskjellen fra i dag er at OS ikke behøver ISA spesifikk implementering fordi den baserer seg på hypervisor call.

4) Survival of the fittest.

 

Ikke så idealistisk, men det ser ut til å gå denne veien. Java og .net gjør applikasjonsdelen litt enklere for de tilfeller hvor ytelse ikke er kritisk hvilket antagelig innbefatter de aller fleste programmer.

 

I tillegg til dette vil det komme co-prosessorer i lange baner nå fremover og tiden vil vise hvilke som overlever. Jeg tror nettverk off-load, hardware thread scheduling og generell dataparallell co-prosessor vil slå an veldig bra, men den store utfordringen er å fortsette ytelsesskaleringen av typen SPECint (ikke rate) uten autopar. Kan diskuteres hvor viktig det er, spesielt på kort sikt, men det er definitivt det vanskeligste.

 

Det som blir interessant er hvor de velger å gå i punkt 1). Intel er egentlig den eneste med særlig valgmulighet per i dag. De kan gå for x64 og IA-64 og se hvor det ender. x64 er en stygg hack oppå x86 og IA-64 er det mest avanserte ISA verden har sett til nå. Vi får se. Jeg tipper IA64 vil nå ca 50% høyere ytelse per tråd ved samme watt/tråd innen utviklingen av IA-64 flater ut slik som x86 har. f.eks er det interessant å merke seg at 90nm implementasjonen av IA-64 er verdens raskeste på SPECfp_base for single core. Verken 65nm Power 6, 65nm Opteron eller 65nm Xeon kan slå den. Kanskje 45nm Xeon klarer dødt løp? Sier litt når gevinsten fra 1-2 prosess generasjoner går tapt i et ineffektivt ISA.

Endret av Anders Jensen
Lenke til kommentar
"hvor ytelse ikke er kritisk".

 

Jeg opplever det som at ytelse blir mer og mer kritisk ift til leveranser av løsninger og hva kunder forventer av løsningen.

Har du noen anelse om hvor stor del av dagens koding som blir gjort i Java og .net? Ingen av de er per definisjon optimalisert for ytelse. C++ og Fortran er genialt for høy ytelse men ingen gidder å programmere i dette lengre med mindre de må. Det sier litt om hvor lite viktig ytelse er utover en del kjerne applikasjoner.

Lenke til kommentar
"hvor ytelse ikke er kritisk".

 

Jeg opplever det som at ytelse blir mer og mer kritisk ift til leveranser av løsninger og hva kunder forventer av løsningen.

Har du noen anelse om hvor stor del av dagens koding som blir gjort i Java og .net? Ingen av de er per definisjon optimalisert for ytelse. C++ og Fortran er genialt for høy ytelse men ingen gidder å programmere i dette lengre med mindre de må. Det sier litt om hvor lite viktig ytelse er utover en del kjerne applikasjoner.

 

Jeg ville heller foreslå en "virtual processing(software basert CPU)" med en mulighet til å "Gå rundt" den virtuelle cpu'en og gå direkte til den fysiske CPU'en ved kritiske oppgaver,hvor max ytelse er påkrevd. I dag blir jo skjermkort,lydkort,kontrollere,etc implementert i systemet,ved hjelp av drivere. Dette kalles HAL(Hardware Agnostic Layer) DirectX er ett eksempel på HAL,så hvorfor kan ikke det neste skrittet bli å gjøre hele OS'et om til HAL,og alle OS funksjoner blir dirigert gjennom HAL. Da vil det i fremtiden være mye lettere å migrere til en annen arkitektur.

 

Jeg har lest om slik forskning,og utvikling,på slike systemer,og syns det virker veldig intr. Men mulig denne teknologien ikke er moden nok ennå.

Lenke til kommentar
Har du noen anelse om hvor stor del av dagens koding som blir gjort i Java og .net? Ingen av de er per definisjon optimalisert for ytelse. C++ og Fortran er genialt for høy ytelse men ingen gidder å programmere i dette lengre med mindre de må. Det sier litt om hvor lite viktig ytelse er utover en del kjerne applikasjoner.

Er ganske langt på vei enig med deg, men jeg mener hovedpoenget ikke er hvor mange applikasjoner som blir skrevet i språk X eller Y, men heller hvor mange prosent av alle applikasjoner som er ytelseskritiske. For det første er det langt fra alle applikasjoner som er ytelseskritiske overhodet, men også applikasjoner som har ytelseskritiske deler kan disse heller skrives i et "ned til beinet"-språk som C eller C++ og resten av applikasjonen i et høynivåspråk som Java, .NET eller til og med skriptspråk som Perl, Python, Ruby, osv.

 

Dette gjør videreutvikling, testing og vedlikehold av størstedelen av applikasjonen enkel, så kan man heller ha et fåtall ekstremt flinke kjerneprogrammerere til å vedlikeholde og videreutvikle den ytelseskritiske koden som er skrevet i C, C++, Fortran eller hva.

Lenke til kommentar
Dette kalles HAL(Hardware Agnostic Layer) DirectX er ett eksempel på HAL,så hvorfor kan ikke det neste skrittet bli å gjøre hele OS'et om til HAL,og alle OS funksjoner blir dirigert gjennom HAL. Da vil det i fremtiden være mye lettere å migrere til en annen arkitektur.

Gode tanker, men da er det naturligvis viktig å ikke gjøre som DirectX; å låse API-et til en enkelt leverandør. Dette må selvsagt basere seg på åpne standarder, utviklet i samarbeid mellom de ulike aktørene i bransjen.

 

PS: Heter det ikke Hardware Abstraction Layer? ;)

Lenke til kommentar
"hvor ytelse ikke er kritisk".

 

Jeg opplever det som at ytelse blir mer og mer kritisk ift til leveranser av løsninger og hva kunder forventer av løsningen.

Har du noen anelse om hvor stor del av dagens koding som blir gjort i Java og .net? Ingen av de er per definisjon optimalisert for ytelse. C++ og Fortran er genialt for høy ytelse men ingen gidder å programmere i dette lengre med mindre de må. Det sier litt om hvor lite viktig ytelse er utover en del kjerne applikasjoner.

Det er jeg fullstendig klar over :) Men jeg tror ikke det er fordi at ytelse ikke er viktig, men fordi man ønsker å gjøre det enklere og billigere å utvikle og vedlikeholde løsninger.

 

Men som nevnt er det ytterst få ting som er reellt ytelseskritiske. Eks. er det nok viktig at systemer i et flytårn osv går som de skal. Mens en applikasjon hos en stor organisasjon som sitter med telefonservice eller i en bank heller ikke bær være for trege med tanke på at de håndterer kunder pr. telefon, men alikevel er de ikke på samme måte ytelseskritiske.

Lenke til kommentar
Jeg ser for meg en overgang i flere steg:

1. Legge til nye instruksjonssett på x86 som mikrokodeutvidelse. Det nye instruksjonssettet må kunne erstatte alt som x86 inneholder. Det gjør utviklerne i stand til å forberede seg på framtida.

2. Legge inn hardware-akseleratorer for det nye instruksjonssettet i x86-prosessorer. Det gjør at noen utviklere ser vitsen med å bruke det i praksis.

3. Fokusere utvikling av ytelse på den nye delen av prosessoren og mindre på x86. Det gjør at populariteten vil øke.

4. Fase ut x86 hardware men fortsatt kjøre x86 emulert. Det vil gjøre at utviklere mister interessen for gamle x86.

Om man skal henge igjen med x86-støtte i mange år videre, vil ikke det gjøre at man ikke klarer å øke ytelse/frekvens like hurtig som det man i prinsippet burde kunne? x86 begynner jo mildt sagt å bli gammelt og utdatert.

Det jeg krysser fingrene for er at IA-64 kommer til å bli brukt mot flere desktop-maskiner også innen noen år. Hvis en del utviklere da ser fordelen med en solid ISA kan man få mer og mer tilrettelegging for IA-64, og man ender opp med at x86 blir uinteressant fordi IA-64-prosessorer danker dem ut. Kraftig markedsføring og fortsatt utvikling kan føre til noe slikt.

Lenke til kommentar
Dette kalles HAL(Hardware Agnostic Layer) DirectX er ett eksempel på HAL,så hvorfor kan ikke det neste skrittet bli å gjøre hele OS'et om til HAL,og alle OS funksjoner blir dirigert gjennom HAL. Da vil det i fremtiden være mye lettere å migrere til en annen arkitektur.

Gode tanker, men da er det naturligvis viktig å ikke gjøre som DirectX; å låse API-et til en enkelt leverandør. Dette må selvsagt basere seg på åpne standarder, utviklet i samarbeid mellom de ulike aktørene i bransjen.

 

PS: Heter det ikke Hardware Abstraction Layer? ;)

 

Hoho...Jeg var litt trøtt i natt jeg tror jeg,hehe Jepp,du har rett. Det var Hardware Abstraction Layer jeg faktisk mente,hehe Ja,åpne standarder er løsningen for fremtiden(slik burde det alltid ha vært) DirectX er jo ikke noe annet enn Microsoft sin måte å låse utviklere,og brukere til Windows. OpenGL er jo en slik åpen standard,og slik jeg har forstått,er ikke den så mye dårligere enn DirectX. Om utviklere hadde samlet seg,og satset på videre utvikling av OpenGL,så ville det nok ikke tatt lange tiden å gå forbi DirectX i utvikling.

Lenke til kommentar
Dette kalles HAL(Hardware Agnostic Layer) DirectX er ett eksempel på HAL,så hvorfor kan ikke det neste skrittet bli å gjøre hele OS'et om til HAL,og alle OS funksjoner blir dirigert gjennom HAL. Da vil det i fremtiden være mye lettere å migrere til en annen arkitektur.

Gode tanker, men da er det naturligvis viktig å ikke gjøre som DirectX; å låse API-et til en enkelt leverandør. Dette må selvsagt basere seg på åpne standarder, utviklet i samarbeid mellom de ulike aktørene i bransjen.

 

PS: Heter det ikke Hardware Abstraction Layer? ;)

 

Men uansett,så er poenget mitt fremdeles gyldig. At vi i dag er knyttet til en bestemt arkitektur,vil ikke alltid være en realitet. Ved hjelp av teknologier som Heterogeneous Parallell Processing,Virtual Processing,samt HAL,så spiller det ingen rolle noe mer,hvilken CPU arkitektur man har. Dette igjen vil jo åpne opp for konkurranse mellom ulike CPU arkitekturer,og i tillegg til å ha åpne standarder,som utviklere samarbeider med å utvikle,gjennom ett felles panel.

Dette vil jo faktisk være med på å åpne opp konkurransen i alle ledd(OS,Hardware)

Lenke til kommentar

Vel IA-64 har et HAL, men ikke slik det snakkes om her. Du kan ikke bare laste ned et nytt ISA og kjøre på. Den ideen er et typisk resultat av programmerere som kommer opp med hardware ideer. De hiver inn masse kul funksjonalitet uten å tenke på at det vil påvirke ytelsen svært sterkt i negativ retning. Når en designer hardware så er det tre ord som gjelder: Keep It Simple. Hver eneste ekstra funksjon som ikke er nødvendig er bortkastet effekt, areal og redusert ytelse. Videre er det om å gjøre å redusere antall frie variabler rundt hver eneste instruksjon. Hvis f.eks det er usannsynlig at en behøver høy throughput på square root, så bør en ikke implementere høy throughput på denne instruksjonen heller. Faktisk er det mange som har kommet til at resultatet blir bedre om en fjerner hele SQRT støtten i hardware og heller krever en software implementasjon. For IA64 sin del har de vel strukket dette enda lengre og fjernet divisjon også. Alt for å få høyere ytelse. Knepet er å ha så få og så enkle instruksjoner som mulig.

Endret av Anders Jensen
Lenke til kommentar
- Varmeutviklingen er helt avsindig.

Helt klart global oppvarming, men det virker som om testen fra Anandtech skiller seg mer ut fra de andre, mht varmeutvikling. Andre tester viser en mer moderat økning i strømforbruk.

 

Personlig ville jeg ikke gått for denne varmovnen...

 

 

Ryktet om den "avsindige" varmeutviklingen skyldes Anandtech sitt Asus P5E3 HK som viste seg og ikke være helt kompatibelt med QX9770.

 

Jeg kjører min Q6600 G0 på 3.4ghz uten den helt "avsindige" varmeutviklingen, som mange andre også gjør - Penryn baserte CPUer vil nok gå betydelig kjølere ved samme frekvens.

 

Moral: Ikke døm ett prerealese produkt uten skikkelig bios støtte enda... ;)

Endret av PerUlv2
Lenke til kommentar

anandtech sier at prosessoren var overvoltet 3.8% pga en inkompatibilitet i BIOS versjonen som ble brukt. Det vil gi en økning i dynamic power på 12.7% og antagelig enda større økning i lekkasje. Videre kjører QX9770 på 6,7% høyere frekvens som gir ytterligere 6,7% høyere dynamic power, men jeg har ikke data til å si noe om frekvensen påvirker lekkasjen direkte. Frekvensøkning og spenningsøkning skal gi en økning i dynamic power på 20,2%. Økningen i lekkasje effekt er antagelig i samme området. Testen viser imidlertid en økning i effektforbruket på 40% over QX9650. De sier videre at med ny BIOS ble det nye effektforbruket bare 15,6% høyere enn QX9650. Individuelle forskjeller mellom prosessorer av samme SKU er også fullt mulig og må tas med i betraktningen.

 

Link:

http://www.anandtech.com/weblog/showpost.aspx?i=313

Endret av Anders Jensen
Lenke til kommentar
Om man skal henge igjen med x86-støtte i mange år videre, vil ikke det gjøre at man ikke klarer å øke ytelse/frekvens like hurtig som det man i prinsippet burde kunne? x86 begynner jo mildt sagt å bli gammelt og utdatert.

Joda, enig i det. Men det innebærer også å kaste bakoverkompatibel ytelse på sjøen og det er et markedsmessig selvmordsforsøk. Hvordan skal brikkefirma B klare å selge noe som må emulere x86 med heller tvilsom ytelse når det aller meste av programvare er x86?

 

Det jeg krysser fingrene for er at IA-64 kommer til å bli brukt mot flere desktop-maskiner også innen noen år. Hvis en del utviklere da ser fordelen med en solid ISA kan man få mer og mer tilrettelegging for IA-64, og man ender opp med at x86 blir uinteressant fordi IA-64-prosessorer danker dem ut. Kraftig markedsføring og fortsatt utvikling kan føre til noe slikt.

Jeg krysser fingrene for at IA-64 aldri kommer til desktop-maskiner. Hvorfor? Fordi IA-64 ikke kan konkurranseutsettes. Kun en eneste produsent i verden har og vil noen gang ha lov til å produsere prosessorer med det ISA'et på grunn av infløkte rettighetsforhold; intel. IA-64 er lekkert og glimrende teknisk sett, men er dessverre en lisensmessig katastrofe for brukerne. IA64 er i praksis ekvivalent med monopol.

Lenke til kommentar
Det jeg krysser fingrene for er at IA-64 kommer til å bli brukt mot flere desktop-maskiner også innen noen år. Hvis en del utviklere da ser fordelen med en solid ISA kan man få mer og mer tilrettelegging for IA-64, og man ender opp med at x86 blir uinteressant fordi IA-64-prosessorer danker dem ut. Kraftig markedsføring og fortsatt utvikling kan føre til noe slikt.

Jeg krysser fingrene for at IA-64 aldri kommer til desktop-maskiner. Hvorfor? Fordi IA-64 ikke kan konkurranseutsettes. Kun en eneste produsent i verden har og vil noen gang ha lov til å produsere prosessorer med det ISA'et på grunn av infløkte rettighetsforhold; intel. IA-64 er lekkert og glimrende teknisk sett, men er dessverre en lisensmessig katastrofe for brukerne. IA64 er i praksis ekvivalent med monopol.

Hvis vi får et tilsvarende godt alternativ, som atpåtil er åpent, på markedet snart så hadde jo det vært det beste :) Men kommer det til å skje?
Lenke til kommentar
Det jeg krysser fingrene for er at IA-64 kommer til å bli brukt mot flere desktop-maskiner også innen noen år. Hvis en del utviklere da ser fordelen med en solid ISA kan man få mer og mer tilrettelegging for IA-64, og man ender opp med at x86 blir uinteressant fordi IA-64-prosessorer danker dem ut. Kraftig markedsføring og fortsatt utvikling kan føre til noe slikt.

Jeg krysser fingrene for at IA-64 aldri kommer til desktop-maskiner. Hvorfor? Fordi IA-64 ikke kan konkurranseutsettes. Kun en eneste produsent i verden har og vil noen gang ha lov til å produsere prosessorer med det ISA'et på grunn av infløkte rettighetsforhold; intel. IA-64 er lekkert og glimrende teknisk sett, men er dessverre en lisensmessig katastrofe for brukerne. IA64 er i praksis ekvivalent med monopol.

Hvis vi får et tilsvarende godt alternativ, som atpåtil er åpent, på markedet snart så hadde jo det vært det beste :) Men kommer det til å skje?

Mest sannsynlig at Intel blir presset til å åpne opp patenter rundt IA64 etter en stund. Selve instruksjonssettet er faktisk åpent, det er optimaliseringene som er patenterte.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...