EAP Reducing the Energy Overheads of Persistent Memory
EAP Reducing the Energy Overheads of Persistent Memory. This paper is about the reducing of energy overhead from next-generation byte-addressable nonvolatile memory technologies like PCM. Phase change memory which is attractive for end-user devices as they give more memory as well as fast storage. In many cases, NVM’s boundaries of slow writes and high write energy are based on ACID updates. The increases in NVM access and more importantly results in additional CPU instructions.
This paper proposes Energy-Aware Persistence EAP to analyzes the energy overhead of persistence memory and identiﬁes that durability costs are the most signiﬁcant contributor to energy usage. Further, it gives Energy-aware persistence to reduce logging energy usage with efﬁcient durability and novel relaxed durability. ACI RD in critical condition. Without consuming extra power the PCM has 100 times low access latency as compared to flash and SSD devices and has four to eight times more density then DRAM. PCM promised outcomes to include Large memory capacity. Lower energy usage as compared to DRAM. Having fastest persistent data storage and access then flash or SSD. To gain high memory capacity and fastest data persistent storage using NVM for memory-based persistent storage the required system to provide the application with ACID guarantee which is based on two things.
A correctness component ACI. The correctness component ensures correctness by ordering and flushing the application state and its associated metadata. A durability component D. The durability component logs application data and metadata state to persistent log in NVM fastest persistent storage during the entire transaction and when transaction completed the log can be committed to actual data location. If a failure occurs before transaction completion the log is used to UNDO change.
These persistence components cause undesirable increases in NVM to write energy but it cannot remove energy overheads. To reduce the energy overhead of persistent memory this paper proposed an Energy-Aware Persistent technique for efficient use of NVM in end-user devices such as smartphones laptops and tablets. EAP’s design decisions made are based on A detailed analysis of the energy implications of the ACID components associated with application persistence. Energy efﬁcient durability alternatives that trade performance or memory capacity in a controlled manner to meet the constrained energy budgets of end-user devices. EAP further improves energy usage by using a novel relaxed not delayed durability model ACI RD that does not affect application correctness. Component Level Energy Analysis. To analyze the component level energy at hardware end they use an X86 based Haswell desktop-based system running Linux OS 3 0 9 with 32 KB L1 cache 4 MB LLC write-back cache 120 GB ﬂash memory and 4 GB DDR3 DRAM out of which 2 GB used for NVM.
For emulating the slow read writes seen in NVMs we use hardware counters to count the delay application load stores. For examination, we manually enable each ACID component and measure the increase in CPU energy and NVM read writes using Hardware counter Benchmarks.
In order to measure the relative performance of an object, the benchmark is used The benchmarks exhibit high variance in terms of NVM access and cache miss rates/ In this paper these benchmarks are used in order to measure relative performance. The binary tree is a tree structure in which every node can have a maximum of 2 nodes. Note that binary trees are cache and memory inefﬁcient compared to other tree structures. B Tree extensively used in applications such as databases and application caches. We modify the B Tree to provide heap-based persistence and use the same workload used for binary tree SQLite a well known traditional query-based transaction database used extensively in end-user platforms.
Hash table used to store key-value in-memory caches. Hash table has high persistence overhead because for each value update at least three persistent allocations the hash entry key value is required and for every value update the hash entry data and hash structure metadata should be updated Logging Methods Previous research on NVM has used either UNDO logging or Write ahead logging WAL. UNDO works by ﬁrst copying the old data to a memory committing the updates in original data location and if the transaction fails reverts using memory data. WAL all data updates are attached to a log and when the log buffer runs out the log contents are updated to the original persistent location. WAL maintains a log index to locate and fetch the newest copy of data.
Narayanan and Hodson point out although WAL in NVM based applications can signiﬁcantly improve performance and concurrency this improvement is negligible or no improvement at all. To verify with an NVM workload we extend SQLite’s in-memory database with no logging feature we run the SQLite benchmark with UNDO logging for backward pass discussed above. To verify with an NVM workload we extend SQLite’s in-memory database with no logging feature. We run the SQLite benchmark with UNDO logging discussed in above. The table in Fig A shows that while WAL provides higher throughput for small sequential and random updates. Fig B shows the relative increase in CPU instructions NVM writes and energy for WAL relative to UNDO logging Durability principle for energy efficiency. Energy-efficient durability principle is used for reducing application energy usage by trading off performance and capacity.
Flexible techniques for energy-efficient logging discussed above WAL and UNDO. Therefore we propose an application transparent mechanism that switches from performance mode WAL to energy-efficient mode UNDO when energy budget is reserved. Initially, Applications starts with the default performance WAL mode. After every epoch fixed time interval, the logging library measures the available energy budget and usage. When energy use from durability is high the energy-efficient mode UNDO is enabled for all remaining transactions. For uncommitted WAL log UNDO will not unable. To reduce the metadata durability related energy cost of persistent allocators we propose.
An adaptive mechanism that reduces frequent OS allocation requests by reserving larger memory regions when the energy budget is constrained. The size of mapped regions is limited by available capacity. While reserving larger NVM space can increase fragmentation by trading off capacity the work done can be reduced. Our analysis of the SQLite benchmark shows near about 12 percent and 9.6 percent reduction in instructions and NVM writes with such optimization and less than 280 MB additional capacity. So large memory can be achieved Relaxed Durability ACI RD. In a critical energy level using an ACID approach not always give better results in terms of memory. If in critical energy level ACID approach use so devices can substantially drain battery power and prevent application running to completion.
So for this purpose, we propose the ACI RD RD relaxed durability mechanism which overcomes such problems, key idea behind this approach is to reduce the frequency increase the interval between application data durability updates without delaying the metadata updates especially when failure occurs the up to date metadata can be used to UNDO all changes after the last reliable log update and restore application to the last epoch state but it can only be used only when energy budget is critical. To use under critical condition EAP maintains a consistent log with the last consistent state of both metadata and data and an UNDO log with just the consistent and durable metadata for recovering from failure. The UNDO log is required for garbage collection and also avoids a complete sequential scan of the consistent log. This figure is based on two portions one portion is the ACID epoch and the other one is ACI RD epoch.
In the ACID epoch portion energy is not a constraint data metadata for A. B are updated to consistent log In ACI RD portion when energy becomes a constraint for updates to A B with A1 B1 ACID RD epoch is enabled and only A1 B1 metadata is written to UNDO log. During recovery A1 B1 are reverted with the UNDO log and A B is recovered from the consistent log.
The result of this mechanism is a trade-off between durability D in ACID and energy without compromising application correctness. Impact of Energy-aware persistence EAP. To check the overall impact of EAP first we apply energy-efficient optimization flexible logging and trading capacity for energy and combine these values with relaxed durability ACID RD on available energy budget by using the relevant benchmark CPU and NVM estimation method which discussed above. Epoch interval is set to 1sec and application run times vary from 40 60sec with energy budget of no ACID execution. Now we compare this EAP approach against FLUSH. Traditional ACID and Metadata which lags only the metadata Suggestions of persistence support on increase in CPU and NVM energy consumption relative to a no ACID baseline EAP gives 2times reduction in CPU and NVM energy cost relative to the ACID approach. Future work.
We assume all NVM benchmarks to use the only NVM with processor cache and analyze ACID to reduce the cost and also reduce energy overhead of persistent non-volatile memory to make it reliable and better performance memory to store more data. So future work is based on to analyze the energy cost for hybrid architecture. The result of the persistent benchmark are promising so in future we study more persistent applications to make the system more cost-effective and better. Abbreviation. NVM Nonvolatile memory, PCM Phase change memory, Phase change memory PCM is a form of computer random-access memory that stores data by altering the state of the matter from which the device is fabricated ACID. It is an acronym which composes of four words atomic consistent isolated and durable Atomic.