Muistinhallinta on sitä suuremmissa ongelmissa, mitä suuremmasta datamäärästä on kyse. Big data asettaa nykyisille järjestelmille tältä osin valtavia haasteita. MIT:n tutkijat ovat kehittäneet uuden kielen, jonka avulla joidenkin yleisten algoritmien prosessointi onnistuu jopa neljä kertaa aiempaa nopeammin.
Massachusetts Institute of Technologyn tietotekniikan ja keinoälyn laboratoriossa on kehitetty Milk-kieli, joka esiteltiin vastikään rinnakkaiseen laskentaan keskittyvässä konferenssissa.
Testien mukaan useat yleiset algoritmit toimivat Milk-kirjoitettuina neljä kertaa nopeammin kuin perinteisimmillä ohjelmointikielillä. Tämä johtuu MIT_n mukaan siitä, että data on harvaan sijoitettu. Datan määrä sinänsä ei ole ongelma.
Tämän päivän prosessoreita ei ole optimoitu tällaisen harvan datan käsittelyyn. Koska datan hakeminen piirin päämuistista on hidasta, jokaisessa prosessorissa – tai prosessoriytimessä – on oma välimuistinsa: suhteellisen pieni, paikallinen, nopea muistilohko. Ydin hakee muistista dataa lohko kerrallaan ja lohko valitaan paikallisuuden periaatteen mukaan.
Periaate toimii hyvin esimerkiksi kuvankäsittelyssä. Jos algorimit on sen sijaan kiinnostunut 20 kirjasta kahden miljoonan kirjan tietokannassan, yhden kirjan viereiset kirjat tietokannassa ovat epärelevantteja. Dataa ei hyödytä hakea lohkoina.
Datan hakeminen muistista yksi tietue kerrallaan on erittäin tehotonta. Milk-kieli lisää uusia käskyjä OpenMP-kieleen, joka on C:n ja Fortranin laajennus. Milkkäännin huolehtii siitä, että muistinhallinta tehostuu kun suheellisen pientä määrää tietueita haetaan suuresta tietokannasta.
Käytännössä Milk-käskyillä ydin ei pyydä dataa vaan lisää datan osoitteen paikallisesti tallennettuun osoitteiden listaan. Kaikki ytimet yhdistävät nämä listat, jotka ovat lähellä toisiaan ja jakavat ne muiden ydinten käyttöön. Täämn ansiosta jokainen ydin pyytää vain dataa, jota se tarvitsee ja joka voidaan hakea muistista tehokkaasti.