Show simple item record

OpenMP pro Javu
dc.contributor.advisorSteinhauser, Antonín
dc.creatorBělohlávek, Petr
dc.date.accessioned2017-05-26T09:25:16Z
dc.date.available2017-05-26T09:25:16Z
dc.date.issued2015
dc.identifier.urihttp://hdl.handle.net/20.500.11956/61840
dc.description.abstractVzhledem k zpětné kompatibilitě je vícevláknové programování v Javě často implementováno neefektivně a odrazuje nezkušené programátory od vývoje paralelních aplikací. Tato práce představuje omp4j - preprocesor pro Javu 6, 7 a 8, který je nezávislý na běhových knihovnách a podporuje kompaktní podmnožinu nejdůležitějších OpenMP direktiv. Vyvinutý preprocesor podporuje všechny běžně užívané JVM a jím přeložené programy jsou navíc dobře škálovatelné. Pro zajištění paralelního běhu zdrojových kódů je použita kombinace syntaktické a bytecode analýzy. Vyvinutý program lze používat dvěma způsoby - přímo z příkazové řádky nebo jako knihovnu pro Java a Scala projekty. Druhý zmíněný způsob použití je demonstrován ve formě online dema v rámci stránky projektu - www.omp4j.org. Práce obsahuje vypracované vyhodnocení výkonnosti, ve kterém jsou diskutovány jednotlivé aspekty preprocesoru a srovnání s podobnými projekty v C++ a Javě. Ve srovnáním s těmito projekty byla na některých měřeních u omp4j prokázána signifikantně lepší škálovatelnost na hladině významnosti alfa = 0.01. Powered by TCPDF (www.tcpdf.org)cs_CZ
dc.description.abstractDue to its backward compatibility, multi-threaded programming in Java is often performed ineffectively and repels inexperienced programmers from development of parallel applications. This thesis introduces omp4j - an OpenMP-like preprocessor that supports Java language standards 6, 7 and 8 without any runtime dependencies. Furthermore, the thesis develops a scalable and portable solution for all commonly used JDKs. The combination of the syntax and bytecode analyses is employed by the preprocessor in order to parallelize the source code. The developed project may be used either as a CLI utility or as a third-party library for Java and Scala projects. The latter possibility is demonstrated in an online demo which was developed together with the project website - www.omp4j.org. Additionally, the performance evaluation, which discusses various aspects of the implemented preprocessor, is presented and the comparisons to the related C++ and Java solutions are elaborated. In comparison to the similar projects, significantly better scalability of omp4j is proven at significance level alpha = 0.01 for some of the benchmarks. Powered by TCPDF (www.tcpdf.org)en_US
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectOpenMPcs_CZ
dc.subjectJavacs_CZ
dc.subjectScalacs_CZ
dc.subjectOpenMPen_US
dc.subjectJavaen_US
dc.subjectScalaen_US
dc.titleOpenMP for Javaen_US
dc.typebakalářská prácecs_CZ
dcterms.created2015
dcterms.dateAccepted2015-06-15
dc.description.departmentDepartment of Distributed and Dependable Systemsen_US
dc.description.departmentKatedra distribuovaných a spolehlivých systémůcs_CZ
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.identifier.repId153227
dc.title.translatedOpenMP pro Javucs_CZ
dc.contributor.refereeKruliš, Martin
dc.identifier.aleph002006614
thesis.degree.nameBc.
thesis.degree.levelbakalářskécs_CZ
thesis.degree.disciplineObecná informatikacs_CZ
thesis.degree.disciplineGeneral Computer Scienceen_US
thesis.degree.programInformatikacs_CZ
thesis.degree.programComputer Scienceen_US
uk.thesis.typebakalářská prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémůcs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Distributed and Dependable Systemsen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csObecná informatikacs_CZ
uk.degree-discipline.enGeneral Computer Scienceen_US
uk.degree-program.csInformatikacs_CZ
uk.degree-program.enComputer Scienceen_US
thesis.grade.csVýborněcs_CZ
thesis.grade.enExcellenten_US
uk.abstract.csVzhledem k zpětné kompatibilitě je vícevláknové programování v Javě často implementováno neefektivně a odrazuje nezkušené programátory od vývoje paralelních aplikací. Tato práce představuje omp4j - preprocesor pro Javu 6, 7 a 8, který je nezávislý na běhových knihovnách a podporuje kompaktní podmnožinu nejdůležitějších OpenMP direktiv. Vyvinutý preprocesor podporuje všechny běžně užívané JVM a jím přeložené programy jsou navíc dobře škálovatelné. Pro zajištění paralelního běhu zdrojových kódů je použita kombinace syntaktické a bytecode analýzy. Vyvinutý program lze používat dvěma způsoby - přímo z příkazové řádky nebo jako knihovnu pro Java a Scala projekty. Druhý zmíněný způsob použití je demonstrován ve formě online dema v rámci stránky projektu - www.omp4j.org. Práce obsahuje vypracované vyhodnocení výkonnosti, ve kterém jsou diskutovány jednotlivé aspekty preprocesoru a srovnání s podobnými projekty v C++ a Javě. Ve srovnáním s těmito projekty byla na některých měřeních u omp4j prokázána signifikantně lepší škálovatelnost na hladině významnosti alfa = 0.01. Powered by TCPDF (www.tcpdf.org)cs_CZ
uk.abstract.enDue to its backward compatibility, multi-threaded programming in Java is often performed ineffectively and repels inexperienced programmers from development of parallel applications. This thesis introduces omp4j - an OpenMP-like preprocessor that supports Java language standards 6, 7 and 8 without any runtime dependencies. Furthermore, the thesis develops a scalable and portable solution for all commonly used JDKs. The combination of the syntax and bytecode analyses is employed by the preprocessor in order to parallelize the source code. The developed project may be used either as a CLI utility or as a third-party library for Java and Scala projects. The latter possibility is demonstrated in an online demo which was developed together with the project website - www.omp4j.org. Additionally, the performance evaluation, which discusses various aspects of the implemented preprocessor, is presented and the comparisons to the related C++ and Java solutions are elaborated. In comparison to the similar projects, significantly better scalability of omp4j is proven at significance level alpha = 0.01 for some of the benchmarks. Powered by TCPDF (www.tcpdf.org)en_US
uk.file-availabilityV
uk.publication.placePrahacs_CZ
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémůcs_CZ
dc.identifier.lisID990020066140106986


Files in this item

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record


© 2017 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV