Prestandatest mellan Ubuntu och Windows

Relevanta dokument
Prestandatest av sekventiella läs- och skrivoperationer i UNIX-liknande operativsystem 4 hp

Hypotesprövning. Andrew Hooker. Division of Pharmacokinetics and Drug Therapy Department of Pharmaceutical Biosciences Uppsala University

Filöverföring i Windowsmiljö

Diskprestanda Tester

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

DIG IN TO Dator och nätverksteknik

Uppstart av OS med resp. utan krypering

F14 HYPOTESPRÖVNING (NCT 10.2, , 11.5) Hypotesprövning för en proportion. Med hjälp av data från ett stickprov vill vi pröva

Prestandajämförelse - Sekventiell skrivhastighet i RAID 4 och RAID 5

Prestandatest mellan Windows och Linux

Två innebörder av begreppet statistik. Grundläggande tankegångar i statistik. Vad är ett stickprov? Stickprov och urval

χ 2, chi-två Test av anpassning: sannolikheter specificerade Data: n observationer klassificerade i K olika kategorier:

Windows 7 vs Windows 8.1

Statistik 1 för biologer, logopeder och psykologer

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2

Föreläsning G60 Statistiska metoder

Lösningsförslag till tentamen på. Statistik och kvantitativa undersökningar STA100, 15 hp. Fredagen den 13 e mars 2015

Föreläsning G60 Statistiska metoder

Hyper-Threading i Intelprocessorer

Test av lösenordsknäckningsattacker mot Windowsanvändare

Föreläsning 5. Kapitel 6, sid Inferens om en population

Hur skriver man statistikavsnittet i en ansökan?

Föreläsning 2. NDAB01 Statistik; teori och tillämpning i biologi

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Kapitel 10 Hypotesprövning

Stockholms Universitet Statistiska institutionen Termeh Shafie

Analys av medelvärden. Jenny Selander , plan 3, Norrbacka, ingång via den Samhällsmedicinska kliniken

Betrakta kopparutbytet från malm från en viss gruva. För att kontrollera detta tar man ut n =16 prover och mäter kopparhalten i dessa.

Syfte: o statistiska test om parametrar för en fördelning o. förkasta eller acceptera hypotesen

Multithreading in Intel Pentium 4 - Hyperthreading

Prestandamätning av RAID-lösningar

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Tentamen i Dataanalys och statistik för I den 28 okt 2015

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Vetenskaplig metod och statistik

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

F3 Introduktion Stickprov

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

LTH: Fastighetsekonomi sep Enkel och multipel linjär regressionsanalys HYPOTESPRÖVNING

Systemkrav WinServ II Edition Release 2 (R2)

eklient Livscykelplaner i Samverkan Livscykelplaner eklient 1.0

Föreläsning 3. NDAB02 Statistik; teori och tillämpning i biologi

Operativsystem och användargränssnitt

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Minnesisolering för virtuella maskiner en hypervisorstudie

Stockholms Universitet Statistiska institutionen Termeh Shafie

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren

Installationsanvisningar HogiaLön Plus

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Systemkrav. Artvise Kundtjänst

Innehåll. Frekvenstabell. II. Beskrivande statistik, sid 53 i E

1. Revisionsinformation

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Föreläsningsanteckningar till kapitel 9, del 2

Tentamen består av 12 frågor, totalt 40 poäng. Det krävs minst 24 poäng för att få godkänt och minst 32 poäng för att få väl godkänt.

Tekis-FB Systemkrav

Vetenskaplig metod och statistik

Introduktion till hårdvara, mjukvara och operativsystem

Systemkrav Bilflytt 1.4

8 Inferens om väntevärdet (och variansen) av en fördelning

Introduktion. Konfidensintervall. Parade observationer Sammanfattning Minitab. Oberoende stickprov. Konfidensintervall. Minitab

Cacheminne i en Intel Core 2 Duo-processor

Analytisk statistik. Mattias Nilsson Benfatto, PhD.

F5 Introduktion Anpassning Korstabeller Homogenitet Oberoende Sammanfattning Minitab

Föreläsning G60 Statistiska metoder

Öka prestanda i Shared-Cache multi-core processorer

IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, ]

ReSound Aventa 3 Installationsguide

Uppgift 1 (a) För två händelser, A och B, är följande sannolikheter kända

1 Mätdata och statistik

Stödet för Windows XP upphörde

Föreläsning 2. Operativsystem och programmering

Vetenskaplig metodik

