JavaScript is currently disabled.Please enable it for a better experience of Jumi. Peter simulerar hela datorarkitekturer

Ska simuleringsverktyget Simics bli ett storsäljande svenskt konstruktionsverktyg?

En prestigeorder från Sun ökar de redan stora förhoppningarna hos Simics skapare på företaget Virtutech.



Simulatorn Simics från det nystartade företaget Virtutech i Stockholm är en simulator som på systemnivå kan simulera olika instruktionsmängder. Tanken är att man med hjälp av Simics ska kunna simulera och utvärdera olika processorarkitekturer samt köra avancerade testprogram.

- Det som skiljer Simics från floran av simulatorer är att Simics är designad för att simulera mycket stora system. Simics kan starta Solaris och köra kommersiella tillämpningsprogram ovanpå, säger Peter Magnusson. Han är idag vd för Virtutech som säljer Simics.

- En konstruktör av exempelvis en buss kan använda Simics för att generera testdata, eller för att debugga styrrutiner i systemet.



Klarar flera processorer


Processorarkitekturen skapas med hjälp av Simics som en struktur i ett dataprogram. Den kan även hantera multiprocessorsystem och målmaskinen är vanligen en multiprocessorserver.

Simics efterliknar en viss datorarkitektur på nivån av enskilda instruktioner. Systemnivå innebär att den även emulerar de delar av maskinvaran som vanligtvis endast ett operativsystem jobbar mot, det vill säga avbrott, minnessystem och komponenter som Ethernet- och SCSI-kretsar. Därför kan simulatorn köra verkliga operativsystem och program.

Den simulerade maskinen måste även kunna kommunicera med omvärlden. Den simulerade Ethernetkretsen måste alltså kunna kopplas till det riktiga nätverket.

En simulator, till skillnad mot emulator, kan förutom att köra program även samla detaljerad statistik om både hur programmet beter sig och vad som händer i den underliggande maskinvaran. Statistik är stöd för hur maskin- eller programvaran ska konstrueras.

Utvecklingen av Simics har tagit sju år på Sics, Swedish Institute of Computer Science, under ledning av Peter Magnusson.

En av de första kunderna är dator- och processorutvecklaren Sun Microsystems, som Sics samarbetat länge med inom ramen för forskningen. Virtutech har fått i uppdrag av Sun att utforma en simulator för Suns framtida servrar.

- Gruppen som grundat Virtutech tillhör en av världens absolut främsta när det gäller systemnivåsimulering, säger David Yen, Suns vice vd för Enterprise Server Products i ett uttalande.

- Jag vet faktiskt inte hur stor marknaden är men just nu vill alla vi talar med göra affärer med oss. Förhoppningsvis ska erkännandet från Sun hjälpa oss en bit på vägen, säger Peter Magnusson.

- Vi vänder oss till användare som bygger högprestanda Sparc-baserade system, typ servrar.

- Simics används exempelvis som stöd för konstruktionsbeslut i framtida mikroprocessorgenerationer av Sparc, eller konstruktion av bussystem och komplexa enheter.

Idag körs Simics på en Sparc med Solaris 2.X och klarar att interpretera en Sparc V8 och köra Solaris 2.X, det vill säga SunOS 5.5. En Sparc V8+ och V9- simulator är under utveckling.

Interpretatorn arbetar med objektkod, det vill säga enstaka instruktioner. Peter Magnusson har, mest för att visa att systemet är flyttbart, gjort en version för arbetsstationer från Hewlett-Packard. Det finns också en version för Linux, fritt tillgänglig på Sics hemsida.



Simulerar i upp till 11 MHz


Utformningen av interpretatorn spelar stor roll för vilken prestanda simulatorn får. Idag kör simulatorn program och operativsystem ungefär 30 till 100 gånger långsammare än en verklig dator, dvs i 11 till 3 MHz på en Sparcstation 333 MHz. Själva interpretatorkärnan är idag så komplex att den delvis genereras av speciella hjälpverktyg.

Grundproblemet har varit att samla in information om systemet, samtidigt som man simulerar målmaskinen tillräckligt snabbt för att köra realistiska tester på den. Vid systemutveckling kördes tidigare antingen enklare testprogram vilket gav svagt stöd för processorkonstruktörerna, eller så kördes större tester med resultatet att simulatorn blev extremt långsam.

Virtutechs simulator kan både köra stora program och riktiga operativsystem och göra det snabbt. Som jämförelse kör en vanlig Pentium Xeon-simulator i 100 kHz.

Förutom svårigheten att skriva en snabb, flexibel, och flyttbar interpretator, måste simulatorn efterlikna en riktig maskin för ett operativsystemet. Ofta ingår processorer eller komponenter som ännu inte finns. Användaren kan starta systemet på en simulerad multiprocessorserver, och sedan logga in från vilken Internetuppkopplad dator som helst.

Det finns idag inga direkta konkurrenter till Simics. En grupp på Stanforduniversitetet har utvecklat en simulator, SimOS, som liknar Simics men när allt kommer omkring har de ingen kommersiell produkt att erbjuda.

Så om Virtutech lyckas eller inte beror huvudsakligen på hur väl de själva lyckas övertyga FoU-avdelningarna hos dator- och telekomföretagen att sluta utveckla egna simuleringsverktyg och anlita Virtutech istället.

Jan Sandred

Reporter på Datateknik

www.sics.se/simics/

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)