JavaScript is currently disabled.Please enable it for a better experience of Jumi. Vector Fabrics: Så analyserar man C-kod för parallellisering

Embedded expertDet som generellt ställer till problem vid parallellisering av programvara är olika typer av beroenden som finns mellan programmets delar. Mike Beunder, vd för holländska Vector Fabrics, berättar mer i en exklusiv artikel för Elektroniktidningen.

Klicka här
för nedladdning!
PDF, 900 kbyte
.
embex Fler kostnadsfria rapporter finns på etn.se/expert

Du har fått i uppgift att parallellisera ett gammalt C-program? Men hur i all världen ska du kunna dela upp denna spaghetti av programtrådar på flera tallrikar?

Företaget Vector Analytics har skrivit en artikel för Elektroniktidningen som inte svarar frågan – den strör bara salt i såren och visar hur svårt det kan vara och de potentiellt förödande konsekvenserna av misstag – spaghettitrådarna kan klistra ihop med varandra och sabotera parallellisering på diverse subtila sätt.

Att räkna ut var alla dessa beroenden finns är inte lätt. Om beroenden förbises kan det resultera i en parallell version av ett program som skiljer sig funktionellt från originalet.

Pekare, nästlade loopar och implicit initiering av variabler är några av problemområdena. Ett stort problem är att det ofta inte är möjligt att analysera beroendena statiskt – de syns inte förrän programmet körs.

Ett tidigt försök att hantera pekarproblematiken var att helt enkelt förbjuda pekarna. Det lägger en enorm börda på ingenjören, som ofta inte är kodens ursprungsförfattare och som därmed kanske inte ens känner till strategin bakom kodens formulering.

Men räddning finns! Artikeln avslutas med att författaren nämner företagets utvecklingsverktyg vfAnalyst, som hjälper dig upptäcka programtrådarnas beroenden, och lösa upp dem.

Rapporten finns här (pdf).

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@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)