Tentamen består av 9 frågor, totalt 34 poäng. Det krävs minst 17 poäng för att få godkänt och minst 26 poäng för att få väl godkänt.

För att använda detta system behöver du en dator med internetåtkomst samt din G&D iphone.

TeamViewer Installation och användning

Hogias Ekonomisystem. Systemkrav för enanvändarinstallation fr o m version av GENERELLA KRAV

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Giltig legitimation/pass är obligatoriskt att ha med sig. Tentamensvakt kontrollerar detta. Tentamensresultaten anslås med hjälp av kodnummer.

Operativsystem. Hierarkin för hårdvara läses nerifrån

Hantering av hazards i pipelines

BIOSTATISTISK GRUNDKURS, MASB11 ÖVNING 7 ( ) OCH INFÖR ÖVNING 8 ( )

Universe Engine Rapport

Systemkrav 2014 för enanvändarinstallation fr o m version av

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

7.3.3 Nonparametric Mann-Whitney test

MESI i Intel Core 2 Duo

Examinationsuppgift 2014

Idag. EDAA35, föreläsning 4. Analys. Kursmeddelanden. Vanliga steg i analysfasen av ett experiment. Exempel: exekveringstid

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

Bilaga 2 utdrag urinförandehandbok

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Alla rättigheter förbehållna.

STATISTISK POWER OCH STICKPROVSDIMENSIONERING

Systemkrav Bilflytt 1.3

Beställning av Förlitandepart-certifikat Version

Installation av atmel Studio på mac / linux

2. Test av hypotes rörande medianen i en population.

Transkript:

Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Prestandatest mellan Ubuntu och Windows David Hörnsten, David Larsson, Ludwig Broman 12 januari 2014

Sammanfattning Denna rapport omfattar ett kvantitativt experiment där två populära operativsystem - Microsoft Windows och linuxdistributionen Ubuntu - genomgår en prestandamätning avseende en- och ertrådad processoranvändning i syfte att identiera eventuella skillnader mellan de båda testobjekten. Experimentet är utformat som en hypotesprövning och utfört på en tvåkärnigt Intel Core i3 2330M-system där data samlats in med hjälp av multiplattformprogrammet Geekbench 3. Resultaten indikerar att de båda operativsystemen presterar likvärdigt beträande multitrådning men att Windows presterar något bättre beträande individuell trådning, även om skillnaden är marginell. Detta leder oss till slutsatsen att det i praktiken är svårt att urskilja någon skillnad mellan de båda operativsystemen baserat enbart på processhantering.

1 Introduktion 1.1 Bakgrund Funderingarna inför utförandet av experimentet var (1) vilka operativsystem som skulle vara föremål för en prestandajämförelse, (2) hur testerna skulle genomföras och (3) varför undersökningen kan tänkas vara av intresse. Microsoft Windows kändes som ett givet val med hänsyn till operativsystemets populäritet och världsomfattande användarbas. Användningen av Linux är jämförelsevis lågt avseende persondatorer även om det kan vara vanligt förekommande inom ertalet företag och utvecklingsländer, men en av de mer populära distributionerna är Canonicals Debianbaserade operativsystem Ubuntu. Siror från 2013 visar att Windows har en marknadsandel på 92 % för persondatorer samtidigt som Linux har en motsvarande marknadsandel på 1 % [1]. Med hänsyn till denna enorma skillad ansåg vi det vara av intresse att undersöka huruvida prestandan mellan dessa två väldigt olika operativsystem skiljer sig åt, och i syfte att avgränsa undersökningen till en konkret nivå valde vi att utföra mätningar av operativsystemens eektiva nyttjande av individuell- och ertrådade operationer. För att garantera ett så felfri undersökningsprocess som möjligt valde vi att utföra testerna med ett etablerat och förhållandevis välkänt benchmarkingprogram efter rena installationer av respektive operativsystem. Operativsystem kan idag beskrivas som ett lager mellan maskinen och användaren, gentemot hur de i dess tidiga dagar utvecklades för att styra enbart hårdvaran [1]. Istället utgörs en dators funktioner av operativsystemet den använder och hårdvaran blir i större utsträckning mindre viktig. Med nya plattformar som surfplattor och smartphones så ställs högre krav på operativsystemet. De ska vara batterisnåla och resurssnåla framförallt. En processors uppgift är att köra program och vilka processer som körs eller avbryts bestäms av operativsystemet [2]. Trådning och multitrådning är en viktig del av moderna processhanteringen som innebär att operativsystem och programvara kan maximera resursanvändet av erkärniga processorer. Exempel på när multi-trådningstekniken används är i Valves Source Engine samt dagens operativsystem. Multitrådning innebär att ett operativsystem stödjer era exekveringar samtidigt för en och samma process vilket resulterar i att arbetsbördan kan delas upp mellan era kärnor (Stallings, 2012). Tidigare versioner av Linuxkärnan saknade stöd för multitrådning och alla trådar kördes som en enda kernellevel-process. I dagsläget erbjuder Linux en relativt unik lösning på detta problem i och med att operativsystemet inte särskiljer trådar från processer, och den gör detta genom att mappa userlevel-trådar till kernellevel-trådar som delar samma grupp-id [2].På så vis undviks samtidigt behovet av context switches när schemaläggaren skiftar mellan processer inom samma grupp. En Windowsprocess måste innehålla minst en tråd för att den ska exekveras, som sedan kan skapa er trådar [2]. Om det körs på ett multiprocessor system så kan den processen köra sina trådar parallellt på andra kärnor samtidigt. En multitrådad process kan exekveras utan att skapa er processer och utan att 2

