{"id":5,"date":"2024-04-04T06:13:10","date_gmt":"2024-04-04T03:13:10","guid":{"rendered":"https:\/\/sisu.ut.ee\/ics-ds\/theses\/"},"modified":"2024-05-08T15:12:28","modified_gmt":"2024-05-08T12:12:28","slug":"theses","status":"publish","type":"page","link":"https:\/\/sisu.ut.ee\/ics-ds\/theses\/","title":{"rendered":"Theses"},"content":{"rendered":"<h2><strong>Theses theme proposals:<\/strong><\/h2>\n<ul>\n<li>Mobile &amp; Cloud Lab <a title=\"\" href=\"https:\/\/mc.cs.ut.ee\/theses\/\" target=\"_blank\" rel=\"noopener\" data-url=\"https:\/\/mc.cs.ut.ee\/theses\/\">theses proposals<\/a><\/li>\n<li>Intelligent Transportation Systems Lab <a title=\"theses list\" href=\"https:\/\/its.cs.ut.ee\/wordpress\/?p=275%20\" target=\"_blank\" rel=\"noopener\" data-url=\"https:\/\/its.cs.ut.ee\/wordpress\/?p=275 \">theses topics<\/a><\/li>\n<li>Distributed and Pervasive Systems Group\u00a0<a title=\"theses topics\" href=\"https:\/\/dps.cs.ut.ee\/theses.html\" target=\"_blank\" rel=\"noopener\" data-url=\"https:\/\/dps.cs.ut.ee\/theses.html\">theses topics<\/a><\/li>\n<li>Theses themes related to <a title=\"\" href=\"https:\/\/drive.google.com\/drive\/folders\/1qY27ETF6JFwANCcsRZBr1z_V_nGwSY76?usp=sharing\" target=\"_blank\" rel=\"noopener\" data-url=\"https:\/\/drive.google.com\/drive\/folders\/1qY27ETF6JFwANCcsRZBr1z_V_nGwSY76?usp=sharing\">Autonomous driving<\/a><\/li>\n<li>Theses <a title=\"\" href=\"https:\/\/ulno.net\/advising\/#suggestions\" target=\"_blank\" rel=\"noopener\" data-url=\"https:\/\/ulno.net\/advising\/#suggestions\">themes by Dr Ulrich Norbisrath<\/a><\/li>\n<li><span id=\"docs-internal-guid-e0a78100-7fff-cf35-4020-dddf4fd2839e\" style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Topics on <\/span><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Chemoinformatics <\/span><a title=\"by Stefan Kuhn\" href=\"https:\/\/tinyurl.com\/52nhckec\" target=\"_blank\" rel=\"noopener\" data-url=\"https:\/\/tinyurl.com\/52nhckec\">by Stefan Kuhn<\/a><\/li>\n<li>Some of the themes related to parallel computing are listed here:<\/li>\n<\/ul>\n<p>Parallel implementation of Domain Decomposition Methods \u2013 testing the FreeFEM implementations<\/p>\n<p>Multiprecision arithmetics systems and applications in preconditioning \/ power saving etc. (sup. Eero Vainikko)<\/p>\n<p>Parallel programming languages and techniques (sup. Eero Vainikko)<\/p>\n<p><em>And in particular:<\/em><\/p>\n<h4 id=\"docs-internal-guid-fbcaa79c-7fff-b0c6-dec3-d3b4735425aa\" dir=\"ltr\" style=\"line-height: 1.295; text-align: justify; margin-top: 2pt; margin-bottom: 0pt;\">Reversible computations (sup. Eero Vainikko &amp; Stefan Kuhn)<\/h4>\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt;\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">The idea is to study the recent studies on reversibility and to try out and implement some subset of this fast-developing research area. As it is stated in [1] \u2014 the integration of reversibility in software development is still at an early stage. Therefore a lot of interesting ideas are worth investigating. Some of the sub-themes are (not limited to) as follows:<\/span><\/p>\n<ul>\n<li dir=\"ltr\">\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt;\" role=\"presentation\"><span id=\"docs-internal-guid-ce815ad3-7fff-d9b5-5be6-e9337c7187cd\" style=\"newroman';color: #00000a; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Reversible debugging of parallel programs<\/span><br>\n<span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Debugging parallel programs is an order of magnitude more complex than serial codes. The starting point is an existing parallel debugger implementation with basic capabilities for reverse execution of MPI (Message Passing Interface) programs based on parallel checkpoints of the program. The idea is to enhance the parallel debugger for a broader set of MPI commands and to enhance functionality.<\/span><\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt;\" role=\"presentation\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Behavioral contracts<\/span><br>\n<span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">The idea is to study the concept of Behavioural contracts. These are abstract descriptions of expected communication patterns for clients or servers in interaction. Behavioural contracts come naturally equipped with a notion of compliance: when a client and a server follow compliant contracts, their interaction is guaranteed to progress or successfully complete. The thesis will be about implementation and checking it out for some real set of situations.<\/span><\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt;\" role=\"presentation\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Reliability and fault-tolerance by choreographic design in Erlang<\/span><br>\n<span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">There is an implementation of fault-tolerance in the Erlang programming language. The purpose of the thesis is to study the implemented concepts, test it with some class of applications and possibly enhance the implementation for more wider set of cases.<\/span><\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt;\" role=\"presentation\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Reversible debugging of parallel programs<\/span><br>\n<span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Debugging parallel programs is known to be an order of magnitude more difficult than serial codes. The main idea is to investigate how reversibility can be beneficial for debugging parallel programs. Some real bugs in parallel programs will be tracked down with reversibility being the main concept for showing how this can be done much faster.<\/span><\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt;\" role=\"presentation\"><span id=\"docs-internal-guid-ec112358-7fff-33e0-5288-f84d444b39a9\" style=\"newroman';color: #00000a; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Fault tolerance and reversibility implementation within MPI (Message Passing Interface) programs<\/span><br>\n<span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">A starting point for this topic is here: <\/span><a style=\"text-decoration: none;\" href=\"https:\/\/www.open-mpi.org\/faq\/?category=ft\" target=\"_blank\" rel=\"noopener\"><span style=\"newroman';color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline;\">https:\/\/www.open-mpi.org\/faq\/?category=ft<\/span><\/a><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\"> \u2014 As can be seen, not much seems to have been implemented in this subject area. The task will be, based on recent developments in the reversibility studies to get something \u201creal\u201d done towards fault-tolerant programming using MPI.<\/span><\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt; margin-left: 40px;\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">[1] Mezzina C.A. et al. (2020) Software and Reversible Systems: A Survey of Recent Activities. In: Ulidowski I., Lanese I., Schultz U., Ferreira C. (eds) Reversible Computation: Extending Horizons of Computing. RC 2020. Lecture Notes in Computer Science, vol 12070. Springer, Cham. https:\/\/doi.org\/10.1007\/978-3-030-47361-7_2<\/span><\/p>\n<h4 dir=\"ltr\" style=\"line-height: 1.295; text-align: justify; margin-top: 2pt; margin-bottom: 0pt;\">Parallel implementation of Domain Decomposition Methods for wave propagation problemsand their performance testing (sup . Eero Vainikko)<\/h4>\n<ul>\n<li>\n<p dir=\"ltr\" style=\"line-height: 1.295; text-align: justify; margin-top: 2pt; margin-bottom: 0pt;\"><span id=\"docs-internal-guid-9dc0b9da-7fff-8e7e-e988-3ccb75ee089e\" style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">The domain Decomposition Method is a powerful technique for solving large problems in science and engineering. Starting with benchmarking existing parallel codes on the UT HPC cluster, written in the FreeFEM framework and, after that going deeper into performance tuning certain Domain Decomposition implementations.<\/span><\/p>\n<\/li>\n<\/ul>\n<h4 dir=\"ltr\" style=\"line-height: 1.295; text-align: justify; margin-top: 2pt; margin-bottom: 0pt;\">GPGPU \u2013 General-purpose computing on graphics processing units (EeroVainikko &amp; Ulrich Norbisrath)<\/h4>\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 0pt; margin-bottom: 0pt; margin-left: 40px;\" role=\"presentation\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Using GPUs for computations to perform computation in applications traditionally handled by the CPU is an attractive way to speed up calculations. Multiple computational problems are of interest to try out using this technique.<\/span><\/p>\n<h3 dir=\"ltr\" style=\"line-height: 1.295; text-align: justify; margin-top: 2pt; margin-bottom: 0pt;\"><\/h3>\n<h4 dir=\"ltr\" style=\"line-height: 1.295; text-align: justify; margin-top: 2pt; margin-bottom: 0pt;\">Multiprecision arithmetic computations (Eero)<\/h4>\n<ul dir=\"ltr\">\n<li style=\"line-height: 1.2; text-align: justify; margin-top: 0pt; margin-bottom: 0pt;\" role=\"presentation\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Numerical methods utilizing mixed-precision arithmetic [2]<\/span><\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"new;line-height: 1.2; text-align: justify; margin-top: 0pt; margin-bottom: 0pt;\" role=\"presentation\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Some examples in interest:<\/span><br>\n<span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">\u00a0\u00a0\u00a0 <\/span><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">Multiprecision arithmetics in preconditioning techniques in iterative solvers<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.2; text-align: justify; margin-top: 10pt; margin-bottom: 0pt; margin-left: 40px;\"><span style=\"newroman';color: #00000a; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;\">[2] Abdelfattah, A., H. Anzt, E. Boman, E. Carson, T. Cojean, J. Dongarra et al., A Survey of Numerical Methods Utilizing Mixed Precision Arithmetic, Innovative Computing Laboratory University of Tennessee, Tech. Report, 2020<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Theses theme proposals: Mobile &amp; Cloud Lab theses proposals Intelligent Transportation Systems Lab theses topics Distributed and Pervasive Systems Group\u00a0theses topics Theses themes related to Autonomous driving Theses themes by Dr Ulrich Norbisrath Topics on Chemoinformatics by Stefan Kuhn Some &#8230;<\/p>\n","protected":false},"author":229,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-5","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/pages\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/users\/229"}],"replies":[{"embeddable":true,"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":4,"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/pages\/5\/revisions"}],"predecessor-version":[{"id":71,"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/pages\/5\/revisions\/71"}],"wp:attachment":[{"href":"https:\/\/sisu.ut.ee\/ics-ds\/wp-json\/wp\/v2\/media?parent=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}