Vitalik Buterin ehdottaa uutta mallia muistin tehokkuudelle
Ethereumin toinen perustaja Vitalik Buterin on julkaissut uuden artikkelin "Memory Access is O(N^(1/3))", jossa hän kyseenalaistaa yhden tietojenkäsittelytieteen pitkäaikaisista oletuksista siitä, miten muistin käyttö mitataan. Perinteisesti muistioperaatioita on käsitelty vakioaikaisina eli O(1):n algoritmikompleksisina. Buterin väittää, että tämä malli on virheellinen ja että sekä teoreettiset että käytännön todisteet viittaavat siihen, että muistin käyttöä pitäisi pitää O(N^(1/3)), mikä tarkoittaa, että käyttöaika kasvaa muistin koon kuutiojuuren myötä.
Tämä artikkeli on käännetty alkuperäisestä tekstistä. Lue kirjeenvaihtajamme alkuperäinen versio täältä.
Buterininin mukaan tämän ymmärtäminen voisi muuttaa sitä, miten kehittäjät lähestyvät algoritmien suunnittelua ja suorituskyvyn optimointia, erityisesti salakirjoituksen kaltaisilla aloilla, joilla muistin käytön nopeus on ratkaisevassa asemassa.
O(N^(1/3))-mallin teoreettinen ja empiirinen perusta
Analyysissään Buterin selittää, että rajoitus johtuu fyysisistä rajoitteista, erityisesti valon nopeudesta ja muistin alueellisesta jakautumisesta. Hän käyttää yksinkertaista mallia: jos fyysinen etäisyys prosessorista kaksinkertaistuu, muistia voidaan käyttää kahdeksan kertaa enemmän, mutta sen käyttämiseen kuluva aika kaksinkertaistuu. Tämä suhde tukee kuutiojuuriskaalautumista.
Hän laajentaa tätä päättelyä rinnakkaiskäyttöön, jossa fyysiset ja energiarajoitukset ovat edelleen voimassa, vaikka useita muistiyksiköitä voidaan käyttää samanaikaisesti. Reaalimaailman tietojenkäsittelyssä eri muistitasot - suorittimen rekistereistä välimuistiin ja RAM-muistiin - noudattavat hyvin tarkasti tätä kuutiojuurisuhdetta.
Empiiriset tiedot tukevat teoriaa. Kun verrataan eri muistityyppien käyttöaikoja tyypillisissä järjestelmissä, viive kasvaa suunnilleen muistin koon kuutiojuuren mukaan, mikä vahvistaa Buterinin ehdottaman mallin.
Vaikutus algoritmien suunnitteluun ja optimointiin
Buterin korostaa, että tämä näkökulman muutos on ratkaisevan tärkeä optimoitaessa algoritmeja, jotka perustuvat esilaskentaan. Kryptografisissa menettelyissä, kuten elliptisten käyrien operaatioissa tai binäärikenttäaritmetiikassa, kehittäjät tallentavat usein esilaskettuja taulukoita nopeuttaakseen laskentaa. Vanhassa O(1)-mallissa näiden taulukoiden laajentaminen näytti aina hyödylliseltä.
Jos muistin käyttö on kuitenkin O(N^(1/3)), on olemassa piste, jossa suuremmat taulukot muuttuvat haitallisiksi hitaamman käytön vuoksi. Eräässä Buterinin kokeessa 8-bittinen, välimuistiin tallennettu, ennalta laskettu taulukko oli parempi kuin suurempi, 16-bittinen, RAM-muistiin tallennettu taulukko, mikä osoittaa, että nopeampi pääsy on monissa tapauksissa tärkeämpää kuin suurempi muisti.
Tämä vaikuttaa myös ASIC- ja GPU-suunnitteluun, jossa paikallisen muistin käyttö voidaan optimoida vakioaikaan, mutta globaalia käyttöä rajoittavat edelleen fyysiset periaatteet.
Vaikutukset kryptoteollisuudelle
Buterinin havainnot voivat vaikuttaa merkittävästi lohkoketju- ja kryptosuunnitteluun. Monet kryptoalgoritmit, hashing-funktioista zk-SNARKeihin ja allekirjoitusjärjestelmiin, ovat riippuvaisia muistia vaativista operaatioista. Ajattelemalla uudelleen muistin monimutkaisuutta kehittäjät voivat saavuttaa tehokkaampia kryptografisia protokollia, nopeampaa lohkoketjujen validointia ja optimoituja laitteistototeutuksia.
Kun teollisuus siirtyy kohti suorituskykyistä laskentaa ja modulaarisia lohkoketjuarkkitehtuureja, Buterinin malli tarjoaa uuden linssin innovaatiolle - se korostaa paikallisuutta, muistitehokkuutta ja realistista suorituskyvyn mallintamista seuraavan sukupolven kryptoinfrastruktuurissa.
Lue myös: Vitalik Buterin kommentoi Chat GPT -päivityksen jälkeen ilmennyttä haavoittuvuutta
Viimeisimmät crypto uutiset
- Forex
- Crypto