Automatic capacity test case result analysis from CPU loads
Piippo, Perttu (2018-12-05)
Piippo, Perttu
P. Piippo
05.12.2018
© 2018 Perttu Piippo. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-201812083252
https://urn.fi/URN:NBN:fi:oulu-201812083252
Tiivistelmä
Machine learning and artificial intelligence have become popular buzz words in the science community. The advancements in both methodology and computing capability have paved the way for major improvements in multiple fields, leading to an increased interest in machine learning. Most importantly, many companies have also shown interest in applying machine learning in real life situations.
Automated testing environments is one area where there is both data and application for machine learning available. For example, software and hardware capacity testing can produce large amounts of result data that can become unfeasible to analyze manually. Introducing machine learning into these environments can both help find interesting insights and automate the monitoring of results. This thesis explores introducing machine learning into the capacity testing environment of a major telecommunications company.
The work involved exploration of available testing data and various machine learning algorithms. Clustering, anomaly detection and regression with multiple methods were experimented with using different data sets. Ultimately regression using random forests to estimate base station CPU loads based on LTE L2 test parameters was found to produce most promising results.
Two random forest models were built and optimized with hyperparameter tuning and trained and validated with real test result data. The validation showed that the models were valid and could explain 99% of the variation in CPU loads. The most important features affecting CPU loads were also identified. The predictive models thus created are utilized in an automatic monitoring tool that reports possibly anomalous test results based on measured CPU loads. Additionally, this work acts as a groundwork for further machine learning efforts in the target environment and highlights the need for a better data plan in the company for better utilization of data science methods. Koneoppimisesta ja tekoälystä on tullut polttavia puheenaiheita tiedeyhteisön keskuudessa. Sekä menetelmien että tietotekniikan kehitys ovat mahdollistaneet merkittävät edistysaskeleet monella aihealueella. Tämä on johtanut kiinnostuksen merkittävään kasvuun koneoppimista kohtaan. Ehkä kaikkein huomattavinta on yhtiöiden kasvava kiinnostus soveltaa koneoppimista käytännön käyttötarkoituksiin.
Automaattiset testiympäristöt ovat eräs alue joka tarjoaa sekä käyttökohteen että dataa koneoppimiselle. Esimerkiksi ohjelmistojen ja laitteistojen kapasiteettitestaus tuottaa usein suuret määrät dataa, jota voi olla epäkäytännöllistä käsitellä manuaalisesti. Koneoppimisen avulla voidaan sekä löytää mielenkiintoisia yksityiskohtia datasta, että automatisoida testitulosten analysointia.
Tämä työ keskittyy koneoppimisen käyttöön suuren telekommunikaatioyhtiön kapasiteettitestausympäristössä. Työn suurena osana oli käytössä olevan datan sekä olemassa olevien koneoppimismetodien tutkimus. Tähän kuului klusteroinnin, poikkeavuuksien tunnistamisen ja regression kokeilua erilaisiin datakokonaisuuksiin erilaisin menetelmin. Tutkinnan tuloksena lupaavimmaksi lähestymistavaksi valikoitui regressio-analyysi random forest menetelmällä. Analyysin kohteena oli tukiasemien CPU-kuorman arvioiminen LTE L2 testiparametreista.
Tutkimusta varten sovitettiin kaksi random forest mallia. Mallit optimoitiin hyperparametrien virityksellä ja opetettiin todellisella testitulosdatalla. Mallit myös validoitiin erillisellä joukolla oikeita testituloksia. Validointi osoitti mallien mallintavan CPU-kuorman ja parametrien suhdetta hyvin ja kykenevän selittämään 99% variaatiosta CPU-kuormassa. Lisäksi eniten CPU-kuormaan vaikuttavat tekijät tunnistettiin. Opetuksen ja optimoinnin tuloksena syntyneet mallit ovat perustana monitorointityökalulle, jonka tehtävänä on raportoida mahdollisesti ongelmallisista testituloksista CPU-kuorman perusteella. Lisäksi, tämä työ toimii perustana jatkuvalle koneoppimisen hyödyntämiselle kohdeympäristössä sekä osoittaa, että yhtiö tarvitsee paremman suunnitelman datan tehokkaalle käsittelylle.
Automated testing environments is one area where there is both data and application for machine learning available. For example, software and hardware capacity testing can produce large amounts of result data that can become unfeasible to analyze manually. Introducing machine learning into these environments can both help find interesting insights and automate the monitoring of results. This thesis explores introducing machine learning into the capacity testing environment of a major telecommunications company.
The work involved exploration of available testing data and various machine learning algorithms. Clustering, anomaly detection and regression with multiple methods were experimented with using different data sets. Ultimately regression using random forests to estimate base station CPU loads based on LTE L2 test parameters was found to produce most promising results.
Two random forest models were built and optimized with hyperparameter tuning and trained and validated with real test result data. The validation showed that the models were valid and could explain 99% of the variation in CPU loads. The most important features affecting CPU loads were also identified. The predictive models thus created are utilized in an automatic monitoring tool that reports possibly anomalous test results based on measured CPU loads. Additionally, this work acts as a groundwork for further machine learning efforts in the target environment and highlights the need for a better data plan in the company for better utilization of data science methods.
Automaattiset testiympäristöt ovat eräs alue joka tarjoaa sekä käyttökohteen että dataa koneoppimiselle. Esimerkiksi ohjelmistojen ja laitteistojen kapasiteettitestaus tuottaa usein suuret määrät dataa, jota voi olla epäkäytännöllistä käsitellä manuaalisesti. Koneoppimisen avulla voidaan sekä löytää mielenkiintoisia yksityiskohtia datasta, että automatisoida testitulosten analysointia.
Tämä työ keskittyy koneoppimisen käyttöön suuren telekommunikaatioyhtiön kapasiteettitestausympäristössä. Työn suurena osana oli käytössä olevan datan sekä olemassa olevien koneoppimismetodien tutkimus. Tähän kuului klusteroinnin, poikkeavuuksien tunnistamisen ja regression kokeilua erilaisiin datakokonaisuuksiin erilaisin menetelmin. Tutkinnan tuloksena lupaavimmaksi lähestymistavaksi valikoitui regressio-analyysi random forest menetelmällä. Analyysin kohteena oli tukiasemien CPU-kuorman arvioiminen LTE L2 testiparametreista.
Tutkimusta varten sovitettiin kaksi random forest mallia. Mallit optimoitiin hyperparametrien virityksellä ja opetettiin todellisella testitulosdatalla. Mallit myös validoitiin erillisellä joukolla oikeita testituloksia. Validointi osoitti mallien mallintavan CPU-kuorman ja parametrien suhdetta hyvin ja kykenevän selittämään 99% variaatiosta CPU-kuormassa. Lisäksi eniten CPU-kuormaan vaikuttavat tekijät tunnistettiin. Opetuksen ja optimoinnin tuloksena syntyneet mallit ovat perustana monitorointityökalulle, jonka tehtävänä on raportoida mahdollisesti ongelmallisista testituloksista CPU-kuorman perusteella. Lisäksi, tämä työ toimii perustana jatkuvalle koneoppimisen hyödyntämiselle kohdeympäristössä sekä osoittaa, että yhtiö tarvitsee paremman suunnitelman datan tehokkaalle käsittelylle.
Kokoelmat
- Avoin saatavuus [34150]