Ylikuormasta ja sen hallinnasta

Työskentelin 1998-2006 yhtenä Nokian 3G-puhelinverkkolaitteiden pääarkkitehdeistä. Rakensimme yli 1000 prosessorin hajautetun reaali-aikaisen korkean luotettavuuden (yli 99,999%) järjestelmän 3G-puheluiden ja datan välittämiseen. 
Nokia, 2006

Korkea luotettavuus tarkoittaa montaa asiaa. Aivan erityisesti se tarkoittaa sitä, että järjestelmä ei saa kaatua. Jos jokin osa järjestelmästä kaatuu, muiden osien on saumattomasti otettava tehtävät haltuun ilman, että puhelut katkeavat tms. 

Yksi merkittävä ongelma kaikissa järjestelmissä on ylikuorma. Mikä tahansa järjestelmä kaatuu, jos sille annetaan väkisin liikaa tehtäviä. Kaatuminen voi johtua muistin loppumisesta, ajastimien laukeamisesta ja monesta muusta syystä. 

Tästä syystä minkä tahansa järjestelmän ylikuormittumaan on huono idea. Järjestelmä on laadittava siten, että 
  1. Järjestelmä pyrkii estämään ylikuorman syntymisen esimerkiksi käyttämällä lippukassaa, joka rajoittaa järjestelmässä olevien tehtävien määrää. 
  2. Järjestelmä huomaa, jos ja kun kohdan 1. mukainen ylikuorman estäminen ei onnistu ja ylikuormaa pääsee syntymään. 
  3. Järjestelmä kestää hetkellisen ylikuorman kaatumatta niin kauan kuin ylikuorma on pieni. 
  4. Järjestelmä toipuu ylikuormasta. Tämän voi tehdä esimerkiksi hylkäämällä palvelupyynnöt kunnes ylikuorma on kadonnut tai lopettamalla vähemmän tärkeitä tehtäviä (puhelinverkossa näet on aina pystyttävä välittämään hätäpuhelut)
Näitä neljää periaatetta on erittäin hyvä puntaroida ja noudattaa myös tuotekehityksen johtamisessa. Tuotekehitysessä ylikuormalta varjeltava järjestelmä on tuotekehityksen henkilöstö. On olennaista johtamista pystyä toimimaan em. periaatteiden mukaan. Tämä edellyttää hyvää työsuunnittelua, tehtyjen töiden rehellistä raportointia, raporttien ottamista tosissaan ja ankaraa tehtävien priorisointia tilanteissa, jossa yllättävistä syistä pääsee ylikuormaa syntymään. 

Ylikuormaan liittyy myös toinen periaate, joka on syytä ottaa vakavasti ihmisten työtä suunniteltaessa ja johdettaessa: ei pidä koskaan allokoida prosessorien kuormaa yli 80%, koska silloin tehtävien välillä vaihtaminen lisääntyy ja varsinaiseen tuottavaan laskentaa jää yhä pienempi osa prosessorin kapasiteetista. Sama pätee ihmisiin: jos ihmisen työkuorma on lähes 100%, hän ei pysty reagoimaan yllättäviin tehtäviin. 

Kommentit

Maija sanoi…
Kiitos näistä vinkeistä tuotekehityksen osalta. Näiden vinkkien taustalla on varmasti lukemattomia tunteja työtä taustalla, että nämä ajatukset ovat syntyneet. Tässä kirjoituksessa on monta asiaa mikä tulee kyllä mieleen ihmisten kuormituksesta työssä. Kiteytät kyllä hyvin asian lopussa toteamalla, että 100% kuormituksella ei pysty reagoimaan yllättäviin tehtäviin.
Mane sanoi…
Kiitos. Kyllä näiden taustalla on kohta neljännesvuosisata R&D- ja tietohallintohommia.

Tämän blogin suosituimmat tekstit

Velkavaalit - missä arvot?

TOP-5 lyhyttä pyöräretkeä Roihuvuoresta ja Itä-Helsingistä

Kaikki Helsingin kadut, aukiot etc