få den overhead som era processer skulle gett. Speciellt med Windows är att kärnan är simpel och generell, just för att den ska vara anpassningsbar till olika operativsystemsmiljöer enligt deras processtruktur. Processer implementeras som objekt som innehåller attribut för vilken processtruktur som ska tillämpas [2]. 1.2 Syfte och frågeställning Syftet med denna rapport är att undersöka hur aktuella utgåvor av Ubuntu och Microsoft Windows presterar på identiska hårdvaruspecikationer avseende enoch ertrådad processorprestanda. Eftersom att Microsoft Windows är beprövat och väl etablerat på marknaden utgår vi i från antagandet att Windows 8.1 presterar bättre än Ubuntu 13.10 (även om så inte nödvändigtvis behöver vara fallet) och detta är också vår frågeställning. Med utgångspunkt i denna frågeställning samt rapportens syfte har vi formulerat två hypoteser som lyder enligt följande: Microsoft Windows 8.1 nyttjar individuell trådning mer eektivt än Ubuntu 13.10 Microsoft Windows 8.1 nyttjar multitrådning mer eektivt än Ubuntu 13.10 Dessa hypoteser ligger till grund för rapportens genomförande och har prövats enligt vetenskaplig metod. 1.3 Metod Denna rapport är genomförd enligt kvantitativ metod med avsikten att producera mätbara resultat i form av numeriska värden för två undersökningsobjekt. Kvantitativa undersökningar bedrivs normalt sett genom att erhålla data från ett visst urval i hopp om att kunna generalisera resultaten till en större population, vilket ofta görs deduktivt genom att producera primärdata som kan antingen bekräfta eller avfärda på förhand bestämda hypoteser. Urvalet är i detta fall begränsat, varför undersökningen - och således även hypoteserna - är avgränsad till den hårdvara på vilken experimentet utfördes och inte nödvändigtvis kan användas för att dra några slutsatser angående operativsystemens eektivitet på andra hårdvarusystem. En korrekt utförd hypotesprövning kräver någon sorts testfunktion för att kunna bedöma huruvida hypotesen i fråga ska accepteras eller förkastas [3]. Detta görs genom att för varje enskild hypotes formulera en nollhypotes (H0) och en mothypotes (H1) där nollhypotesen representerar en obentlig skillnad mellan undersökningsobjekten medan mothypotesen representerar en positiv eller negativ skillnad. I andra ord så kommer nollhypotesen att förkastas till förmån för 3

