Våra senaste
toppartiklar

- CS Jobb:

Han är projektledare
för Star Wars


- Computer Sweden:

"Apple-rapport visar
pyspunka på plattor"



- TechWorld:

Här är de bästa
tipsen för ett
säkrare Java


- Computer Sweden:

Många kärnor prövar hjärnor

Tänk nytt. ”Programmerarna måste tänka nytt”, säger Ulf Wiger från Erlang Solutions om programmering för flera kärnor.
Tänk nytt. ”Programmerarna måste tänka nytt”, säger Ulf Wiger från Erlang Solutions om programmering för flera kärnor.
<strong>Har sex k&auml;rnor.</strong> En processor? Nej, sex. Intel Core i7 har sex k&auml;rnor. Tyv&auml;rr inneb&auml;r det inte att den &auml;r sex g&aring;nger s&aring; effektiv som en ensam processor. F&aring; program kan utnyttja hela kapaciteten.
Har sex kärnor. En processor? Nej, sex. Intel Core i7 har sex kärnor. Tyvärr innebär det inte att den är sex gånger så effektiv som en ensam processor. Få program kan utnyttja hela kapaciteten.
<strong>Tar lite plats.</strong> Flerk&auml;rniga processor tar lite plats p&aring; moderkortet, men beter sig som flera processorer. Tyv&auml;rr &auml;r det f&aring; program som kan dra nytta av kapaciteten.
Tar lite plats. Flerkärniga processor tar lite plats på moderkortet, men beter sig som flera processorer. Tyvärr är det få program som kan dra nytta av kapaciteten.
Att skrämma upp en processor till mer än ungefär tre gigahertz – tre miljarder tick per sekund – lönar sig inte. Strömförbrukningen ökar då mycket snabbare än arbetstakten.

Därför är dagens snabbaste processorer inte snabbare än föregångarna för fyra fem år sedan. I stället har de flera kärnor.

En flerkärnig processor är flera separata processorer, kärnor, sammanbyggda i samma skal. Fyra kärnor i en processor är inte ovanligt, men Intel arbetar på en 48-kärnig processor.

Fyrakärniga processorer är inte fyra gånger så snabba som en processor – ofta tyvärr inte ett dugg snabbare.

Det är som att hyra en åttarummare men ändå sova, äta och titta på tv i samma rum.

Det är en konst att skriva program som grenar upp sig i två eller flera förlopp som kan köras jämsides med varandra i var sin kärna.

Programutvecklingsindustrin är bara i början av en gigantisk inlärningsprocess.

– Det är relativt få utvecklare som egentligen kan och förstår concurrency, säger Stefan Månsby på driftsföretaget Basefarm.

Concurrency innebär att köra ett program som två eller flera samtidiga förlopp. Problemet är att förloppen aldrig är helt åtskilda – i så fall är det två separata program – utan ibland bearbetar samma data, vilket kan ställa till oreda.

Stefan Månsby säger att språk som C och C++ ger ”relativt lite hjälp” för programmering för flera kärnor, medan Java och Apples favoritspråk Objective-C gör det enklare – men ”du måste fortfarande förstå concurrency som begrepp”.

I grunden krävs det att programmerarna slutar att tänka i invanda banor.

– De flesta programmerare är villiga att acceptera att det blir lite krångligare om de bara kan få behålla sina invanda programspråk och verktyg, men det här går djupare än så. De måste lära sig att tänka på ett annat sätt. Ett riktigt paradigmskifte alltså, säger Ulf Wiger, teknisk chef på Erlang Solutions.

En lösning är att skriva program som vanligt och låta kompilatorn ta hand om anpassningen till flerkärniga processorer. Det går, men vinsterna har hittills varit begränsade.

– Man har i flera år forskat på att utveckla tekniker för att få existerande program att automatiskt, eller med minimal arbetsinsats, utnyttja multicore. Det ger väldigt lite, och även de mest optimistiska prognoserna hamnar kring 15 procents uppsnabbning, säger Ulf Wiger.

Men hoppet är inte ute för kompilatorerna.

