Practical Java software optimizations for a high-performance and scalable WAP gateway

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Helsinki University of Technology | Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2009

Major/Subject

Tietämystekniikka

Mcode

T-93

Degree programme

Language

en

Pages

147

Series

Abstract

Java-ohjelmointikieli on suosittu valinta toteutettaessa palvelinpuolen ohjelmistoja, joissa luotettavuus, tietoturva ja joskus myös alustariippumattomuus ovat tärkeitä huomioonotettavia asioita suorituskyvyn ja skaalautuvuuden ohella. Javan tehokkuutta pidetään yleensä huonompana kuin matalamman tason kielillä kuten C, vaikka parannusta onkin tapahtunut viime vuosina. Kun ohjelmistojärjestelmät kasvavat ja tietokoneet tulevat tehokkaammiksi, ohjelmointikielen valinta siirtyy luonnostaan korkeamman tason kieliä kohti, mutta tarve järjestelmän joidenkin osien optimointiin tai skaalautuvien suunnitteluratkaisujen käyttöön ei ole kokonaan poistunut. Tässä diplomityössä esitellään käytännöllisiä Java-ohjelmien optimointimenetelmiä tilanteisiin, joihin törmätään usein korkean suorituskyvyn palvelinohjelmistoissa, sekä arvioidaan niiden vaikutuksia suorituskykyyn ja skaalautuvuuteen samalla, kun vertaillaan eri suunnitteluratkaisuja ja algoritmeja. Optimoinnit pyritään tekemään pääasiassa kohtiin, joissa ne eivät vaikuta liikaa järjestelmän arkkitehtuuriin tai komponenttien välisiin rajapintoihin, eivätkä siten vaaranna raa'an suorituskyvyn vuoksi muita tavoitteita, kuten luotettavuutta. Optimoinnit testataan tämän diplomityön kirjoittajan aiemmin tekemän WAP gateway:n yhteydessä, joka on käytössä useilla mobiiliperaattoreilla eri puolilla maailmaa. Joitakin käsiteltäviä aihealueita ovat: useammille prosessoreille ja lukuisille rinnakkaisille tapahtumille skaalautuva protokollapinon toteutusarkkitehtuuri, skaalautuvia tehtäväjonoalgoritmeja rinnakkaisuutta käyttäviä palvelinohjelmistoja varten, protokollaviestien lukemista tehostava välimuisti hyödyntäen eri viesteissä toistuvia rakenteita sekä ajastin tiedonsiirtoprotokollia varten. Lisäksi esitellään nopea ja skaalautuva toteutus HTTP-protokollasta ja verrattaan sitä tunnettuihin avoimen lähdekoodin toteutuksiin, sekä samassa yhteydessä tutkitaan Javan suorituskykyä matalan tason toiminnoissa. Työssä tutkitaan myös lähestymistapoja rinnakkaisuuden hallintaan segmentoidussa tiedonsiirrossa, sekä vertaillaan joidenkin WAP gateway - järjestelmään tehtyjen optimointien hyötyjä.

Description

Supervisor

Syrjänen, Markku

Thesis advisor

Oksanen, Kenneth

Keywords

Java, Java, protocol stack, protokollapino, performance, suorituskyky, scalability, skaalautuvuus, WAP, WAP, HTTP, HTTP

Other note

Citation