mothypotesen om Windows presterar bättre än Ubuntu. Om Windows däremot inte presterar bättre än Ubuntu kommer nollhypotesen att accepteras. Detta förutsätter dock att resultatet är statistiskt signikant. Huruvida nollhypotesen förkastas eller inte beror på om testfunktionens observerade värde (zobs) överstiger (eller understiger, beroende på hur hypotesen är formulerad) det kritiska värdet. Traditionellt sett så används en signikansnivå på 5 % inom hypotesprövning vilket ger ett kritiskt värde (zkrit) på 1,64 enligt den standardiserade normalfördelningen [3]. Denna testfunktion ser ut enligt följande z obs = χ µ σ/ η där x är medelvärdet för mätningarna av Windows, u är medelvärdet för mätningarna av Ubuntu, o är standardavvikelsen för mätningarna av Ubuntu och n är antalet mätningar av Windows. Om zobs<1,64 ska nollhypotesen accepteras och om zobs>1,64 ska mothypotesen accepteras. Testfunktioner likt denna används för att eliminera den statistiska osäkerheten (vardagligen kallat slumpen) i en mätning vilket garanterar att resultaten faktiskt uppvisar tillförlitlighet. 1.4 Systeminformation och verktyg För att kunna genomföra experimentet var det viktigt att testa båda operativsystemen på identisk hårdvara och maskinen som valdes var en Fujitsu Lifebook P701 med en tvåkärnig Intel Core i3 2330M-processor (se bilaga för detaljerad hårdvaruspecikation). Operativsystemens egna diagnostikverktyg angav att processorn var fyrakärnig men en närmare granskning med diverse tredjepartsverktyg samt Intels egna specikationer för processormodellen bekräftade att processorn de facto var tvåkärning men uppdelad i fyra trådar. Versionen av Microsoft Windows som användes var 2013 års 8.1 Pro N (64- bit), efterföljaren till föregående års Windows 8 som gjordes tillgänglig för allmänheten föregående år. Den utgåva av Ubuntu som användes var den i skrivande stund senaste stabila 13.10, släppt den 17 oktober 2013 och uppdaterad med en av de senare (men inte den senaste) Linuxkärnan 3.11.0-14-generic x86_64. Insamling av data skedde med mjukvaruprogrammet Geekbench (v3.1.3). Geekbench är ett verktyg avsett för benchmarking av processorer och är väl etablerat på marknaden med stöd för Windows, Mac, Linux, Android och ios. Verktyget använder sig av ett tjugotal olika belastningstester uppdelade i tre kategorier som mäter systemets prestanda beträande hanteringen av heltalsinstruktioner, yttalsoperationer och minnesbandbredd. Genomförda tester genererar en samlad poäng i både en- och erkärniga operationer som indikerar systemets relativa processorprestanda. Floating Point (eller yttal) är tal innehållandes ytande decimaler som beräknas och hanteras av datorns yttalenhet (FPU) som idag nns inbyggd i de esta processorer [4]. Processorns förmåga att beräkna yttal beräknas normalt sett i FLOPS (oating point operations per second) som tillsammans med beräkning av heltalsoperationer (integer operations) ger en sammantagen bild av processorprestandan. Flyttal tar oftast 4

längre tid att beräkna än heltal och är vanligt förekommande i era typer av applikationer. Minnestestet mäter minnets bandbredd, vilken hastighet det tar för datan att läsas ifrån minnet till CPUn. Programet arbetar då med stora mängder data för att utföra testet och hålla processorn upptagen. [4] För en närmare beskrivning av Geekbench, poängsystemet och de olika belastningstesterna hänvisas läsaren till support.primatelabs.com[5]. 2 Experiment 2.1 Genomförande Inga virtuella maskiner användes under detta experiment utan testerna utfördes efter rena installationer samt uppdateringar av respektive operativsystem. ISO-lerna för respektive operativsystemen installerades var för sig från ett 16GB SanDisk USB-minne som formaterats till ext4 (Ubuntu) eller NTFS (Windows) beroende på operativsystem. Under installationsprocessen raderades all tidigare data på systemet och operativsystemen installerades på en ensam oallokerad partition. Efter installationen uppdaterades systemen. Windows uppdaterades genom Windows Update och Ubuntu uppdaterades genom kommandona upgrade och dist-upgrade. Därefter laddades Geekbench 3 ned från www.primatelabs.com/geekbench och installerades[6]. Själva experimentet inleddes med stresstester av respektive operativsystem för att säkerställa en problemfri testmiljö. Stresstesterna utfördes likt prestandatesterna med Geekbench och gav inte upphov till några felmeddelanden för varken Windows eller Ubuntu. Alla värden var likvärdiga för båda operativsystemen. Tre 64-bitars benchmarktester per operativsystem kördes, vilket innebär att sex mätningar genomfördes totalt. Detta för att identiera eventuella avvikelser och för att minimera risken för felaktiga eller missvisande resultat. Alla test skedde utan några användarinstallerade processer körande i för- eller bakgrunden utöver benchmarkverktyget i sig. Det första testet kördes omgående efter en kallstart, det andra inom loppet av 30 sekunder efter det första och det tredje efter ca fem minuter av lätt användning (webbsurfning, lsökningar, dokumentredigering m.m.). Efter genomförandet av varje enskilt test laddades resultaten upp till hemsidan Geekbench Browser där resultaten gjordes tillgängliga för granskning via webbläsaren. 2.2 Resultat Nedanstående resultat är ett uträknat genomsnitt av de tre mätningarna för respektive operativsystem. Ju högre värden desto bättre. Resultaten nns också dokumenterade i större detalj och tillgängliga online via browser.primatelabs.com/user/68584[7]. 2.3 Hypotetsprövning Eftersom att vi innan experimentets genomförande förväntade oss bättre resultat från Windows jämfört med Ubuntu i båda hypoteserna var H0 = 1707 och 5

