JavaScript is currently disabled.Please enable it for a better experience of Jumi. Så kan du programmera multikärnan
Posixtrådar eller Erlangprocesser? Det är två diametralt motsatta sätt för programmerare att möta utmaningen från de nya multikärnorna. Elektroniktidningen har hittat två experter beredda att dra en lans för respektive angreppssätt.
Programspråket Erlang är nyckeln till bakom Ericssons framgångar i telekomracken.

Nåja, det finns i alla fall de som hävdar detta. Ericsson har använt språket i ett tiotal år.

Språkets största triumf hittills var kanske när Alteon köpte Ericssonavknopparen Bluetail och dess Erlangprogramvara för 1,4 miljarder kronor år 2000.

Idag finns ett nytt skäl för att välja Erlang: det är ”multikärnevänligt”.

Programmerare som skriver i Erlang har alltid naturligt delat upp sina program i lagom munsbitar - processer - att fördela på parallella kärnor. Det är nästan som om Erlangprogrammen alltid har har gått och väntat på att multikärnorna ska dyka upp.

Och nu när multikärnorna är här kan alla produkter som idag går på Erlang - och det är inte bara Ericsson som använder språket - byta ut sin hårdvara mot multikärnor. Men fortsätta att använda exakt samma Erlangkod. Med högre prestanda genom parallelliteten som följd.

Kenneth Lundin på Ericsson har skrivit en expertartikel om Erlang på beställning av Elektroniktidningen.

Om Erlang representerar programmering av multikärnor på hög abstraktionsnivå, är posixtrådar multikärnor på låg nivå.

Programmeraren använder en version av språket C som utökats med stöd för parallell programmering. Trådar skapas och förstörs. Meddelanden utväxlas, semaforer signalerar och trådar synkroniserar sina aktiviteter.

Ett betydligt svettigare arbete än det Erlangprogrammeraren behöver göra. Men med större flexibilitet och större möjligheter till optimeringar.

Kerry Johnson på QNX har skrivit en expertartikel för Elektroniktidningen där han visar med exempel hur man kan använda posixtrådar i multikärnor.

MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)