diff --git a/.gitignore b/.gitignore index a51c352..71e109b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,10 @@ # Project Proposal -Project Proposal/* -!Project Proposal/*.tex -!Project Proposal/*.bib +proposal/* +!proposal/*.tex +!proposal/*.bib +!proposal/project-proposal.pdf ## Python diff --git a/proposal/acronym.tex b/proposal/acronym.tex new file mode 100644 index 0000000..962467e --- /dev/null +++ b/proposal/acronym.tex @@ -0,0 +1,18 @@ +\chapter*{List of Acronyms} + +\begin{acronym} +\acro{iaas}[IaaS]{Infrastructure as a Service} +% \acro{saas}[SaaS]{Software as a service} +\acro{sres}[SRE]{Site Reliability Engineer} +\acro{sli}[SLI]{Service Level Indicator} +\acro{apm}[APM]{Application Performance Monitoring} +\acro{mttr}[MTTR]{Mean Time To Recovery} +\acro{gan}[GAN]{Generative adversarial networks} +\acro{hhmm}[HHMM]{Hierarchical hidden Markov model} +\acro{fsl}[FSL]{Few-shot Learning} +\acro{sdlc}[SDLC]{Software Development Life Cycle} +\acro{ooad}[OOAD]{Object-oriented analysis and design} +% \acro{vm}[VM]{Virtual Machine} +% \acro{cncf}[CNCF]{Cloud Native Computing Foundation} +\acro{ebpf}[eBPF]{Extended Berkeley Packet Filter} +\end{acronym} \ No newline at end of file diff --git a/proposal/cover-page.tex b/proposal/cover-page.tex new file mode 100644 index 0000000..49c7a32 --- /dev/null +++ b/proposal/cover-page.tex @@ -0,0 +1,42 @@ +% TITLE PAGE--------------------------------------------------- +\begin{titlepage} + +\begin{tikzpicture}[remember picture, overlay] + \draw[line width = 1pt] ($(current page.north west) + (1cm,-1cm)$) rectangle ($(current page.south east) + (-1cm,1cm)$); +\end{tikzpicture} + +\begin{center} + +% Upper part of the page +% \text{\large Informatics Institute of Technology}\\[0.1cm] +% \text{\large In Collaboration With}\\[0.5cm] +% \text{\large University of Westminster, UK}\\[2.5cm] + +% Title +\includegraphics[width=5.0cm]{assets/IIT-Logo.png}\\[0.7cm] +{ \Huge Anomaly Detection \& Root Cause Analysis\\ +In Distributed Systems }\\[0.7cm] +% \begin{minipage}{0.45\textwidth} +\text{\LARGE Project Proposal}\\[0.5cm] + +% Authors +% \text{\large A dissertation by}\\[0.1cm] +\text{\large Isala Piyarisi}\\[0.1cm] +\text{\large w1742118 / 2018421}\\[3.2cm] + +% Supervisor +\text{\large \textbf{Supervisor}: Guhanathan Poravi}\\[0.1cm] +\text{\large \textbf{Date}: $3^{rd} $ November 2021}\\[0.1cm] +\text{\large \textbf{Department}: Computer Science}\\[0.1cm] +\text{\large \textbf{Keywords}: Cloud Computing, AIOps, Monitoring, Disaster Recovery}\\[5cm] + + +\large{This project proposal is submitted in partial fulfilment of the requirements for the +BSc(Hons) Computer Science degree at the \\ +University of Westminster. +} \\[0.5cm] + + +\end{center} + +\end{titlepage} \ No newline at end of file diff --git a/proposal/main.tex b/proposal/main.tex new file mode 100644 index 0000000..bae87d9 --- /dev/null +++ b/proposal/main.tex @@ -0,0 +1,74 @@ +\documentclass[12pt]{report} + +% Include all packages from file. +\input{preamble} + +\renewcommand{\contentsname}{Table of Contents} +\renewcommand{\baselinestretch}{1.5} + +% HEADER AND FOOTER-------------------------- +\patchcmd{\chapter}{\thispagestyle{plain}}{\thispagestyle{fancy}}{}{} +\pagestyle{fancy} +\fancyhf{} +\lhead{\fontsize{10}{12}\leavevmode\selectfont\color{gray}{Anomaly Detection \& Root Cause Analysis In Distributed Systems | Project Proposal}} +\rfoot{\fontsize{10}{12}\leavevmode\selectfont\color{gray}{\thepage}} +\lfoot{\fontsize{10}{12}\leavevmode\selectfont\color{gray}{Isala Piyarisi | 2018421}} +\renewcommand{\headrulewidth}{0pt} +% END HEADER AND FOOTER-------------------------- + + +% Document begins here +\begin{document} + +\input{cover-page} + +% Page Numbering--------------------------------------------- +\pagenumbering{Roman} + +% Table of Contents--------------------------------------------------- +\tableofcontents +% List of Figures--------------------------------------------------- +\addcontentsline{toc}{chapter}{\listfigurename} +\listoffigures +% List of Tables--------------------------------------------------- +\addcontentsline{toc}{chapter}{\listtablename} +{\let\clearpage\relax +\listoftables +} +\cleardoublepage +\phantomsection +% Include acronyms +\addcontentsline{toc}{chapter}{List of Acronyms} +\input{acronym} + +\input{sections/introduction} +\pagenumbering{arabic} +\input{sections/background} +\input{sections/problem} +\input{sections/research/motivation} +\input{sections/related-work} +\input{sections/research/gap} +\input{sections/research/contribution} +\input{sections/research/challenge} +\input{sections/research/question} +\input{sections/research/aim} +\input{sections/research/objective} +\input{sections/project-scope} +\input{sections/methodology/research} +\input{sections/methodology/development} +\input{sections/methodology/project-management} + +\cleardoublepage +\phantomsection +\renewcommand{\bibname}{References} +\pagenumbering{Roman} +\setcounter{page}{5} +\addcontentsline{toc}{chapter}{References} +\bibliography{references.bib} + +% \begin{appendices} +% \input{sections/appendix} +% \end{appendices} + +\end{document} + diff --git a/proposal/preamble.tex b/proposal/preamble.tex new file mode 100644 index 0000000..45d73fd --- /dev/null +++ b/proposal/preamble.tex @@ -0,0 +1,88 @@ +\usepackage[UKenglish]{babel} + +\usepackage{setspace} % LINE SPACING +\usepackage{tikz} +\usepackage{titlepic} +\usepackage{graphicx} +\usepackage{newtxtext,newtxmath} +\usepackage[utf8]{inputenc} +\usepackage[a4paper,left=24.5mm, right=24.5mm, top=24.5mm, bottom=24.5mm]{geometry} %Paper margins +\usepackage{titlesec} +\usepackage{enumitem} % Custom enumerations +\usepackage[titles]{tocloft} + +\usepackage{acronym} + +\usepackage{hyperref} % Links + +% Referencing +\usepackage{natbib} % Harvard referencing +% \usepackage[comma,colon]{natbib} +\citestyle{aysep={,}} +\bibliographystyle{agsm} + +% Tables +\usepackage{longtable} +\usepackage{multirow} +\usepackage{xstring} +\usepackage{geometry} +\usepackage{array} + + +% Fonts size +\usepackage[font={small,it}]{caption} + +% Date +\usepackage[useregional]{datetime2} + +\usetikzlibrary{calc} +\newcommand\HRule{\rule{\textwidth}{1pt}} +\newcommand{\hsp}{\hspace{10pt}} +\titlespacing*{\chapter}{0pt}{20pt}{20pt} % CHAPTER SPACING +\titleformat{\chapter}[hang]{\Huge\bfseries}{Chapter \thechapter\hsp:\hsp }{0pt}{\Huge\bfseries} +\titleformat{\chapter}[display]{\fontsize{20pt}{0pt}\bfseries}{}{2pt}{} +\setlength{\parindent}{10ex} + + +% Setting TOC and Section number depth +\setcounter{tocdepth}{4} +\setcounter{secnumdepth}{4} +% line spacing in TOC +\setlength{\cftbeforechapskip}{3pt} + +\onehalfspacing + +\usepackage{chngcntr} + +% \usepackage[nottoc,numbib]{tocbibind} +\counterwithout{figure}{chapter} +\counterwithout{table}{chapter} + +\usepackage[font={small,it}]{caption} +\selectlanguage{UKenglish} + +\usepackage{floatrow} + +% Header and footer +\usepackage{fancyhdr} +\usepackage{etoolbox} + +\usepackage[titletoc]{appendix} +\usepackage{changepage} + + +% TITLE FORMATS +% CHAPTER SPACING & FONT +\titleformat{\chapter}[hang]{\fontsize{16pt}{0pt}\bfseries}{\thechapter}{1em}{} +% \titlespacing*{\chapter}{0pt}{20pt}{10pt} + +% SECTION FONT +\titleformat{\section}[hang]{\fontsize{14pt}{0}\bfseries}{\thesection}{1em}{} +% \titlespacing*{\section}{0pt}{20pt}{10pt} + +% SUBSECTION FONT AND SIZE +\titleformat{\subsection}[hang]{\fontsize{12pt}{0}\bfseries}{\thesubsection}{1em}{} +% \titlespacing*{\subsection}{0pt}{15pt}{10pt} + +\titleformat{\subsubsection}[hang]{\fontsize{12pt}{0}\itshape}{\thesubsubsection}{1em}{} +% \titlespacing*{\subsubsection}{0pt}{15pt}{10pt} diff --git a/proposal/project-proposal.pdf b/proposal/project-proposal.pdf new file mode 100644 index 0000000..4e48bba Binary files /dev/null and b/proposal/project-proposal.pdf differ diff --git a/proposal/references.bib b/proposal/references.bib new file mode 100644 index 0000000..f334d57 --- /dev/null +++ b/proposal/references.bib @@ -0,0 +1,510 @@ +% Introduction +@article{dragoni2017microservices, + title = {Microservices: yesterday, today, and tomorrow}, + author = {Dragoni, Nicola and Giallorenzo, Saverio and Lafuente, Alberto Lluch and Mazzara, Manuel and Montesi, Fabrizio and Mustafin, Ruslan and Safina, Larisa}, + year = 2017, + journal = {Present and ulterior software engineering}, + publisher = {Springer}, + pages = {195--216} +} +@misc{Introduc54:online, + title = {Introducing Domain-Oriented Microservice Architecture | Uber Engineering Blog}, + author = {Adam Gluck}, + year = 2020, + month = 7, + note = {(Accessed on 08/26/2021)}, + howpublished = {\url{https://eng.uber.com/microservice-architecture/}} +} +% Background +@misc{rimol_2021, + title = {Gartner Says Worldwide IaaS Public Cloud Services Market Grew 40.7\% in 2020}, + author = {Rimol, Meghan}, + year = 2021, + month = {Jun}, + journal = {Gartner}, + howpublished = {\url{https://www.gartner.com/en/newsroom/press-releases/2021-06-28-gartner-says-worldwide-iaas-public-cloud-services-market-grew-40-7-percent-in-2020}} +} +@misc{LessonsF52:online, + title = {Lessons From the Birth of Microservices at Google}, + author = {Daniel Spoonhower}, + year = 2018, + month = 12, + note = {(Accessed on 09/22/2021)}, + howpublished = {\url{https://dzone.com/articles/lessons-from-the-birth-of-microservices-at-google}} +} +@inproceedings{di2018migrating, + title = {Migrating towards microservice architectures: an industrial survey}, + author = {Di Francesco, Paolo and Lago, Patricia and Malavolta, Ivano}, + year = 2018, + booktitle = {2018 IEEE International Conference on Software Architecture (ICSA)}, + pages = {29--2909}, + organization = {IEEE} +} +@misc{Microser52:online, + title = {Microservices Adoption in 2020 – O’Reilly}, + author = {Mike Loukides, Steve Swoyer}, + year = 2020, + month = {07}, + note = {(Accessed on 09/22/2021)}, + howpublished = {\url{https://www.oreilly.com/radar/microservices-adoption-in-2020/}} +} +@misc{Understa56:online, + title = {Understanding cloud-native apps}, + author = {RedHat}, + year = {}, + month = {}, + note = {(Accessed on 08/26/2021)}, + howpublished = {\url{https://www.redhat.com/cloud-native-apps}} +} +@misc{Whataret68:online, + title = {What are the Benefits of CI/CD?}, + author = {JetBrains}, + year = {}, + month = {}, + note = {(Accessed on 08/26/2021)}, + howpublished = {\url{https://www.jetbrains.com/teamcity/ci-cd-guide/benefits-of-ci-cd/}} +} +@misc{5WaysYou35:online, + title = {5 Ways You're Probably Messing Up Your Microservices | OverOps}, + author = {Alex Zhitnitsky}, + year = 2019, + month = 5, + note = {(Accessed on 08/26/2021)}, + howpublished = {\url{https://www.overops.com/blog/5-ways-to-not-f-up-your-microservices-in-production/}} +} +% Problem +@misc{CloudAdo16:online, + title = {Cloud Adoption Statistics - It's Everywhere \& Everyone's Using It in 2021!}, + author = {Nick Galov}, + year = 2021, + month = 9, + note = {(Accessed on 08/27/2021)}, + howpublished = {\url{https://hostingtribunal.com/blog/cloud-adoption-statistics/}} +} +@misc{Datadog18:online, + title = {Datadog Product Tour}, + author = {}, + year = 2020, + month = 9, + note = {(Accessed on 08/26/2021)}, + howpublished = {\url{https://www.youtube.com/watch?v=YmJcbAI\_OCg}} +} +% Research Motivation +@misc{Untangli35:online, + title = {Untangling Microservices or Balancing Complexity in Distributed Systems}, + author = {Vladik Khononov}, + year = 2020, + month = 4, + note = {(Accessed on 08/31/2021)}, + howpublished = {\url{https://blog.doit-intl.com/untangling-microservices-or-balancing-complexity-in-distributed-systems-7759987d44b1}} +} +@misc{OpenAI_dota, + title = {OpenAI Five}, + author = {OpenAI}, + year = 2018, + howpublished = {\url{https://blog.openai.com/openai-five/}} +} +@article{silver2017mastering, + title = {Mastering the game of go without human knowledge}, + author = {Silver, David and Schrittwieser, Julian and Simonyan, Karen and Antonoglou, Ioannis and Huang, Aja and Guez, Arthur and Hubert, Thomas and Baker, Lucas and Lai, Matthew and Bolton, Adrian and others}, + year = 2017, + journal = {nature}, + publisher = {Nature Publishing Group}, + volume = 550, + number = 7676, + pages = {354--359} +} +% Related Works +@misc{Watchdog76:online, + title = {Watchdog: Auto-Detect Performance Anomalies Without Setting Alerts | Datadog}, + author = {Brad Menezes}, + year = 2018, + month = 7, + note = {(Accessed on 08/29/2021)}, + howpublished = {\url{https://www.datadoghq.com/blog/watchdog/}} +} +@inproceedings{du2018anomaly, + title = {Anomaly detection and diagnosis for container-based microservices with performance monitoring}, + author = {Du, Qingfeng and Xie, Tiandi and He, Yu}, + year = 2018, + booktitle = {International Conference on Algorithms and Architectures for Parallel Processing}, + pages = {560--572}, + organization = {Springer} +} +@inproceedings{kumarage2018anomaly, + title = {Anomaly Detection in Industrial Software Systems-Using Variational Autoencoders.}, + author = {Kumarage, Tharindu and De Silva, Nadun and Ranawaka, Malsha and Kuruppu, Chamal and Ranathunga, Surangika}, + year = 2018, + booktitle = {ICPRAM}, + pages = {440--447} +} +@inproceedings{kumarage2019generative, + title = {Generative adversarial networks (GAN) based anomaly detection in industrial software systems}, + author = {Kumarage, Tharindu and Ranathunga, Surangika and Kuruppu, Chamal and De Silva, Nadun and Ranawaka, Malsha}, + year = 2019, + booktitle = {2019 Moratuwa Engineering Research Conference (MERCon)}, + pages = {43--48}, + organization = {IEEE} +} +@article{oord2016wavenet, + title = {Wavenet: A generative model for raw audio}, + author = {Oord, Aaron van den and Dieleman, Sander and Zen, Heiga and Simonyan, Karen and Vinyals, Oriol and Graves, Alex and Kalchbrenner, Nal and Senior, Andrew and Kavukcuoglu, Koray}, + year = 2016, + journal = {arXiv preprint arXiv:1609.03499} +} +@inproceedings{kim2018encoding, + title = {An encoding technique for CNN-based network anomaly detection}, + author = {Kim, Taejoon and Suh, Sang C and Kim, Hyunjoo and Kim, Jonghyun and Kim, Jinoh}, + year = 2018, + booktitle = {2018 IEEE International Conference on Big Data (Big Data)}, + pages = {2960--2965}, + organization = {IEEE} +} +@inproceedings{chigurupati2017root, + title = {Root cause analysis using artificial intelligence}, + author = {Chigurupati, Asha and Lassar, Noah}, + year = 2017, + booktitle = {2017 Annual reliability and maintainability symposium (RAMS)}, + pages = {1--5}, + organization = {IEEE} +} +@article{gonzalez2017root, + title = {Root cause analysis of network failures using machine learning and summarization techniques}, + author = {Gonzalez, Jose Manuel Navarro and Jimenez, Javier Andion and Lopez, Juan Carlos Duenas and others}, + year = 2017, + journal = {IEEE Communications Magazine}, + publisher = {IEEE}, + volume = 55, + number = 9, + pages = {126--131} +} +@inproceedings{samir2019dla, + title = {DLA: Detecting and localizing anomalies in containerized microservice architectures using markov models}, + author = {Samir, Areeg and Pahl, Claus}, + year = 2019, + booktitle = {2019 7th International Conference on Future Internet of Things and Cloud (FiCloud)}, + pages = {205--213}, + organization = {IEEE} +} +@inproceedings{wu2020microrca, + title = {Microrca: Root cause localization of performance issues in microservices}, + author = {Wu, Li and Tordsson, Johan and Elmroth, Erik and Kao, Odej}, + year = 2020, + booktitle = {NOMS 2020-2020 IEEE/IFIP Network Operations and Management Symposium}, + pages = {1--9}, + organization = {IEEE} +} +@article{wang2020generalizing, + title = {Generalizing from a few examples: A survey on few-shot learning}, + author = {Wang, Yaqing and Yao, Quanming and Kwok, James T and Ni, Lionel M}, + year = 2020, + journal = {ACM Computing Surveys (CSUR)}, + publisher = {ACM New York, NY, USA}, + volume = 53, + number = 3, + pages = {1--34} +} +@inproceedings{zhang2019deep, + title = {A deep neural network for unsupervised anomaly detection and diagnosis in multivariate time series data}, + author = {Zhang, Chuxu and Song, Dongjin and Chen, Yuncong and Feng, Xinyang and Lumezanu, Cristian and Cheng, Wei and Ni, Jingchao and Zong, Bo and Chen, Haifeng and Chawla, Nitesh V}, + year = 2019, + booktitle = {Proceedings of the AAAI Conference on Artificial Intelligence}, + volume = 33, + pages = {1409--1416} +} +@article{soldani2021anomaly, + title = {Anomaly Detection and Failure Root Cause Analysis in (Micro) Service-Based Cloud Applications: A Survey}, + author = {Soldani, Jacopo and Brogi, Antonio}, + year = 2021, + journal = {arXiv preprint arXiv:2105.12378} +} +@inproceedings{hagemann2020systematic, + title = {A Systematic Review on Anomaly Detection for Cloud Computing Environments}, + author = {Hagemann, Tanja and Katsarou, Katerina}, + year = 2020, + booktitle = {2020 3rd Artificial Intelligence and Cloud Computing Conference}, + pages = {83--96} +} +@article{hinton2006reducing, + title = {Reducing the dimensionality of data with neural networks}, + author = {Hinton, Geoffrey E and Salakhutdinov, Ruslan R}, + year = 2006, + journal = {science}, + publisher = {American Association for the Advancement of Science}, + volume = 313, + number = 5786, + pages = {504--507} +} +@article{goodfellow2014generative, + title = {Generative adversarial nets}, + author = {Goodfellow, Ian and Pouget-Abadie, Jean and Mirza, Mehdi and Xu, Bing and Warde-Farley, David and Ozair, Sherjil and Courville, Aaron and Bengio, Yoshua}, + year = 2014, + journal = {Advances in neural information processing systems}, + volume = 27 +} +@article{donahue2016adversarial, + title = {Adversarial feature learning}, + author = {Donahue, Jeff and Kr{\"a}henb{\"u}hl, Philipp and Darrell, Trevor}, + year = 2016, + journal = {arXiv preprint arXiv:1605.09782} +} +@article{buckland1994relationship, + title = {The relationship between recall and precision}, + author = {Buckland, Michael and Gey, Fredric}, + year = 1994, + journal = {Journal of the American society for information science}, + publisher = {Wiley Online Library}, + volume = 45, + number = 1, + pages = {12--19} +} +@misc{Accuracy18:online, + title = {Accuracy vs. F1-Score}, + author = {urva Huilgol}, + year = 2019, + month = {08}, + note = {(Accessed on 10/20/2021)}, + howpublished = {\url{https://medium.com/analytics-vidhya/accuracy-vs-f1-score-6258237beca2}} +} +% Approach +@misc{WhatisaS27:online, + title = {What is a System Monitor?}, + author = {G. Wiesen}, + year = {}, + month = {}, + note = {(Accessed on 10/02/2021)}, + howpublished = {\url{https://www.easytechjunkie.com/what-is-a-system-monitor.htm}} +} +@misc{Whatisvi12:online, + title = {What is virtualization?}, + author = {}, + year = {}, + month = {}, + note = {(Accessed on 10/02/2021)}, + howpublished = {\url{https://www.redhat.com/en/topics/virtualization/what-is-virtualization#history-of-virtualization}} +} +@article{Mergen_Uhlig_Krieger_Xenidis_2006, + title = {Virtualization for high-performance computing}, + author = {Mergen, Mark F. and Uhlig, Volkmar and Krieger, Orran and Xenidis, Jimi}, + year = 2006, + month = {Apr}, + journal = {ACM SIGOPS Operating Systems Review}, + volume = 40, + number = 2, + pages = {8–11}, + doi = {10.1145/1131322.1131328}, + issn = {0163-5980}, + abstractnote = {The specific demands of high-performance computing (HPC) often mismatch the assumptions and algorithms provided by legacy operating systems (OS) for common workload mixes. While feature- and application-rich OSes allow for flexible and low-cost hardware configurations, rapid development, and flexible testing and debugging, the mismatch comes at the cost of — oftentimes significant — performance degradation for HPC applications.} +} +@misc{7waysweh13:online, + title = {7 ways we harden our KVM hypervisor at Google Cloud: security in plaintext | Google Cloud Blog}, + author = {Andy Honig, Nelly Porter}, + year = 2017, + month = {01}, + note = {(Accessed on 10/02/2021)}, + howpublished = {\url{https://cloud.google.com/blog/products/gcp/7-ways-we-harden-our-kvm-hypervisor-at-google-cloud-security-in-plaintext}} +} +@inproceedings{kivity2007kvm, + title = {kvm: the Linux virtual machine monitor}, + author = {Kivity, Avi and Kamay, Yaniv and Laor, Dor and Lublin, Uri and Liguori, Anthony}, + year = 2007, + booktitle = {Proceedings of the Linux symposium}, + volume = 1, + number = 8, + pages = {225--230}, + organization = {Dttawa, Dntorio, Canada} +} +@inproceedings{toka2021predicting, + title = {Predicting cloud-native application failures based on monitoring data of cloud infrastructure}, + author = {Toka, Laszlo and Dobreff, Gergely and Haja, David and Szalay, Mark}, + year = 2021, + booktitle = {2021 IFIP/IEEE International Symposium on Integrated Network Management (IM)}, + pages = {842--847}, + organization = {IEEE} +} +@inproceedings{li2019service, + title = {Service mesh: Challenges, state of the art, and future research opportunities}, + author = {Li, Wubin and Lemieux, Yves and Gao, Jing and Zhao, Zhuofeng and Han, Yanbo}, + year = 2019, + booktitle = {2019 IEEE International Conference on Service-Oriented System Engineering (SOSE)}, + pages = {122--1225}, + organization = {IEEE} +} +@misc{Benchmar93:online, + title = {Benchmarking Linkerd and Istio}, + author = {William Morgan}, + year = 2021, + month = {05}, + note = {(Accessed on 10/02/2021)}, + howpublished = {\url{https://linkerd.io/2021/05/27/linkerd-vs-istio-benchmarks/}} +} +@misc{Whatissi48:online, + title = {What is sidecar proxy?}, + author = {Alexander S. Gillis}, + year = 2019, + month = {01}, + note = {(Accessed on 10/02/2021)}, + howpublished = {\url{https://searchitoperations.techtarget.com/definition/sidecar-proxy}} +} +@misc{LKMLIngo52:online, + title = {LKML: Ingo Molnar: [GIT PULL] perf updates for v4.1}, + author = {Ingo Molnar}, + year = 2015, + month = 4, + note = {(Accessed on 10/02/2021)}, + howpublished = {\url{https://lkml.org/lkml/2015/4/14/232}} +} +@misc{WhatiseB46:online, + title = {What is eBPF?}, + author = {}, + year = {}, + month = {}, + note = {(Accessed on 10/07/2021)}, + howpublished = {\url{https://ebpf.io/what-is-ebpf}} +} +@article{batista2004study, + title = {A study of the behavior of several methods for balancing machine learning training data}, + author = {Batista, Gustavo EAPA and Prati, Ronaldo C and Monard, Maria Carolina}, + year = 2004, + journal = {ACM SIGKDD explorations newsletter}, + publisher = {ACM New York, NY, USA}, + volume = 6, + number = 1, + pages = {20--29} +} +@inproceedings{akcay2018ganomaly, + title = {Ganomaly: Semi-supervised anomaly detection via adversarial training}, + author = {Akcay, Samet and Atapour-Abarghouei, Amir and Breckon, Toby P}, + year = 2018, + booktitle = {Asian conference on computer vision}, + pages = {622--637}, + organization = {Springer} +} +@inproceedings{geethika2019anomaly, + title = {Anomaly Detection in High-Performance API Gateways}, + author = {Geethika, Deshani and Jayasinghe, Malith and Gunarathne, Yasas and Gamage, Thilina Ashen and Jayathilaka, Sudaraka and Ranathunga, Surangika and Perera, Srinath}, + year = 2019, + booktitle = {2019 International Conference on High Performance Computing \& Simulation (HPCS)}, + pages = {995--1001}, + organization = {IEEE} +} +@article{khoshnevisan2019rsm, + title = {Rsm-gan: A convolutional recurrent gan for anomaly detection in contaminated seasonal multivariate time series}, + author = {Khoshnevisan, Farzaneh and Fan, Zhewen}, + year = 2019, + journal = {arXiv preprint arXiv:1911.07104} +} +@inproceedings{nguyen2013fchain, + title = {Fchain: Toward black-box online fault localization for cloud systems}, + author = {Nguyen, Hiep and Shen, Zhiming and Tan, Yongmin and Gu, Xiaohui}, + year = 2013, + booktitle = {2013 IEEE 33rd International Conference on Distributed Computing Systems}, + pages = {21--30}, + organization = {IEEE} +} +@incollection{nguyen2011pal, + title = {Pal: P ropagation-aware a nomaly localization for cloud hosted distributed applications}, + author = {Nguyen, Hiep and Tan, Yongmin and Gu, Xiaohui}, + year = 2011, + booktitle = {Managing Large-scale Systems via the Analysis of System Logs and the Application of Machine Learning Techniques}, + pages = {1--8} +} +@inproceedings{wang2020root, + title = {Root-cause metric location for microservice systems via log anomaly detection}, + author = {Wang, Lingzhi and Zhao, Nengwen and Chen, Junjie and Li, Pinnong and Zhang, Wenchi and Sui, Kaixin}, + year = 2020, + booktitle = {2020 IEEE International Conference on Web Services (ICWS)}, + pages = {142--150}, + organization = {IEEE} +} +@inproceedings{ma2020automap, + title = {Automap: Diagnose your microservice-based web applications automatically}, + author = {Ma, Meng and Xu, Jingmin and Wang, Yuan and Chen, Pengfei and Zhang, Zonghua and Wang, Ping}, + year = 2020, + booktitle = {Proceedings of The Web Conference 2020}, + pages = {246--258} +} +@inproceedings{meng2020localizing, + title = {Localizing failure root causes in a microservice through causality inference}, + author = {Meng, Yuan and Zhang, Shenglin and Sun, Yongqian and Zhang, Ruru and Hu, Zhilong and Zhang, Yiyin and Jia, Chenyang and Wang, Zhaogang and Pei, Dan}, + year = 2020, + booktitle = {2020 IEEE/ACM 28th International Symposium on Quality of Service (IWQoS)}, + pages = {1--10}, + organization = {IEEE} +} +% Research Gap +@misc{GoingtoM51:online, + title = {Going to Market Faster: Most Companies Are Deploying Code Weekly, Daily, or Hourly}, + author = {Asami Novak}, + year = 2016, + month = {02}, + note = {(Accessed on 09/04/2021)}, + howpublished = {\url{https://newrelic.com/blog/best-practices/data-culture-survey-results-faster-deployment}} +} +@inproceedings{ribeiro2016should, + title = {"Why should i trust you?" Explaining the predictions of any classifier}, + author = {Ribeiro, Marco Tulio and Singh, Sameer and Guestrin, Carlos}, + year = 2016, + booktitle = {Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining}, + pages = {1135--1144} +} +% Research Challenges +@misc{WhatisCo78:online, + title = {What is Container Orchestration?}, + author = {IBM}, + year = 2021, + month = {05}, + note = {(Accessed on 09/14/2021)}, + howpublished = {\url{https://www.ibm.com/cloud/learn/container-orchestration}} +} +@misc{Googlead4:online, + title = {Google admits Kubernetes container tech is so complex, it's had to roll out an Autopilot feature to do it all for you • The Register}, + author = {Tim Anderson}, + year = 2021, + month = {02}, + note = {(Accessed on 09/14/2021)}, + howpublished = {\url{https://www.theregister.com/2021/02/25/google_kubernetes_autopilot/}} +} +@misc{Unsuperv29:online, + title = {Unsupervised Learning and Data Clustering}, + author = {Sanatan Mishra}, + year = 2017, + month = {05}, + note = {(Accessed on 10/08/2021)}, + howpublished = {\url{https://towardsdatascience.com/unsupervised-learning-and-data-clustering-eeecb78b422a}} +} +@article{silver2016mastering, + title = {Mastering the game of Go with deep neural networks and tree search}, + author = {Silver, David and Huang, Aja and Maddison, Chris J and Guez, Arthur and Sifre, Laurent and Van Den Driessche, George and Schrittwieser, Julian and Antonoglou, Ioannis and Panneershelvam, Veda and Lanctot, Marc and others}, + year = 2016, + journal = {nature}, + publisher = {Nature Publishing Group}, + volume = 529, + number = 7587, + pages = {484--489} +} +% Research methods +@misc{1Philoso75:online, + title = {Philosophy of Science | Four Major Paradigms}, + author = {Ziaul Haque Munim}, + year = 2019, + month = {02}, + note = {(Accessed on 09/08/2021)}, + howpublished = {\url{https://www.youtube.com/watch?v=n8B50HJrAv0}} +} +@misc{Pragmati87:online, + title = {Pragmatism Research Philosophy}, + author = {John Dudovskiy}, + year = {}, + month = {}, + note = {(Accessed on 09/08/2021)}, + howpublished = {\url{https://research-methodology.net/research-philosophy/pragmatism-research-philosophy/}} +} +@misc{WhatAreT79:online, + title = {What Are The Top 8 Project Management Methodologies?}, + author = {Erica Chappell}, + year = 2021, + month = {01}, + note = {(Accessed on 09/22/2021)}, + howpublished = {\url{https://clickup.com/blog/project-management-methodologies/#36-7-what-is-the-prince2-methodology}} +}