...
Ja saako ubuntu kaiken irti 6 ytimestä?
Kannattanee ehkä googlailla ja hakea Ubuntun suunnitteluperusteita sitä kautta - jollei sitten joku kehittäjä halua tässä kommentoida tarkemmin?
Mutta noin periaatteessa luulisin, että saa kaiken mitä
on saatavissa. Se mitä on saatavissa on yleensä varsin rajallista ja riippuu hyvin pitkälle siitä mitä on tekemässä.
Jos ajatellaan esimerkiksi tavallista laskentaa, voi erotella erilaisia tapauksia rinnakkaisessa laskennassa:
- esim. kolmen luvun kertominen keskenään... tätä ei voi jakaa kuuteen osaan mitenkään. Joten rinnakkaislaskenta "ei toimi".
- 12 luvun kertominen keskenään...voi jakaa osittain mutta laskutoimituksia tulee jonkin verran enemmän jos jakaa ja laskeminen luultavasti hidastuu
- miljoonan luvun kertominen keskenään...voi jakaa ja oletettavasti toimii nopeammin
Kyse on sovelluksista voiko niissä kuuden prosessorin rinnakkainen laskenta edes teoriassa toimia nopeammin, tällaiset lienevät harvassa. Useimmat sovellukset tuskin osaavat tätä edes yrittää - eli jos eivät ole säikeistettyjä, eivät edes yritä.
Jos rinnakkaista laskentaa tekee, saattaa pullonkaulaksi muodostua levyn nopeus - esimerkiksi tavallinen SATA-II levy on törkeän hidas rinnakkaisessa käytössä - parempia tietysti löytyy, muttei halvalla. Triviaaliratkaisu on jakaa työ useammalle SATA-levylle, mutta tämä ei välttämättä ole mahdollista tai kätevää.
Jos kyse on pelkästä laskennasta, kuten esimerkiksi 3D-renderöinnissä, kirjoitettava datamäärä on suhteellisen pientä ja jos työn voi jakaa selkeästi useampiin prosesseihin niin tällaisessa tapauksessa:
- sovelluksen ei tarvitse olla säikeistetty koska käyttöjärjestelmä osaa jakaa eri prosessit eri ytimille automaattisesti (symmetric multitasking)
- levyn nopeus ei vaikuta
- useista ytimistä on hyötyä
Mutta tällaisessakin tapauksessa herää kysymys miten voi työllistää 6 ydintä - oletettavasti yleensä aika harvoin. Sen sijaan tällöin jopa 4 ytimestä voi olla hyötyä, jos samanaikaisia töitä on 2-3. Nythän koneella tapahtuu muutakin kuin tämä sovelluksen ajaminen, esimerkiksi itse käyttöjärjestelmän pyörittäminen, joten esim. kahdesta ytimestä on periaatteessa aina hyötyä jonkin verran ja kolmekin voi olla ihan kiva.
Useammasta ytimestä on kuitenkin yleensä vielä sellainen hyöty, että kone "ei hyydy totaalisesti" vaikka joku prosessi vie 100 % CPU:ta. Valitettavasti tosin tällaisessa tilanteessa kone saattaa kuitenkin hyytyä, esim. sen takia, että levylle kirjoitus hyydyttää koneen - tällaisia ongelmia ei muuten ollut 90-luvun SCSI-levyissä ollenkaan, mutta nykyiset SATA-II levytkään (siis halvat sellaiset) ei ole vielä samalla tasolla tässä suhteessa (täytyy kyllä sanoa, että ovat kaikissa muissa suhteissa huomattavasti parempia).
Ehkä tästä on jotakin apua ...
EDIT: Tähän voisi lisätä vielä sen, jos ei itsestään selvää, että multicoresta (ja useammasta prosessorista) on paljonkin apua serverillä, vaikka työasemalla hyödyt ovatkin vaikeammin saavutettavissa. Tämä johtuu siitä, että monesti serveriä käyttävät eri ihmiset käyttävät automaattisesti eri prosesseja ja symbolisen multiprosessoinnin mukaan nämä prosessit jakautuvat automaattisesti eri coreille. Tällöin multicore prosessori on aina toivottava serverille. Poikkeuksena tietysti (takavuosien) serveriohjelmistot, jotka saattoivat pyöriä vain yhtenä prosessina ja tällöin mitään jakoa usealle corelle tai prosessorille ei tapahtanut (koska eivät ne mitään säikeistettyjäkään olleet).
Jotta siis yksi yksittäinen asia voi jakautua useammalle corelle, pitää ohjelmiston olla niin sanotusti säikeistetty. Pientä hyötyä tulee toisesta coresta kuitenkin aina, koska koneellahan tapahtuu samanaikaisesti joka tapauksessa useampia asioita, vaikka varsinaisia ajettavia asioita olisi vain yksi: esimerkisi: levylle kirjoitus, verkon käyttö, kellon pyörittäminen, ohjelmistojen päivitystarkistukset jne. Nämä muut työt ovat yleisesti ottaen aika vähän merkittäviä, mutta voihan jokin yksittäinen sovellus silti ajaa ihan merkittäviäkin asioita toisena prosessina. Yleensä tällaiset sovellukset ovat jonkin sorttisia ammattisovelluksia - joita on tietysti tänä päivänä aika rajaton määrä.