Tämä poistaa sivun "Affiliation For Computing Machinery"
. Varmista että haluat todella tehdä tämän.
Typically confused with non-unstable random-access memory (NVRAM), persistent memory is as an alternative more closely linked to the concept of persistence in its emphasis on program state that exists exterior the fault zone of the method that created it. A process is a program underneath execution. Efficient, memory-like entry is the defining characteristic of persistent memory. It can be provided using microprocessor memory instructions, equivalent to load and store. It can be provided utilizing APIs that implement distant direct memory access (RDMA) actions, akin to RDMA read and RDMA write. Persistent memory capabilities prolong past non-volatility of saved bits. For example, the lack of key metadata, equivalent to web page table entries or different constructs that translate digital addresses to bodily addresses, could render durable bits non-persistent. In this respect, persistent memory resembles more abstract types of pc storage, such as file programs. In reality, nearly all existing persistent Memory Wave Audio applied sciences implement at the least a primary file system that can be used for associating names or identifiers with saved extents, and at a minimal provide file system methods that can be utilized for naming and allocating such extents.
The read-of-non-persistent-write problem is found for lock-free packages on persistent memory. As compare-and-swap (CAS) operations do not persist the written values to persistent memory, the modified information can be made seen by the cache coherence protocol to a concurrent observer earlier than the modified information may be noticed by a crash observer at persistent memory. If a power failure occurs proper after the write is made visible however not yet persistent, the read-of-non-persistent-write downside can happen, i.e., an information variable that is modified by a evaluate-and-swap operation could be made visible to a concurrent observer earlier than a crash observer, causing potential crash inconsistencies. As an instance the issue: for a singly linked lock-free record, a node can be inserted by a producer thread A after the top node, the next pointer of the pinnacle node gets atomically switched (CAS) to point to the brand new node A, nonetheless, this CAS shouldn't be persisted. Then, one other node gets inserted by producer thread B after node A, as CAS for node A is already visible to all concurrent threads.
CAS atomically switches the next pointer of node A to point to node B, and this CAS will get persisted. If a power failure occurs at this point, the applying that makes use of the linked checklist would be left in an inconsistent state, with each node A and node B lost, as the subsequent pointer from the pinnacle node to node A has not been persisted. As node B has been printed but can’t be accessed after a reboot, and other data may have been persisted that are accessed by way of or dependent on node B, all subsequent accesses to such knowledge is not going to be attainable, causing data loss. The read-of-non-persistent-write drawback just isn't restricted to lock-free linked lists, it can be found in any lock-free information buildings the place the potential hole between concurrent visibility and persistent visibility can exist. For instance, a similar downside can occur with persistent circular buffers. Satish M. Thatte. 1986. Persistent memory: a storage architecture for object-oriented database systems. In Proceedings on the 1986 international workshop on Object-oriented database systems (OODS '86). P. Mehra and S. Fineberg, "Quick and versatile persistence: the magic potion for fault-tolerance, scalability and efficiency in on-line knowledge shops," 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings., Santa Fe, NM, USA, 2004, pp. Wang, William
Tämä poistaa sivun "Affiliation For Computing Machinery"
. Varmista että haluat todella tehdä tämän.