<div dir="ltr">In my infinite stupidity I've replied to this mailing group without<br>properly subscribing. Sorry for the duplicates.<br><br>Full disclosure: I work at Intel on the set of libraries mentioned above.<br><br>Our project is fully hardware agnostic - any set of NVDIMMs is going to<br>work. This is a new tier of memory between transient RAM and storage SSD's.<br>It combines the features of both, NVDIMMs provide memory that is both<br>byte addressable and persistent across power failures. The speed and other<br>characterstics are obviously vendor dependent. The term I've seen some<br>people use to describe this new memory is "storage class memory" and I<br>think it really captures the intended use case.<br><br>There are currently few NVDIMM providers - you might recall recent HP<br>announcement about their new non-volatile memory enabled servers.<br>Also a company called Plexistor is providing software-defined persistent<br>memory solutions.<br><br>As for Intel offering in this space: the 3D XPoint announcement happend<br>few months back and it was widely covered by the media. Here are two nice<br>presentations:<br>http://www.snia.org/sites/default/files/NVM/2016/presentations/RickCoulson_All_the_Ways_3D_XPoint_Impacts.pdf<br>http://www.snia.org/sites/default/files/SDC15_presentations/persistant_mem/JimHandy_Understanding_the-Intel.pdf<br><br>If anyone finds this topic interesting I recommend checking out our website<br>pmem.io and the going through the presentations presented at various<br>SNIA organized NVM Summits:<br>http://www.snia.org/events/non-volatile-memory-nvm-summit<br>Also, the SNIA programming model is something else to look at after some<br>initial reading:<br>http://www.snia.org/tech_activities/standards/curr_standards/npm<br>It's what the NVML is based on.<br><br>Hope that this clarifies some things.<br><br>Piotr<br><br>W dniu czwartek, 19 maja 2016 09:28:07 UTC+2 użytkownik Greg Ewing napisał:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">Terry Reedy wrote:
<br>> Because each is an O(n) operation.  I was thinking of non-volatile 
<br>> writes as been relatively slow and in some sense more costly, but maybe 
<br>> that is not necessarily the case for new designs.
<br>
<br>Large flash memories are usually organised into blocks, like
<br>a disk. Writing a block is relatively slow, so you'd want to
<br>buffer up your changes and write as much as you can in one go.
<br>
<br>For Python objects, that would probably mean keeping a
<br>shadow copy in RAM and flushing it to NV storage periodically.
<br>Techniques similar to those used in relational databases
<br>might be needed to ensure that the contents of the storage
<br>remains consistent in the event of failures.
<br>
<br>-- 
<br>Greg
<br>______________________________<wbr>_________________
<br>Python-ideas mailing list
<br><a href="javascript:" target="_blank" gdf-obfuscated-mailto="kt9IavdwAQAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Python...@python.org</a>
<br><a href="https://mail.python.org/mailman/listinfo/python-ideas" target="_blank" rel="nofollow" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fmail.python.org%2Fmailman%2Flistinfo%2Fpython-ideas\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFj1EaNHnVmh20FnFPoUi4J-MpfQw';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fmail.python.org%2Fmailman%2Flistinfo%2Fpython-ideas\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFj1EaNHnVmh20FnFPoUi4J-MpfQw';return true;">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a>
<br>Code of Conduct: <a href="http://python.org/psf/codeofconduct/" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fpython.org%2Fpsf%2Fcodeofconduct%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHJOrArSUDKkjrnthO6_CznMzkPsA';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2Fpython.org%2Fpsf%2Fcodeofconduct%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHJOrArSUDKkjrnthO6_CznMzkPsA';return true;">http://python.org/psf/<wbr>codeofconduct/</a>
<br></blockquote></div>