Skriv ut
Du har tio miljoner rader gammal kod och funderar på att flytta den till en multikärna. Men tänk om du lägger ner massor av pengar och det visar sig att den inte kan parallelliseras?
En del av lösningen kan vara verktyget Prism från Criticalblue. Det genererar inte kod utan är bara en simuleringsmiljö för forskning kring din mjukvaras parallelliserbarhet. Innan du plockar fram plånboken för att parallellisera på riktigt.

– Analytiker blir besvikna när de får höra att vi inte generar kod. Men kunderna är förtjusta, säger David Stewart.

– Många är motvilliga att börja göra några ändringar i sin kod innan de är säkra på att det kommer att ge resultat. Och de litar inte på automatgenererad kod. De vill inte se en miljon programrader försvinna och ersättas av syntetiserad kod som de inte förstår.

– Istället vill de ha hjälp att hitta sina egna sätt att parallellisera koden. Med minimala ändringar.

I Prism kan du botanisera bland dina källkodsfiler och ge instruktioner som "lägg den här funktionen i en separat tråd". Därefter får du feedback i form av en simulerad körning som visar vilka prestanda koden skulle kunna ge dig. Gradvis ser du en parallelliserad kodstruktur växa fram.

Delvis konkurrerar Prism med klassiska profileringsverktyg.

- Men sådana kan bara visa vilka delar av koden som används mycket.

Prisms verktyg kan också se vilka databeroenden som fyller en faktisk funktion och vilka som bara existerar av en slump för att programmeraren exempelvis återanvänder minne för att sparar plats.

Du kan också bolla med hårdvaruparametrar, som vilken processor som används och hur många kärnor.

Svenska Virtutech har hjälpt Criticalblue ta fram processormodeller för bland annat en Freescaleprocessor. Virtutech kallar Prism för ett "perfekt komplement" till den egna processorsimuleringsmiljön Simics.

Modeller finns idag för bland annat ARM11 MPCore och MIPS-kärnor, medan Power och SH4 är under utveckling.

Bland pilotanvändarna finns Freescale, NEC Electronics,  Renesas och Toshiba.

– Priset är också bra, bara 200 dollar per användare och månad. säger David Stewart.

Criticalblue och Intel delar ordförandeskapet för gruppen Best programming architectures inom organisationen Multicore Association.