Rinnakkaisuus verkko-ohjelmoinnissa

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Bachelor's thesis

Department

Mcode

ELEC3016

Language

fi

Pages

35

Series

Abstract

Rinnakkaisuus on verkko-ohjelmoinnin keskeinen ominaispiirre, joka mahdollistaa useamman verkkoyhteyden prosessoinnin samanaikaisesti. Nettipalvelimissa ja muissa laajemmissa useita verkkoyhteyksiä hallitsevissa ohjelmissa rinnakkaisuuden tehokkuudella ja skaalautuvuudella on keskeinen rooli ohjelman suorituskyvyn kannalta. Erityisen tärkeitä ovat käyttöjärjestelmien tarjoamat rajapinnat, jotka mahdollistavat erinäisiä tapoja rinnakkaistaa verkko-ohjelmistoja. Tässä kandidaatintyössä tarkastellaan erityisesti IO-multipleksausrajapintoja Linux ja Windows käyttöjärjestelmissä, ja tutkitaan, miten ne mahdollistavat tehokkaan verkko-ohjelmoinnin. Erityisesti keskitytään siihen, miten nämä verkkorajapinnat ovat ajan myötä kehittyneet ja minkälaisia optimointeja niihin on lisätty. Kandidaatintyössä esitetään myös yleiskatsaus rinnakkaisajosta, sekä tarkastellaan, miten rinnakkaisajo on vaikuttanut verkko-ohjelmointiin asynkronisen ohjelmoinnin merkeissä. Työn loppupuolella tätä tarkastellaan kahden asynkronisen ohjelmointiympäristön avulla: Node.js ja Tokio. Kirjastoissa tutkitaan, miten asynkroninen ohjelmointi on niissä toteutettu alhaisella tasolla ja miten niissä hyödynnetään taustalla IO-multipleksausta. Työssä keskitytään nimenomaan rinnakkaisuutta mahdollistaviin rajapintoihin, joten muut rinnakkaisuudessa huomioitavat asiat kuten synkronointi ja muistilukkojen käyttö jäävät vähemmälle huomiolle.

Description

Supervisor

Turunen, Markus

Thesis advisor

Sarolahti, Pasi

Other note

Citation