haku: @instructor Salonen, Mika / yhteensä: 4
viite: 1 / 4
« edellinen | seuraava »
Tekijä: | Pirilä, Vesa |
Työn nimi: | Improving performance in large legacy software |
Suorituskyvyn parannus laajassa, vanhassa ohjelmistossa | |
Julkaisutyyppi: | Diplomityö |
Julkaisuvuosi: | 2009 |
Sivut: | (9) + 72 s. Kieli: eng |
Koulu/Laitos/Osasto: | Tietotekniikan laitos |
Oppiaine: | Ohjelmistotekniikka (T-106) |
Valvoja: | Saikkonen, Heikki |
Ohjaaja: | Salonen, Mika |
Digitoitu julkaisu: | https://aaltodoc.aalto.fi/handle/123456789/96291 |
OEVS: | Digitoitu arkistokappale on julkaistu Aaltodocissa
|
Sijainti: | P1 Ark Aalto 8581 | Arkisto |
Avainsanat: | performance analysis performance tuning OpenMP TBB MPI RapidMind SMP parallelism legacy BIM software multi-core suorituskykyanalyysi suorituskyvyn parannus rinnakkaisuus BIM-ohjelmisto moniydinprosessori |
Tiivistelmä (fin): | Vuoteen 2003 asti prosessorien kellotaajuus kaksinkertaistui noin 1,5-2 vuoden välein. Ohjelmistojen suoritus nopeutui vastaavasti ilman erillistä panosta kehittäjiltä. Vuoden 2003 jälkeen kellotaajuudet eivät ole käytännössä kasvaneet lainkaan, prosessorivalmistajat ovat sen sijaan ruvenneet laittamaan useita ytimiä prosessoreihinsa. Yhtä säiettä voi suorittaa vain yhdessä ytimessä kerrallaan, joten yksisäikeisten ohjelmien suoritus ei ole nopeutunut lainkaan samaa tahtia kuin aiemmin. Jotta ohjelmistot pystyvät hyötymään uusista ytimistä, niiden suoritus täytyy jakaa useampaan säikeeseen. Vanhoja ohjelmistoja ei kuitenkaan useimmiten ole suunniteltu rinnakkaisuutta ajatellen, joten siirtyminen useampaan säikeeseen tuottaa erityisiä haasteita. Tässä työssä etsittiin tapoja vanhan ohjelmiston rinnakkaistamiseen, tutkittiin esiintyviä haasteita ja esitettiin niihin ratkaisuja. Kirjallisuustutkimuksessa perehdyttiin erityisesti erilaisiin rinnakkaistamista tukeviin ohjelmistokehyksiin, kuten OpenMP:hen, Threading Building Blocksiin, MPI:hin ja RapidMindiin. Tapaustutkimuksen kohteena on Tekla Structures rakennussuunnitteluohjelmiston visualisointialgoritmi, jolla määritellään esitystapa jokaiselle rakennuksen osalle sen suunnitellun asennuspäivän ja käyttäjän asetusten perusteella. Algoritmia saatiin nopeutettua noin 85% pelkästään yksisäikeisen koodin optimoinnilla. Optimoinnin askeleet on kuvattu työssä, kategorisoitu, ja niiden vaikutus mitattu. Algoritmin rinnakkaistaminen onnistui OpenMP:tä käyttäen, mutta algoritmin suorituskyky ei parantunut rinnakkaistaessa säieturvallisuusongelmien takia. Analyysiosiossa tehdään ehdotus säieturvallisuuden parantamiseksi muun muassa tietokantakirjastossa ja työkalukirjastoissa. Säieturvallisuus ja arkkitehtuurin heikkeneminen ovat suuria ongelmia vanhojen ohjelmistojen rinnakkaistamisessa. Niiden kimppuun täytyy käydä mahdollisimman pian, jotta suoritus voidaan jakaa useampaan säikeeseen tulevina vuosina. Kokonaisten ohjelmistojen muuttaminen suoraan rinnakkaiseen suoritukseen on mahdotonta, mutta onneksi muun muassa OpenMP tarjoaa mahdollisuuden rinnakkaistaa ohjelman vähitellen osina. Suurin osa yhteen vanhojen ohjelmien suorituksesta jää luultavasti lähitulevaisuudessakin yhteen säikeeseen, mutta tiettyjen suorituskykykriittisien osien rinnakkaistaminen tulee olemaan tärkeä haaste tulevina vuosina. |
ED: | 2009-03-31 |
INSSI tietueen numero: 37247
+ lisää koriin
« edellinen | seuraava »
INSSI