Smart planering ger snabbare och säkrare datasystem
Genomtänkt och lagom mycket information kan ge högre prestanda i datasystem, framgår det av en doktorsavhandling som presenterades nyligen vid Mälardalens högskola. Resultaten i forskningen kan tillämpas både i högpresterande och i säkerhetskritiska datorsystem.
Författare är Xavier Vera, Institutionen för Datavetenskap, vid Mälardalens högskola. Han beskriver sin forskning så här:
”Vem har inte drömt om att äga en Ferrari? Detta italienska märke är känt för glamour och prestanda. Dock är tillförlitligheten ett problem. Tänk dig att du äger en luxuös F40. Hur lång tid skulle det ta att köra tvärs över USA? Mitt svar är: ”Det beror på hur fort du kan få fram reservdelar varje gång bilen går sönder”. Om vi har en långsam lastbil som transporterar reservdelarna, är det i själva verket lastbilens hastighet som bestämmer tiden. Ett sätt att få fram delarna snabbare är att ha en snabbare bil (säg, en BMW) som transporterar delar från lastbilen. Problemet är att den har ett litet bagageutrymme. Denna lösning är alltså effektiv bara om vi kan förutsäga vilka problem vår Ferrari kommer att få, så vi kan lasta rätt reservdelar från början. Om den snabba bilen kommer fram till Ferrarin utan rätt reservdelar, måste båda vänta på den långsamma lastbilen i alla fall.
Problemet är att denna information är svår att få. Vädret, resrutten, trafiken … alla dessa faktorer kan påverka bilens tillförlitlighet och vilka reservdelar vi bör lägga i bagageutrymmet för att slippa vänta mer än nödvändigt på lastbilen. Men kan man förutsäga dessa faktorer kan man dels förutsäga bättre hur lång tid resan tar, och dels förkorta restiden
genom att lasta rätt reservdelar.”
Avhandlingen handlar dock inte om bilar, utan om datorer och hur man kan få dem att gå med förutsägbar, hög hastighet. Ferrarin motsvarar den snabba processor som sitter i en dator idag. Den långsamma lastbilen svarar mot datorns primärminne: ett problem i dagens datorer är att minnena är mycket långsammare än processorn. Gör man ingenting begränsas processorns hastighet av hur snabbt man får fram data från minnet. BMW:n svarar mot datorns cacheminne: ett litet, snabbt minne där man sparar de data som man tror att processorn kommer att använda härnäst. Kan processorn ta sina data därifrån behöver den inte vänta på de långsamma vanliga minnet.
Avhandlingen handlar om metoder för att analysera hur cacheminnet används i en dator, för att därigenom kunna generera programkod som utnyttjar det bättre och därför får bättre prestanda. Resultaten kan tillämpas både i högpresterande och i säkerhetskritiska datorsystem.
Doktorsavhandlingsens titel: ”Cache and Compiler Interaction”.
Författare: Xavier Vera, Institutionen för Datavetenskap, Mälardalens högskola. Opponent var Isabelle Puaut, Irisa Campus Universitaire de Beaulieu, Frankrike.
Kontaktinformation
Xavier Vera nås via på mail xavier.vera@mdh.se