August 22, 2005
Det senaste året har det varit en hel del snack om dual-core lösningar från både Intel och AMD. Med dual-core lösningar talar vi om processorer med två fysiska processorkärnor i samma ”paket”.
Praktikens modell av Intels HyperThreading teknik kan vi kalla det. Genom att processorerna har två fysiska kärnor blir multi-tasking mycket effektivare. De två kärnorna kan då dela upp arbetsbördan från olika program. Just multi-tasking ligger i dagsläget ofta bakom de grövsta prestandaflaskhalsarna i en modern dator. Användare gör allt mer saker samtidigt och för en enskild processorkärna blir det svårt att hänga med i svängarna oavsett hastighet.
Intel har som sagt var deras HT-teknik men detta är långt ifrån en så effektiv lösning som en äkta dual-core processor, något som både AMD och Intel är väl medvetna om.
AMD har nu i ett pressmeddelande gått ut med information om deras kommande dual-core processorer. Processorerna ska baseras på AMD64-arkitekturen och kommer enligt AMDs planer lanseras under 2005. De första modellerna kommer att lanseras för servermarknaden under mitten av 2005 medan desktoplösningarna inte släpps förrän i slutet av 2005.
“To meet customer and partner needs, AMD has been developing its multi-core processors for several years. Since the AMD64 platform was first discussed publicly in 1999, AMD indicated that its AMD64 technology would support multiple-core processors. As more solution providers join the AMD64 ecosystem, the industry is approaching the day when 32-bit-only systems or 32-bit-only dual-core processors will become obsolete.”
Vi ser onekligen fram mot AMDs kommande multi-core processorer och förhoppningsvis kan AMD hålla sin tidsplan för dess lansering.
January 15, 2004
Om det är till någon glädje så kan jag meddela att du inte är ensam om att inte riktigt förstå vad som menas med
Praktikens modell av Intels HyperThreading teknik kan vi kalla det.
Men någon Hyper Threading verkar det inte bli i AMD:s processorer på ett tag i alla fall, fast man vet ju aldrig.
Jag har kanske varit lite väl otydlig i nyheten. Men vad jag menar är att AMDs dual-core processorer just delar upp arbetet över två fysiska kärnor medan Intel HT simulerar två kärnor inom en fysisk kärna.
AMD kommer alltså inte ge sig på simulerad multi-tasking (aka HyperThreading) utan satsar direkt på "äkta" multi-tasking med två integrerade kärnor i samma chip.
Tekniknörd som gillar att träna.
December 11, 2002
HT och dualcore syftar på samma sak, att bättre utnyttja parallelism, alltså att samtidigt köra instruktioner som är oberoende av varandra. Instruktionerna kan komma från samma tråd (program) eller från olika trådar.
Det stora problemet (och samtidigt det minst kända) idag är dock att det är ytterst få som vet hur man skriver ett program som effektivt kan utnyttja den parallellismen som alltid finns. Många av dagens operativsystem är också dåliga på att utnyttja den. Så länge detta kvarstår så kvittar det faktiskt hur många kärnor din processor har (eller hur många trådar den HT-processor kan köra), eftersom du ändå bara kan ytnyttja en bråkdel av dem. En liknelse - så länge som du sitter fast i bilkön så kvittar det hur snabb din bil är eftersom du ändå kan inte köra fortare än 10 km/h.
Vitamin-C: Det skulle egentligen redan funnits en sådan processor - Alpha 21464. Den var i princip färdig när Compaq lade ned hela Alpha-familjen. orkar inte leta upp data på den just nu. Vem som köpte tekniken bakom den? Intel...
/Kenrih
November 29, 2001
Kenrih wrote:
Det stora problemet (och samtidigt det minst kända) idag är dock att det är ytterst få som vet hur man skriver ett program som effektivt kan utnyttja den parallellismen som alltid finns. Många av dagens operativsystem är också dåliga på att utnyttja den. Så länge detta kvarstår så kvittar det faktiskt hur många kärnor din processor har (eller hur många trådar den HT-processor kan köra), eftersom du ändå bara kan ytnyttja en bråkdel av dem. En liknelse - så länge som du sitter fast i bilkön så kvittar det hur snabb din bil är eftersom du ändå kan inte köra fortare än 10 km/h.
Personligen tycker jag att det problemet är överdramatiserat.
Säg att vi kör ett spel.
Spelet kräver en thread.
Grafikkortsdrivrutinen en annan.
Ljudkortsdrivrutinen en annan.
OS:et ett par egna.
Hårddisken när den är mycket belastad suger gärna åt sig CPU-cykler.
I bakgrunden finns det också alltid ett par program som ligger och kör. Antivirus, brandvägg, IM-klienter, fildelningsklienter osv.
Det är inte så mycket med absolut nog för att iaf två processorer ska göra ganska markant skillnad.
August 7, 2003
Kenrih wrote: Vitamin-C: Det skulle egentligen redan funnits en sådan processor - Alpha 21464. Den var i princip färdig när Compaq lade ned hela Alpha-familjen. orkar inte leta upp data på den just nu. Vem som köpte tekniken bakom den? Intel...
Kolla in IBM's Power4(+) processorer om ni vill se exempel på redan existerande (sedan ett par år tillbaka) processorer med dubbla kärnor.
December 11, 2002
UndaC wrote:
Personligen tycker jag att det problemet är överdramatiserat.
Säg att vi kör ett spel.
Spelet kräver en thread.
Grafikkortsdrivrutinen en annan.
Ljudkortsdrivrutinen en annan.
OS:et ett par egna.
Hårddisken när den är mycket belastad suger gärna åt sig CPU-cykler.I bakgrunden finns det också alltid ett par program som ligger och kör. Antivirus, brandvägg, IM-klienter, fildelningsklienter osv.
Det är inte så mycket med absolut nog för att iaf två processorer ska göra ganska markant skillnad.
Du har en poäng med ditt resonemang men redan idag klara vi att köra det mesta av det du nämner på en processor. Det är bara spelet som är så tungt att det behöver mer kraft än en processor. Tänk ett scenario med fyra processorer (single, dualcore eller quadcore, det kvittar). Säg att OS:et tar upp en hel processor. Ditt spel kör på en processor. Vad gör de andra två? Inget. För att utnyttja dem så behöver du utnyttja den parallellism som finns inuti spelet. Det räcker inte att bara göra det flertrådat, trådarna måste också vara oberoende för att det ska bli riktigt effektivt. Är de inte det så kommer de den största delen av tiden att stå stilla och vänta.
Något som jag missade att nämna var att jag betraktade problemet mer från en serversynpunkt än en desktop dito. I server-världen har du ännu mer processorer och problemet är också större där.
Det finns två lösningar: tvinga programmerarna att lära sig skriva parallella program eller att konstruera verktyg som gör jobbet om dem. Det första kräver ett paradigmskifte och det andra kan aldrig bli riktigt effektivt.
Laglorden wrote:
Kolla in IBM's Power4(+) processorer om ni vill se exempel på redan existerande (sedan ett par år tillbaka) processorer med dubbla kärnor.
Power4 kan bara köra en tråd/kärna. Kärnorna på 21464 skulle kunna köra flera trådar. Power5 som snart kommer att lanseras kommer dock att klara av det.
January 15, 2004
Kenrih wrote: Något som jag missade att nämna var att jag betraktade problemet mer från en serversynpunkt än en desktop dito. I server-världen har du ännu mer processorer och problemet är också större där.
Jag skulle snarare säga att det är lättare att utnyttja flera processorer på en server.
En server hanterar flera användare och varje användare kan handeras av en tråd som är nästintill helt oberoende av de andra användarnastrådar. Eller om du t.ex. skulle använda en server till att kompilera källkod finns massvis med parallelism att utnyttja för större projekt.
På en persondator kör du iofs en himla massa trådar, fast de flesta använder väldigt lite processorkraft, en "normal" användare kör inte två tunga jobb samtidigt allt för ofta.
November 29, 2001
Kenrih wrote:
Du har en poäng med ditt resonemang men redan idag klara vi att köra det mesta av det du nämner på en processor. Det är bara spelet som är så tungt att det behöver mer kraft än en processor. Tänk ett scenario med fyra processorer (single, dualcore eller quadcore, det kvittar). Säg att OS:et tar upp en hel processor. Ditt spel kör på en processor. Vad gör de andra två? Inget. För att utnyttja dem så behöver du utnyttja den parallellism som finns inuti spelet. Det räcker inte att bara göra det flertrådat, trådarna måste också vara oberoende för att det ska bli riktigt effektivt. Är de inte det så kommer de den största delen av tiden att stå stilla och vänta.
Det beror lite på. Sammanlagt bakgrundsskräp drar oftast inte mer än någon enstaka procent CPU-kapacitet, men HDD-access ställer ofta till men använing på upp till 10 %, ännu mer om vi talar RAID.
Vad det gäller drivrutiner så är de beroende av kvick respons.
Det ultimata vore ju då att lägga spelet nästan "ensamt" på en CPU och sedan allt annat på den andra.
Men men, det stämmer det du säger såklart. Främst gäller det ju när vi börjar tala om fle rän två processor.
Just två tycker jag man kan ha god nytta av redan idag. Mer än så är totalt poänglöst för desktopen än så länge dock.
Synd att det inte tillverkas entusiastgrejer för SMP bara, moderkorten brukar inte vara så himla nice tex.
August 7, 2003
UndaC wrote: Det beror lite på. Sammanlagt bakgrundsskräp drar oftast inte mer än någon enstaka procent CPU-kapacitet, men HDD-access ställer ofta till men använing på upp till 10 %, ännu mer om vi talar RAID.
Vad det gäller drivrutiner så är de beroende av kvick respons.
Det där talar ju mera för Intels lösning med HyperThreading än för dual-core. Där har man ju kanske 1 & 1/10-dels processor så även om man är upptagen 100% så finns det "lite till" att klämma ut för saker vid sidan om när Windows eller nåt annat får krupp.
I HT-fallet är det så att processorerna blivit mer och mer komplicerade och innehåller fler och fler parallella steg (flera FP-enheter, flera enheter för branchprediction osv) så det finns kraft över ibland och då har någon kommit på den smarta idèen "varför inte utnyttja denna "gratis-kraft" för att göra en extra "virtuell" processor"
I dual-core har någon sett att allteftersom teknologin krymper så finns det massa "ledig plats" som kan utnyttjas... så varför inte klämma in en procesor till på samma plats. Dessutom har fler och fler program (och programutvecklingsverktyg) blivit bättre och bättre på att parallellisera saker, men där är det mer ett resonemang om "vi kan inte hoppa högre, så vi måste hoppa bredare..." :blink:
Personligen tror inte jag att jag kommer använda en extra processor, men allt är ju beroende på kostnad. Om en dubbelproc kostar dubbelt så mycket, så nej tack... Om den kostar 20% än en singel... så ska jag fundera på saken 🙂
Det är fortfarande mest för servers.
1 Guest(s)