aalto1 untyped-item.component.html
Rinnakkaisuus verkko-ohjelmoinnissa
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Bachelor's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
Department
Major/Subject
Mcode
ELEC3016
Degree programme
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.