Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Performance based adaptation of Scala programs
Název práce v češtině: Adaptace programů ve Scale zaměřená na výkon
Název v anglickém jazyce: Performance based adaptation of Scala programs
Klíčová slova: adaptivní systémy, optimalizace výkonu, predikce běhu
Klíčová slova anglicky: adaptive systems, performance optimization, run time prediction
Akademický rok vypsání: 2016/2017
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: prof. RNDr. Tomáš Bureš, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 03.04.2017
Datum zadání: 10.04.2017
Datum potvrzení stud. oddělením: 27.04.2017
Datum a čas obhajoby: 06.09.2017 10:30
Datum odevzdání elektronické podoby:21.07.2017
Datum odevzdání tištěné podoby:21.07.2017
Datum proběhlé obhajoby: 06.09.2017
Oponenti: Mgr. Vojtěch Horký, Ph.D.
 
 
 
Zásady pro vypracování
Developers often come across situations where it is possible to implement the same functionality (algorithms, database queries, data manipulation, etc.) in multiple different ways. There can be a significant difference in the performance of these implementations and using an inappropriate one can have a negative impact on the application. In order to avoid this, the developer currently has to test the performance manually, select the best option and then use it in the program. The performance usually depends on the execution context (input data, configuration, etc.), so there might not be a single solution that would be the best in every case.

The goal of the thesis is to design and implement a Scala programming language framework, which would allow the developer to easily include more implementations of the same function in the program. The runtime support of the framework would then track the usages of the function, choose the implementation according to the context and measure performance, iteratively improving itself. The framework will be tested on real cases, e.g. the Apache Spark cluster computing system applications.
Seznam odborné literatury
[1] BULEJ, Lubomír, et al. Capturing performance assumptions using stochastic performance logic. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering. ACM, 2012. p. 311-322.
[2] HORKÝ, Vojtěch, et al. Performance regression unit testing: a case study. In: European Workshop on Performance Engineering. Springer Berlin Heidelberg, 2013. p. 149-163.
[3] MAREK, Lukáš, et al. Introduction to dynamic program analysis with DiSL. Science of Computer Programming, 2015, 98: 100-115.
[4] MAREK, Lukáš, et al. Java bytecode instrumentation made easy: The disl framework for dynamic program analysis. In: Asian Symposium on Programming Languages and Systems. Springer Berlin Heidelberg, 2012. p. 256-263.
[5] ZHANG, Zhuoyao; CHERKASOVA, Ludmila; LOO, Boon Thau. AutoTune: Optimizing Execution Concurrency and Resource Usage in MapReduce Workflows. In: ICAC. 2013. p. 175-181.
[6] Apache Spark documentation, http://spark.apache.org/docs/latest/index.htmlscala
[7] Scala language documentation, https://www.scala-lang.org/documentation/
 
Univerzita Karlova | Informační systém UK