--
You received this message because you are subscribed to the Google Groups "pmem" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pmem+uns...@googlegroups.com.
To post to this group, send email to pm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pmem/04d2987a-d87b-4b34-95a7-9b98a0b9adc0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
It's not load/store addressable, so in my mind still a storage device albeit with atypical interface. It might be more interesting on the fsb, e.g. ultrapath.
Interesting, what's the requirement to use a hardware KV store to implement modules? Is it storing compiled routines for later import by applications?
cheers
adrianj
--
You received this message because you are subscribed to the Google Groups "pmem" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pmem+uns...@googlegroups.com.
To post to this group, send email to pm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pmem/90c12d80-f011-4e29-9150-b0baf1651ac7%40googlegroups.com.
Interesting, what's the requirement to use a hardware KV store to implement modules? Is it storing compiled routines for later import by applications?
Thanks, very interesting. I have a natural aversion to automatically downloading stuff but I'm sure the security side of it can be handled. The challenge going from filesystems to kv stores or persistent memory, from my perspective, is that filesystems do at least 3 things rolled into one:
1) persistent storage
2) namespace
3) permissions and security
I can imagine its straight forward to use the KV for persistent storage, but namespace and permissions/security become more challenge in multi-user, multi-install systems (i.e. where do you go to look for Modules, which versions to you choose, who is allowed to update them, how do you look for user specific ones and manage the versions there). Not insurmountable challenges but may mean KV stores end up looking a lot like filesystems in the end ;)
My experience issues with dynamic linking of libraries on systems with lots of users and lots of software installs is that it can become really problematic so I imagine careful design work is needed to ensure the same doesn't happen for Modules.
Good luck with it.
cheers
adrianj
--
You received this message because you are subscribed to the Google Groups "pmem" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pmem+uns...@googlegroups.com.
To post to this group, send email to pm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pmem/5cf99e14-fc09-4627-b727-8126643943c0%40googlegroups.com.
I can imagine its straight forward to use the KV for persistent storage,
but namespace and permissions/security become more challenge in multi-user, multi-install systems (i.e. where do you go to look for Modules, which versions to you choose, who is allowed to update them, how do you look for user specific ones and manage the versions there). Not insurmountable challenges but may mean KV stores end up looking a lot like filesystems in the end ;)
My experience issues with dynamic linking of libraries on systems with lots of users and lots of software installs is that it can become really problematic so I imagine careful design work is needed to ensure the same doesn't happen for Modules.
The KV-SSD work is loosely derived from the KV Device work at FusionIO, which I and my database company ( Aerospike ) worked on with FusionIO, which if memory serves turned into OpenNVM. ( And had nothing to do with the C++ standards work ).
One is API. If device people are going to try this problem, they should all be coding to a single API, instead of libpmem and KVSSD and NVM and C++ and RocksDB ( which is a library despite the "DB" ) and whatnot.
In reality, I've learned that the interface abstraction of Block probably is the right layer for OSes, because there are too many extra bits you want in the block layer ( such as automatic expiration ). therefore I am less hopeful in the promise of systems like KV and pmem's object layers. While I may be wrong someday, when we did the Aerospike PM integration we looked at PMEM objects, and they are far slower than what we were able to achieve with libpmem and our own code.