Figur 1: Geekbenchresultat, Single-core Figur 2: Geekbenchresultat, Multi-core H1> 1707 för hypotes 1 och H0 = 3706 och H1> 3706 för hypotes 2. Genom att tillämpa den testfunktion som beskrevs tidigare i rapporten ck vi fram följande värden för de två hypoteserna: HYPOTES 1: Microsoft Windows 8.1 nyttjar individuell trådning mer eektivt än Ubuntu 13.10 1731 1707 9,82/ 3 = 4,23>1,64 Eftersom att det observerade värdet zobs=4,23 är större än det kritiska värdet zkrit=1,64 förkastas nollhypotesen till förmån för mothypotesen som accepteras. Microsoft Windows 8.1 presterade alltså bättre än Ubuntu 13.10 avseende individuell trådning. HYPOTES 2: Microsoft Windows 8.1 nyttjar multitrådning mer eektivt än Ubuntu 13.10 3738 3706 38,22/ 3 = 1,45<1,64 Eftersom att det observerade värdet zobs=1,45 är mindre än det kritiska värdet zkrit=1,64 förkastas mothypotesen till förmån för nollhypotesen som accepteras. Microsoft Windows 8.1 presterade alltså inte bättre än Ubuntu 13.10 avseende multitrådning. 3 Slutsatser Trots att resultatet för den första hypotesen uppvisade en statistiskt signikant avvikelse är det fortfarande väldigt små marginaler vi talar om. Windows upp- 6

visade i genomsnitt en prestandaförbättring på 1,4 % beträande individuell trådning jämfört med Ubuntu vilket i praktiken inte innebär några större implikationer för användarens upplevelse av operativsystemen. Resultatet var något förvånande då Windows som det mest utbredda operativstystemet (superdatorer undantaget) presterade likvärdigt med Linuxdistributionen, men det är förstås inte enbart processorprestanda som ligger bakom de historiska framgångarna för Microsoft Windows. Enbart processorprestanda ger dock ingen helhetdsbild av varken Ubuntu eller Windows, utan resultaten i denna rapport måste sättas i ett större perspektiv om avsikten är att skapa en samlad bild av de båda operativsystemen. Slutsatsen och svaret på vår frågeställning är att Microsoft Windows 8.1 inte presterar märkbart bättre än Ubuntu, trots att mätningarna genererade något högre resultat för Windows i båda hypoteserna (varav ett var signikant). Alla sex mätningar var förhållandevis stabila utan större avvikelser med undantag från den andra mätningen av Ubuntu som visade en sammanlagd avvikelse på drygt 2 % jämfört med resterande två Ubuntu-mätningar. I efterhand framstår det som klokt om er än 3 + 3 mätningar hade genomförts för producera ännu mer träsäker data, då er mätningar möjligtvis hade kunnat ange resultaten av den första hypotesen som statistiskt försumbar. Det vore intressant att i framtiden undersöka hur de båda operativsystemen presterar på andra processormodeller än den Intel Core i3-2330m som detta experiment omfattade, i syfte att bekräfta och kunna generalisera resultaten. En mer djupgående undersökning angående varför resultaten blev som de blev hade också varit önskvärd. 7

Litteraturförteckning [1] B. von Sydow. 2013. Operativsystem, [Online]. Tillgänglig: http://www.ne.se/. [2] W. Stallings. Operating Systems: Internals and Design Principles (7th ed), New Jersey: Pearson Education. 2012. [3] S. Körner och L. Wahlgren. Statistisk Dataanalys, Lund: Studenlitteratur. 2006. [4] Tech Terms. 2014. Floating Point, [Online]. Tillgänglig: http://www.ne.se/. [5] Primate Labs. 2013. Primate Labs Support, Online. Tillgänglig: http://www.ne.se/. [6] Primate Labs. Geekbench 3. Online, 2013. Tillgänglig: http://www.primatelabs.com/geekbench/. [7] Primate Labs. 2013. Geekbench 3 Results, [Online]. Tillgänglig: http://browser.primatelabs.com/user/68584. 8

1 Hårdvaruspecikation Fujitsu Lifebook P7 9