Luuletko muuten että noi optane muistikammat on valmistuskustannuksiltaan samaa luokkaa kuin nämä nyt lopetetut pcie levyt? Ts. jäikö nuo tältä erää servereihin samasta syystä kuin ECC muistitkin, eli puhdas markkinasegmentaatio? Palvelimissahan saman muistikanavan kahteen slottiin voi tunkea yhden optanen ja yhden perus ddr4 kamman.
Käsittääkseni kaikissa nykyisissä optane-RAMeissa siellä on sen Xpointin lisäksi myös huomattava määrä DRAMia välimuistina sille xPointille, ja tämä nostaa hintaa selvästi.
Kun nuo on tehty asenteella että niillä voi vaan korvata koneen normaalin DRAMin, jolloin se ei saa olla (juuri) sen hitaampaa.
Ja tosiaan aika paljon kyse on myös markkinasegmentaatiosta. Intel näkee tämän xPoint/Optanen liikaa joko 1) NAND-Flashiä nopeampana SSDnä tai 2) DRAMIA isompana (mutta hitaampana) RAMina, ja toteaa, että molemmat kuuluu servereihin, muttei kuluttajia kiinnosta.
Eikä kuluttajia kiinnostakaan, niin kauan kun potentiaalia ei hyödynnetä vaan se kuluttajallekin toimii juuri noin, kun käyttiksistä puuttuu järkevä tuki sille, että tätä voisi käyttää siten että tämän potentiaali tulee oikeasti hyödynnettyä.
Ja Microsoftia ei kiinnosta tämän tuen tekemisen priorisoiminen/tuominen kuluttajakäyttöön, koska ei se auta myymään yhtään enempää Windows-kopioita. Jonkinlaista tukea microsoftilla tälle on, mutta lähinnä server-näkökulmasta, ei kuluttajanäkökulmasta.
Linux-koodareita taas ei kiinnosta niin kauan kuin heillä henkilökohtaisesti ei ole rautaa, jossa tämä voisi toimia fiksusti. Ja Linux-koodarit on myös liikaa jumittuneet 1970-luvun UNIXin perusmallehin joissa RAM ja levy on kaksi selvästi eri asiaa.
Itse toivoisin siis systeemiä jossa NVRAMin ominaisuudet olisi oikeasti huomioitu sekä muussa raudassa että käyttiksessä, että NVRAM ottaisi oman paikkansa koneen muistihierarkiassa NAND-flash-pohjaisen SSDN ja DRAMin välissä.
Eli siellä olisi sitten tuon lisäksi esim. luokkaa 8-16 megaa HBM2-DRAMia prossun kanssa samassa paketissa, loogisesti samassa osoiteavaruudessa.
Ja sekä käyttis että rauta että softat käyttäisi näitä muisteja fiksusti:
1) Käyttis tekisi normaalit muistiallokoinnit DRAMista, mikäli sitä on vapaana, mutta mikäli se käy vähiin, alkaisi sivuttaa harvemmin käytettyjä muistisivuja NVRAMille. Mikäli tätä kuitenkin käytetään, sitä sitten käytettäisiin sitten suoraan sieltä NVRAMilta raudan toimesta ilman mitään swappaamista takaisinpäin (eli sen käyttäminen olisi siis ~100-1000 kertaa nopeampaa kuin SSDlle swapatun datan käyttäminen). Paitsi jos käyttis havaitsee, että jotain sivua käytetään todella paljon, se voisi siirtää sen NVRAMita takaisin DRAMiin.
2) Käyttis mäppäisi ohjelmien koodimuistialueet suoraan NVRAMissa oleviin binääreihin. Ei tarvisi "ladata levyltä" mitään vaan koodi suoritettaiisin suoraan NVRAMilta. Raudalta toivottaisiin tämän tueksi ehkä aggressiivista prefetchereiä jotka hakee sitä koodia sieltä prossun L3-kakkuun melko agressiivisesti jotta ohjelmamuistin normaali pidempi viivet (joka tosin on silti sen ~100-1000 kertaa nopeampi kuin sen lataaminen levy-rajapinnalla käyttiksen toimesta) eivät haittaisi liikaa.
3) Perinteisten luku- ja kirjoituskomentojen sijasta softat vaan mmap()äilisivät datan joka sijaitsee NVRAMilla jolloin sitä voitaisiin käyttää suoraan käyttiksen ohi raudalla (käyttis vaan tarkastaisi oikeudet kun se mmap-kutsu tehdään, vrt tiedoston avaaminen).
Käytännössä toivoni tämän yleistymiseen on (valitettavasti) Applessa, koska
1) Apple on ainoa firma, joka kehittää sekä rautaa että käyttistä, joten heidän olisi helpompi ottaa tämä käyttöön ilman että softan tarvii odotella rautaa tai raudan softaa, ja
2) Apple tykkää mainostaa kuinka heillä on jotain joka on monta kertaa nopeampaa kuin PCissä vaikkei se oikeasti pitäisi paikkansa, tässä taas Applella olisi mahdollisuus oikeasti olla se 100-1000x nopeampia kuin PCt koneen massamuistista lukemisen viiveissä, kun toteuttaisi tämän ekana.
3) Applella on niin tiukka kontrolli kaikkeen, että Applen on helppo tehdä joku uusi tallennus-API jolla tästä saadaan täysi hyöty myös normaalien softien tallettamalle datalle ja myös pakottaa normaalit softakehittäjät lisäämään softiinsa tuen tälle. Jolloin hyöty tästä saataisiin nopeasti myös ihan siihen arkikäyttöön päivittäin käytettäville softille myös datankäytön osalta. (Tai voi olla, että jollekin iOS:n tallennus-API:lle pystyttäisiin jo tekemään tälle optimoitu toteutus, mutta en tunne näitä Applen omia API:ja tarpeeksi hyvin että osaisin sanoa varmaksi mitään)
Varmaan sitten kun Apple tekee tämän ensin ja pääsee mainostamaan 100-1000 kertaa nopeampaa tallennustilaansa, Microsoft herää kunnolla.