Graduate papers
  
Description of the graduate paper
Form of studies Bachelor
Title of the study programm Computer Systems
Title in original language Rust valodas analīze paralēlās un asinhronās programmēšanas kontekstā
Title in English Analysis of Rust Language in the Context of Parallel and Asynchronous Programming
Department 12300 Institute of Applied Computer Systems
Scientific advisor Pāvels Rusakovs
Reviewer David Griberman
Abstract 1. Tips Asinhronās un paralēlās programmēšanas paņēmieni/veidi tiek plaši izmantoti visu veidu programmās, lai uzlabotu veiktspēju, atsaucīgumu, latentumu u.c. programmas īpašības un Rust ir viena no tām valodām, kam ir lielisks atbalsts abiem šiem veidiem. Par cik šī valoda ir relatīvi jauna un unikāla savos aspektos (Īpašumtiesību un aizņemšanās sistēma), nepieciešams dziļāk izpētīt valodas darbību šajos kontekstos. Darba mērķis - Bakalaura darba mērķis ir analizēt Rust valodas darbību asinhronās programmēšanas un vairākpavedienošanas, kas iekļauj gan paralēlo, gan laiksakritīgo programmēšanu kontekstā, un salīdzināt to ar citu valodu tādā pašā kontekstā. Darbā tiek aplūkoti abi programmēšanas veidi, kāpēc tie tiek izmantoti, to pielietojuma gadījumi, kā arī aplūkota Rust valoda šajā kontekstā. Lai veiksmīgi izstrādātu šo pētījumu nepieciešams izveidot testpiemērus, kuros tiek implementēti šie paņēmieni un analizēta valodas darbību atmiņas lietojumā, veiktspējā, lietošanas vienkāršībā, drošībā un mērogojamībā. Darbā ietvertas vairākas implementācijas paralēlai programmēšanai – kārtošana un matricu reizināšana, un asinhronai programmēšanai – simulēta failu ielāde ar citiem uzdevumiem. Risinājumi izveidoti ar Rust valodas “rayon” bibliotēku un Tokio izpildlaiku priekš paralēlām un asinhronām implementācijām, un C++ valodā tie tika aizgūti no eksistējošām implementācijām. Bakalaura darbs sastāv no 61 lappuses, 26 attēliem, 4 tabulām, 2 pielikumiem un izmantoto avotu skaits ir 22.
Keywords Rust, asinhronā un paralēlā programmēšana, pavedieni, vairākpavedienošana, asinhronisms, Tokio, rayon
Keywords in English Rust, asynchronous and parallel programming, threads, multi-threading, asynchrony, Tokio, rayon
Language lv
Year 2023
Date and time of uploading 28.05.2023 18:44:50