Virtualiseeritud nutitelefoni platvormi skaleerimine pilvekeskkonnas
Date
2013
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Tartu Ülikool
Abstract
Üks selle Bakalaureuse töö eesmärkidest oli Android-x86 nutitelefoni platvormi juurutamine
pilvekeskkonda ja välja selgitamine, kas valitud instance on piisav virtualiseeritud nutitelefoni
platvormi juurutamiseks ning kui palju koormust see talub. Töös kasutati Amazoni instance'i
M1 Small, mis oli piisav, et juurutada Androidi virtualiseeritud platvormi, kuid jäi kesisemaks
kui mobiiltelefon, millel teste läbi viidi. M1 Medium instance'i tüüp oli sobivam ja näitas
paremaid tulemusi võrreldes telefoniga.
Teostati koormusteste selleks vastava tööriistaga Tsung, et näha, kui palju üheaegseid
kasutajaid instance talub. Testi läbiviimiseks paigaldasime Dalviku instance'ile Tomcat
serveri.
Pärast teste ühe eksemplariga, juurutasime külge Elastic Load Balancing ja
automaatse skaleerimise Amazon Auto Scaling tööriista. Esimene neist jaotas koormust
instance'ide
vahel.
Automaatse
skaleerimise
tööriista
kasutasime,
et
rakendada
horisontaalset skaleerimist meie Android-x86 instance'le. Kui CPU tõusis üle 60% kauemaks
kui üks minut, siis tehti eelmisele identne instance ja koormust saadeti edaspidi sinna. Seda
protseduuri vajadusel korrati maksimum kümne instance'ini. Meie teostusel olid tagasilöögid,
sest Elastic Load Balancer aegus 60 sekundi pärast ning me ei saanud kõikide välja
saadetud päringutele vastuseid. Serverisse saadetud faili kirjutamine ja kompileerimine olid
kulukad tegevused ja seega ei lõppenud kõik 60 sekundi jooksul. Me ei saanud koos Load
Balancer'iga läbiviidud testidest piisavalt andmeid, et teha järeldusi, kas virtualiseeritud
nutitelefoni platvorm Android on hästi või halvasti skaleeruv.
In this thesis we deployed a smartphone image in an Amazon EC2 instance and ran stress tests on them to know how much users can one instance bear and how scalable it is. We tested how much time would a method run in a physical Android device and in a cloud instance. We deployed CyanogenMod and Dalvik for a single instance. We used Tsung for stress testing. For those tests we also made a Tomcat server on Dalvik instance that would take the incoming file, the file would be compiled with java and its class file would be wrapped into dex, a Dalvik executable file, that is later executed with Dalvik. Three instances made a Tsung cluster that sent load to a Dalvik Virtual Machine instance. For scaling we used Amazon Auto Scaling tool and Elastic Load Balancer that divided incoming load between the instances.
In this thesis we deployed a smartphone image in an Amazon EC2 instance and ran stress tests on them to know how much users can one instance bear and how scalable it is. We tested how much time would a method run in a physical Android device and in a cloud instance. We deployed CyanogenMod and Dalvik for a single instance. We used Tsung for stress testing. For those tests we also made a Tomcat server on Dalvik instance that would take the incoming file, the file would be compiled with java and its class file would be wrapped into dex, a Dalvik executable file, that is later executed with Dalvik. Three instances made a Tsung cluster that sent load to a Dalvik Virtual Machine instance. For scaling we used Amazon Auto Scaling tool and Elastic Load Balancer that divided incoming load between the instances.