– Det finns plats för nya programspråk, nya abstraktioner och sätt att strukturera programmen. Det i sin tur öppnar för att kompilatorerna kan göra mer.

Ulf Wiger jämför med skräpinsamling i traditionell programmering. Förr var det något känsligt som programmerarna ville sköta för hand.

Nyare programspråk hanterar det här automatiskt och utan problem.

Kompilering för flerkärniga processorer kan gå samma väg.

Fakta

Utvecklingen mot flera kärnor i processorerna, multicore, beror på att strömförbrukningen ökar drastiskt när klockfrekvensen går över tre gigahertz. Kylningen höjer elräkningen ännu mer.

I stället för att snabba upp processorerna över tre gigahertz, vilket är tekniskt möjligt, bygger man därför ihop två, fyra eller flera måttligt snabba så kallade kärnor i ett skal.

Flera separata processorer i samma dator är en tänkbar lösning, men det kräver mer utrymme och kommunikationen mellan processorerna skulle gå långsammare.

Att utnyttja de olika kärnorna parallellt är enkelt om man kör flera program samtidigt på en persondator. Det kan till exempel vara att man webbsurfar samtidigt som man lyssnar på musik. Det är svårare att göra så att enskilda program utnyttjar alla kärnorna.


Artikelkommentatorerna ansvarar själva för sina inlägg.

Regler för inlägg i artikelforumet

Kommentatorn ansvarar själv för sina inlägg.
Vi har nolltolerans mot inlägg som innehåller diskriminerande uttalanden, personliga påhopp eller språk som kan uppfattas som stötande. Även poänglösa datorkrigsinlägg och inlägg som är off topic tas bort. Brott mot reglerna kan leda till permanent avstängning.

IDG förbehåller sig dessutom rätten att i varje enskilt fall bedöma huruvida ett inlägg ska tas bort, även om det inte faller under någon av reglerna ovan.

Upprepat postande av olämpliga inlägg kan medföra avstängning från artikelforumen.

Frågor? Mejla idg.se@idg.se

Läs mer om vår policy i diskussionsforum

Utvalda jobb

Utvalda whitepaper

Hackarnas strategiska mål
Testa agilt
Virtualisera smart

IDG.se-nyheter via mejl


Nyheter

- Computer Sweden:

HP skyller på
skit bakom
spakarna


- MacWorld:

Hård kritik mot Apples säkerhetstänk


- Internetworld:

"Resan som är lajket värt"


- M3:

"Som att dra
naglarna över
en griffeltavla"

- CS Jobb:

Han är projektledare
för Star Wars


- Computer Sweden:

Heartbleed får jättarna att öppna plånboken


- IDG.se:

Världens mäktigaste röntgenlaser


- M3:

Roota Androiden: Pac Rom ger det bästa av två världar

- TechWorld:

Vad händer efter molnet?


- Computer Sweden:

Säpo vill använda trojaner


- Computer Sweden:

Podcast: "Operatörernas största miss"


"Därför måste Microsoft leva som de lär"

Ledare "Det finns gott om smidigare alternativ för virtualisering och det saknas som bekant inte utmanare till Office", skriver Jörgen Lindqvist.


- Computer Sweden:

"Apple-rapport visar
pyspunka på plattor"


- Computer Sweden:

Robot norpade lägenheter i bostadskö

- TechWorld:

"Teknikskräcken måste bekämpas"


- PC för Alla:

Nu kan du resa tillbaka i tiden med Street View


Cdon minskar förlusten

RESULTAT Cdon redovisar fortsatt förlust, men vd Paul Fischbein gläds åt bolagets tillväxt.


- Computer Sweden:

IBM hårdsatsar
på servrar för
att klå Intel


- M3:

Första livstecknet från Nvidias nästa spelkonsol


Nyhetsbrev
Kontakta oss
Postadressen är:
IDG.se, Karlbergsvägen 77, 106 78 Stockholm

Telefon (växel): 08-453 60 00

Ansvarig utgivare: Carl Grape



Om IDG.se
Copyright © International Data Group
Sök efter artiklar och produkter: