Please wait a minute...
Frontiers of Computer Science

ISSN 2095-2228

ISSN 2095-2236(Online)

CN 10-1014/TP

Postal Subscription Code 80-970

2018 Impact Factor: 1.129

Front. Comput. Sci.    2021, Vol. 15 Issue (4) : 154207    https://doi.org/10.1007/s11704-020-9395-3
REVIEW ARTICLE
A survey of operating system support for persistent memory
Miao CAI(), Hao HUANG
Department of Computer Science and Technology, Nanjing University, Nanjing 210023, China
 Download: PDF(834 KB)  
 Export: BibTeX | EndNote | Reference Manager | ProCite | RefWorks
Abstract

Emerging persistent memory technologies, like PCM and 3D XPoint, offer numerous advantages, such as higher density, larger capacity, and better energy efficiency, compared with the DRAM. However, they also have some drawbacks, e.g., slower access speed, limited write endurance, and unbalanced read/write latency. Persistent memory technologies provide both great opportunities and challenges for operating systems. As a result, a large number of solutions have been proposed. With the increasing number and complexity of problems and approaches, we believe this is the right moment to investigate and analyze these works systematically.

To this end, we perform a comprehensive and in-depth study on operating system support for persistent memory within three steps. First, we present an overview of how to build the operating system on persistent memory from three perspectives: system abstraction, crash consistency, and system reliability. Then, we classify the existing research works into three categories: storage stack, memory manager, and OS-bypassing library. For each category, we summarize the major research topics and discuss these topics deeply. Specifically, we present the challenges and opportunities in each topic, describe the contributions and limitations of proposed approaches, and compare these solutions in different dimensions. Finally, we also envision the future operating system based on this study.

Keywords persistent memory      operating system      survey     
Corresponding Author(s): Miao CAI   
Just Accepted Date: 11 March 2020   Issue Date: 11 March 2021
 Cite this article:   
Miao CAI,Hao HUANG. A survey of operating system support for persistent memory[J]. Front. Comput. Sci., 2021, 15(4): 154207.
 URL:  
https://academic.hep.com.cn/fcs/EN/10.1007/s11704-020-9395-3
https://academic.hep.com.cn/fcs/EN/Y2021/V15/I4/154207
1 I Hajj, A Merritt, G Zellweger, D Milojicic, R Achermann, P Faraboschi, W Hwu, T Roscoe, K Schwan. Spacejmp: programming with multiple virtual address spaces. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2016, 353–368
https://doi.org/10.1145/2954680.2872366
2 M Qureshi, V Srinivasan, J Rivers. Scalable high performance main memory system using phase-change memory technology. In: Proceedings of International Symposium on Computer Architecture. 2009, 24–33
https://doi.org/10.1145/1555815.1555760
3 T Kawahara. Scalable spin-transfer torque technology for normally-off computing. IEEE Design and Test of Computers, 2011, 28(1): 52–63
https://doi.org/10.1109/MDT.2010.97
4 M Ottavi, V Gupta, S Khandelwal, S Kvatinsky, J Mathew, E Martinelli, A Jabir. The missing applications found: robust design techniques and novel uses of memristors. In: Proceedings of International Symposium on On-Line Testing and Robust System Design. 2019, 159–164
https://doi.org/10.1109/IOLTS.2019.8854427
5 J Xu, S Swanson. NOVA: a log-structured file system for hybrid volatile/non-volatile main memories. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 323–338
6 F Xia, D J Jiang, J Xiong, N H Sun. A survey of phase change memory systems. Journal of Computer Science and Technology, 2015, 30(1): 121–144
https://doi.org/10.1007/s11390-015-1509-2
7 S Mittal, J Vetter. A survey of software techniques for using non-volatile memories for storage and main memory systems. IEEE Transactions on Parallel and Distributed Systems, 2016, 27(5): 1537–1550
https://doi.org/10.1109/TPDS.2015.2442980
8 J Boukhobza, S Rubini, R H Chen, Z L Shao. Emerging NVM: a survey on architectural integration and research challenges. ACM Transactions on Design Automation of Electronic System, 2018, 23(2): 1–32
https://doi.org/10.1145/3131848
9 M Qureshi, J Karidis, M Franceschini, V Srinivasan, L Lastras, B Abali. Enhancing lifetime and security of pcm-based main memory with start-gap wear leveling. In: Proceedings of International Symposium on Microarchitecture. 2009, 14–23
https://doi.org/10.1145/1669112.1669117
10 D S Rao, S Kumar, A Keshavamurthy, P Lantz, D Reddy, R Sankaran, J Jackson. System software for persistent memory. In: Proceedings of European Conference on Computer Systems. 2014, 1–15
11 M X Liu, M X Zhang, K Chen, X H Qian, Y W Wu, W M Zheng, J L Ren. Dudetm: building durable transactions with decoupling for persistent memory. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2017, 329–343
https://doi.org/10.1145/3093315.3037714
12 A Mishra, X Y Dong, G Y Sun, Y Xie, N Vijaykrishnan, C Das. Architecting on-chip interconnects for stacked 3D STT-RAMcaches inCMPs. In: Proceedings of the 38th International Symposium on Computer Architecture. 2011, 69–80
https://doi.org/10.1145/2000064.2000074
13 Y Kwon, H Fingler, T Hunt, S Peter, E Witchel, T Anderson. Strata: a cross media file system. In: Proceedings of ACM Symposium on Operating Systems Principles. 2017, 460–477
https://doi.org/10.1145/3132747.3132770
14 J Condit, E Nightingale, C Frost, E Ipek, B Lee, D Burger, D Coetzee. Better I/O through byte-addressable persistent memory. In: Proceedings of ACM Symposium on Operating Systems Principles. 2009, 133–146
https://doi.org/10.1145/1629575.1629589
15 A Renen, V Leis, A Kemper, T Neumann, T Hashida, K Oe, Y Doi, L Harada, M Sato. Managing non-volatile memory in database systems. In: Proceedings of International Conference on Management of Data. 2018, 1541–1555
16 C W Wu, G Y Zhang, K Q Li. Rethinking computer architectures and software systems for phase-change memory. ACM Journal on Emerging Technologies in Computing Systems, 2016, 12(4): 1–40
https://doi.org/10.1145/2893186
17 G O Puglia, A F Zorzo, C Rose, T Perez, D Milojicic. Non-volatile memory file systems: a survey. IEEE Access, 2019, 7(2): 25836–25871
https://doi.org/10.1109/ACCESS.2019.2899463
18 R H Gu, Z Shao, H Chen, X N Wu, J Kim, V Sjoberg, D Costanzo. Certikos: an extensible architecture for building certified concurrent os kernels. In: Proceedings of USENIX Symposium on Operating Systems Design and Implementation. 2016, 653–669
19 L Nelson, H Sigurbjarnarson, K Zhang, D Johnson, J Bornholt, E Torlak, X Wang. Hyperkernel: push-button verification of an os kernel. In: Proceedings of ACM Symposium on Operating Systems Principles. 2017, 252–269
https://doi.org/10.1145/3132747.3132748
20 H G Chen, D Ziegler, T Chajed, A Chlipala, F Kaashoek, N Zeldovich. Using crash hoare logic for certifying the FSCQ file system. In: Proceedings of ACM Symposium on Operating Systems Principles. 2015, 18–37
https://doi.org/10.1145/2815400.2815402
21 H G Chen, T Chajed, A Konradi, S Wang, A M Ileri, A Chlipala, F Kaashoek, N Zeldovich. Verifying a high-performance crash-safe file system using a tree specification. In: Proceedings of ACM Symposium on Operating Systems Principles. 2017, 270–286
https://doi.org/10.1145/3132747.3132776
22 D Narayanan, O Hodson. Whole-system persistence. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2012, 401–410
https://doi.org/10.1145/2150976.2151018
23 P Faraboschi, K Keeton, T Marsland, D Milojicic. Beyond processorcentric operating systems. In: Proceedings of USENIX Workshop on Hot Topics in Operating Systems. 2015, 1–8
24 D Lee, Y Won. Bootless boot: reducing device boot latency with byte addressable NVRAM. In: Proceedings of International Conference on High Performance Computing and Communications. 2013, 2014–2021
https://doi.org/10.1109/HPCC.and.EUC.2013.290
25 H Gunawi, M Z Hao, R Suminto, A Laksono, A Satria, J Adityatama, K Eliazar. Why does the cloud stop computing? lessons from hundreds of service outages. In: Proceedings of ACM Symposium on Cloud Computing. 2016, 1–16
https://doi.org/10.1145/2987550.2987583
26 Z Hussain, T Znati, R Melhem. Partial redundancy in HPC systems with non-uniform node reliabilities. In: Proceedings of International Conference for High Performance Computing, Networking, Storage, and Analysis. 2018, 1–11
https://doi.org/10.1109/SC.2018.00047
27 B Schroeder, G Gibson. A large-scale study of failures in highperformance computing systems. In: Proceedings of International Conference on Dependable Systems and Networks. 2006, 249–258
28 M Qureshi, M Franceschini, A Jagmohan, L Lastras. Preset: improving performance of phase change memories by exploiting asymmetry in write times. In: Proceedings of International Symposium on Computer Architecture. 2012, 380–391
https://doi.org/10.1145/2366231.2337203
29 P Zhou, B Zhao, J Yang, Y T Zhang. A durable and energy efficient main memory using phase change memory technology. In: Proceedings of International Symposium on Computer Architecture. 2009, 14–23
https://doi.org/10.1145/1555815.1555759
30 N H Seong, S Yeo, H H Lee. Tri-level-cell phase change memory: toward an efficient and reliable memory system. In: Proceedings of International Symposium on Computer Architecture. 2013, 440–451
https://doi.org/10.1145/2508148.2485960
31 B Lee, E Ipek, O Mutlu, D Burger. Architecting phase change memory as a scalable dram alternative. In: Proceedings of International Symposium on Computer Architecture. 2009, 2–13
https://doi.org/10.1145/1555815.1555758
32 E Kultursay, M Kandemir, A Sivasubramaniam, O Mutlu. Evaluating STT-RAM as an energy-efficient main memory alternative. In: Proceedings of International Symposium on Performance Analysis of Systems & Software. 2013, 256–267
https://doi.org/10.1109/ISPASS.2013.6557176
33 J Ahn, S Yoo, K Choi. Dasca: dead write prediction assisted STT-RAM cache architecture. In: Proceedings of International Symposium on High Performance Computer Architecture. 2014, 25–36
https://doi.org/10.1109/HPCA.2014.6835944
34 M Qureshi. Pay-as-you-go: low-overhead hard-error correction for phase change memories. In: Proceedings of International Symposium on Microarchitecture. 2011, 318–328
https://doi.org/10.1145/2155620.2155658
35 D H Yoon, N Muralimanohar, J C Chang, P Ranganathan, N Jouppi, M Erez. Free-p: protecting non-volatile memory against both hard and soft errors. In: Proceedings of International Conference on High-Performance Computer Architecture. 2011, 466–477
https://doi.org/10.1109/HPCA.2011.5749752
36 M Awasthi, M Shevgoor, K Sudan, B Rajendran, R Balasubramonian, V Srinivasan. Efficient scrub mechanisms for error-prone emerging memories. In: Proceedings of International Symposium on High Performance Computer Architecture. 2012, 15–26
https://doi.org/10.1109/HPCA.2012.6168941
37 S Schechter, G Loh, K Strauss, D Burger. Use ecp, not ecc, for hard failures in resistive memories. In: Proceedings of International Symposium on Computer Architecture. 2010, 141–152
https://doi.org/10.1145/1816038.1815980
38 L Jiang, Y T Zhang, J Yang. Mitigating write disturbance in super-dense phase change memories. In: Proceedings of International Conference on Dependable Systems and Networks. 2014, 216–227
https://doi.org/10.1109/DSN.2014.32
39 V Sridharan, N DeBardeleben, S Blanchard, K Ferreira, J Stearley, J Shalf, S Gurumurthi. Memory errors in modern systems: the good, the bad, and the ugly. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2015, 297–310
https://doi.org/10.1145/2694344.2694348
40 S Kannan, A Gavrilovska, K Schwan. PVM: persistent virtual memory for efficient capacity scaling and object storage. In: Proceedings of European Conference on Computer Systems. 2016, 1–16
https://doi.org/10.1145/2901318.2901325
41 L Liu, S J Yang, L Peng, X Y Li. Hierarchical hybrid memory management in OS for tiered memory systems. IEEE Transactions on Parallel Distributed Systems, 2019, 30(10): 2223–2236
https://doi.org/10.1109/TPDS.2019.2908175
42 L Soares, M Stumm. Flexsc: flexible system call scheduling with exception-less system calls. In: Proceedings of USENIX Symposium on Operating Systems Design and Implementation. 2010, 33–46
43 D Engler, F Kaashoek, J Toole. Exokernel: an operating system architecture for application-level resource management. In: Proceedings of ACM Symposium on Operating System Principles. 1995, 251–266
https://doi.org/10.1145/224057.224076
44 H Volos, A J Tack, M Swift. Mnemosyne: lightweight persistent memory. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2011, 91–104
https://doi.org/10.1145/1961296.1950379
45 J Coburn, A Caulfield, A Akel, L Grupp, R Gupta, R Jhala, S Swanson. NV-heaps: making persistent objects fast and safe with next-generation non-volatile memories. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2011, 105–118
https://doi.org/10.1145/1961295.1950380
46 T Hwang, J Jung, Y Won. Heapo: heap-based persistent object store. ACM Transactions on Storage, 2015, 11(1): 1–21
https://doi.org/10.1145/2629619
47 A Memaripour, A Badam, A Phanishayee, Y Q Zhou, R Alagappan, K Strauss, S Swanson. Atomic in-place updates for non-volatile main memories with kamino-tx. In: Proceedings of European Conference on Computer Systems. 2017, 499–512
https://doi.org/10.1145/3064176.3064215
48 Q D Hu, J L Ren, A Badam, J W Shu, T Moscibroda. Log-structured non-volatile main memory. In: Proceedings of USENIX Annual Technical Conference. 2017, 703–717
49 J S Zhao, S Li, D H Yoon, Y Xie, N Jouppi. Kiln: closing the performance gap between systems with and without persistence support. In: Proceedings of International Symposium on Microarchitecture. 2013, 421–432
https://doi.org/10.1145/2540708.2540744
50 S Tweedie. Journaling the linux ext2fs filesystem. In: Proceedings of Annual Linux Expo. 1998, 1–8
51 M Seltzer, K Bostic, M McKusick, C Staelin. An implementation of a log-structured file system for unix. In: Proceedings of Usenix Winter Technical Conference. 1993, 307–326
52 A Joshi, V Nagarajan, S Viglas, M Cintra. Atom: atomic durability in non-volatile memory through hardware logging. In: Proceedings of International Symposium on High Performance Computer Architecture. 2017, 361–372
https://doi.org/10.1109/HPCA.2017.50
53 Y Y Lu, JW Shu, L Sun, O Mutlu. Loose-ordering consistency for persistent memory. In: Proceedings of International Conference on Computer Design. 2014, 216–223
https://doi.org/10.1109/ICCD.2014.6974684
54 H Kumar, Y Patel, R Kesavan, S Makam. High performance metadata integrity protection in the wafl copy-on-write file system. In: Proceedings of USENIX Conference on File and Storage Technologies. 2017, 197–212
55 J Xu, L Zhang, A Memaripour, A Gangadharaiah, A Borase, T Silva, S Swanson, A Rudoff. Nova-fortis: a fault-tolerant non-volatile main memory file system. In: Proceedings of ACM Symposium on Operating Systems Principles. 2017, 478–496
https://doi.org/10.1145/3132747.3132761
56 M K Dong, H Bu, J F Yi, B C Dong, H B Chen. Performance and protection in the ZoFS user-space NVM file system. In: Proceedings of ACM Symposium on Operating Systems Principles. 2019, 478–493
https://doi.org/10.1145/3341301.3359637
57 S Jaffer, S Maneas, A Hwang, B Schroeder. Evaluating file system reliability on solid state drives. In: Proceedings of USENIX Annual Technical Conference. 2019, 783–798
58 A Sweeney, D Doucette, W Hu, C Anderson, M Nishimoto, G Peck. Scalability in the XFS file system. In: Proceedings of USENIX Annual Technical Conference. 1996, 1–14
59 S Kleiman. Vnodes: an architecture for multiple file system types in sun unix. In: Proceedings of USENIX Summer Conference. 2011, 238–247
60 Y Wang, D J Jiang, J Xiong. Caching or not: rethinking virtual file system for non-volatile main memory. In: Proceedings of USENIX Workshop on Hot Topics in Storage and File Systems. 2018, 1–6
61 J Yang, D Minturn, F Hady. When poll is better than interrupt. In: Proceedings of USENIX Conference on File and Storage Technologies. 2012, 1–7
62 G Lee, S Shin, W Song, T J Ham, J Lee, J Jeong. Asynchronous I/O stack: a low-latency kernel I/O stack for ultra-low latency SSDs. In: Proceedings of USENIX Annual Technical Conference. 2019, 603–616
63 J X Ou, J W Shu, Y Y Lu. A high performance file system for nonvolatile main memory. In: Proceedings of European Conference on Computer Systems. 2016, 1–16
https://doi.org/10.1145/2901318.2901324
64 C Chen, J Yang, Q S Wei, C D Wang, M D Xue. Fine-grained metadata journaling on NVM. In: Proceedings of IEEE Conference on Mass Storage Systems and Technologies. 2016, 1–13
https://doi.org/10.1145/3060147
65 E Lee, S Yoo, H Bahn. Design and implementation of a journaling file system for phase-change memory. IEEE Transaction on Computers, 2015, 64(5): 1349–1360
https://doi.org/10.1109/TC.2014.2329674
66 M K Dong, H B Chen. Soft updates made simple and fast on non-volatile memory. In: Proceedings of USENIX Annual Technical Conference. 2017, 719–731
67 G Ganger, M McKusick, C Soules, Y Patt. Soft updates: a solution to the metadata update problem in file systems. ACM Transactions on Computer Systems, 2000, 18(2): 127–153
https://doi.org/10.1145/350853.350863
68 J X Chen, Q S Wei, C Chen, L K Wu. FSMAC: a file system metadata accelerator with non-volatile memory. In: Proceedings of IEEE Conference on Mass Storage Systems and Technologies. 2013, 1–11
https://doi.org/10.1109/MSST.2013.6558440
69 X J Wu, N Reddy. SCMFS: a file system for storage class memory. In: Proceedings of International Conference on High Performance Computing Networking, Storage and Analysis. 2011, 1–11
https://doi.org/10.1145/2063384.2063436
70 E Sha, X Z Chen, Q F Zhuge, L Shi, W W Jiang. A new design of in-memory file system based on file virtual address framework. IEEE Transactions on Computers, 2016, 65(10): 2959–2972
https://doi.org/10.1109/TC.2016.2516019
71 N Amit. Optimizing the tlb shootdown algorithm with page access rracking. In: Proceedings of USENIX Annual Technical Conference. 2017, 27–39
72 C Mohan, D Haderle, B Lindsay, H Pirahesh, P Schwarz. Aries: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database System, 1992, 17(1): 94–162
https://doi.org/10.1145/128765.128770
73 D Hitz, J Lau, M Malcolm. File system design for an nfs file server appliance. In: Proceedings of Winter Technical Conference. 1994, 235–246
74 B Schroeder, G Gibson. Disk failures in the real world: what does an MTTF of 1000000 hours mean to you. In: Proceedings of USENIX Conference on File and Storage Technologies. 2007, 1–16
75 B Schroeder, S Damouras, P Gill. Understanding latent sector errors and how to protect against them. In: Proceedings of USENIX Conference on File and Storage Technologies. 2010, 71–84
76 B Schroeder, R Lagisetty, A Merchant. Flash reliability in production: the expected and the unexpected. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 67–80
77 O Rodeh, J Bacik, C Mason. BTRFS: the linux b-tree filesystem. ACM Transactions on Storage, 2013, 9(3): 1–32
https://doi.org/10.1145/2501620.2501623
78 H Volos, S Nalli, S Panneerselvam, V Varadarajan, P Saxena, M Swift. Aerie: flexible file-system interfaces to storage-class memory. In: Proceedings of European Conference on Computer Systems. 2014, 1–14
79 R Kadekodi, S K Lee, S Kashyap, T Kim, A Kolli, V Chidambaram. Splitfs: reducing software overhead in file systems for persistent memory. In: Proceedings of ACM Symposium on Operating Systems Principles. 2019, 494–508
https://doi.org/10.1145/3341301.3359631
80 A Belay, G Prekas, A Klimovic, S Grossman, C Kozyrakis, E Bugnion. IX: a protected dataplane operating system for high throughput and low latency. In: Proceedings of USENIX Symposium on Operating Systems Design and Implementation. 2014, 49–65
81 S Peter, J L Li, I Zhang, D Ports, D Woos, A Krishnamurthy, T Anderson, T Roscoe. Arrakis: the operating system is the control plane. In: Proceedings of USENIX Symposium on Operating Systems Design and Implementation. 2014, 1–16
82 S G Zheng, M Hoseinzadeh, S Swanson. Ziggurat: a tiered file system for non-volatile main memories and disks. In: Proceedings of USENIX Conference on File and Storage Technologies. 2019, 207–219
83 E Lee, H Bahn, S Noh. Unioning of the buffer cache and journaling layers with non-volatile memory. In: Proceedings of USENIX Conference on File and Storage Technologies. 2013, 73–80
84 J X Ou, J W Shu. Fast and failure-consistent updates of application data in non-volatile main memory file system. In: Proceedings of IEEE Conference on Mass Storage Systems and Technologies. 2016, 1–15
85 S G Zheng, L P Huang, H Liu, L Z Wu, J Zha. HMVFS: a hybrid memory versioning file system. In: Proceedings of IEEE Conference on Mass Storage Systems and Technologies. 2016, 1–14
86 J Sim, A Alameldeen, Z Chishti, C Wilkerson, H Kim. Transparent hardware management of stacked dram as part of memory. In: Proceedings of International Symposium on Microarchitecture. 2014, 13–24
https://doi.org/10.1109/MICRO.2014.56
87 A Clements, F Kaashoek, N Zeldovich. Radixvm: scalable address spaces for multithreaded applications. In: Proceedings of European Conference on Computer Systems. 2013, 211–224
https://doi.org/10.1145/2465351.2465373
88 D L Xue, L P Huang, C Li, C T Wu. Dapper: an adaptive manager for large-capacity persistent memory. IEEE Transactions on Computers, 2019, 68(7): 1019–1034
https://doi.org/10.1109/TC.2019.2899836
89 Z Yan, D Lustig, D Nellans, A Bhattacharjee. Nimble page management for tiered memory systems. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2019, 331–345
https://doi.org/10.1145/3297858.3304024
90 S Kannan, A Gavrilovska, V Gupta, K Schwan. Heteroos: OS design for heterogeneous memory management in datacenter. In: Proceedings of International Symposium on Computer Architecture. 2017, 521–534
https://doi.org/10.1145/3140659.3080245
91 N Agarwal, T Wenisch. Thermostat: application-transparent page management for two-tiered main memory. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2017, 631–644
https://doi.org/10.1145/3093315.3037706
92 V Gogte, W Wang, S Diestelhorst, A Kolli, P Chen, S Narayanasamy, T Wenisch. Software wear management for persistent memories. In: Proceedings of USENIX Conference on File and Storage Technologies. 2019, 45–63
93 G Dhiman, R Z Ayoub, T Rosing. PDRAM: a hybrid pram and dram main memory system. In: Proceedings of Design Automation Conference. 2009, 664–669
https://doi.org/10.1145/1629911.1630086
94 S Dulloor, A Roy, Z G Zhao, N Sundaram, N Satish, R Sankaran, J Jackson, K Schwan. Data tiering in heterogeneous memory systems. In: Proceedings of European Conference on Computer Systems. 2016, 1–16
https://doi.org/10.1145/2901318.2901344
95 V Gupta, M Lee, K Schwan. Heterovisor: exploiting resource heterogeneity to enhance the elasticity of cloud platforms. In: Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2015, 79–92
https://doi.org/10.1145/2731186.2731191
96 D L Xue, C Li, L P Huang, C T Wu, T Y Li. Adaptive memory fusion: towards transparent, agile integration of persistent memory. In: Proceedings of International Symposium on High Performance Computer Architecture. 2018, 324–335
https://doi.org/10.1109/HPCA.2018.00036
97 E Ipek, J Condit, E Nightingale, D Burger, T Moscibroda. Dynamically replicated memory: building reliable systems from nanoscale resistive memories. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2010, 3–14
https://doi.org/10.1145/1735970.1736023
98 J Chen, G Venkataramani, H Huang. Repram: re-cycling pram faulty blocks for extended lifetime. In: Proceedings of International Conference on Dependable Systems and Networks. 2012, 1–12
https://doi.org/10.1109/DSN.2012.6263950
99 C H Chen, P Hsiu, T Kuo, C Yang, C M Wang. Age-based PCM wear leveling with nearly zero search cost. In: Proceedings of Design Automation Conference. 2012, 453–458
https://doi.org/10.1145/2228360.2228439
100 D Chakrabarti, H Boehm, K Bhandari. Atlas: leveraging locks for nonvolatile memory consistency. In: Proceedings of International Conference on Object Oriented Programming Programming, Systems, Languages, and Applications. 2014, 433–452
https://doi.org/10.1145/2660193.2660224
101 T Hsu, H Brugner, I Roy, K Keeton, P Eugster. Nvthreads: practical persistence for multi-threaded applications. In: Proceedings of European Conference on Computer Systems. 2017, 468–482
https://doi.org/10.1145/3064176.3064204
102 E Giles, K Doshi, P Varman. Softwrap: a lightweight framework for transactional support of storage class memory. In: Proceedings of International Conference on Mass Storage Systems and Technologies. 2015, 1–14
https://doi.org/10.1109/MSST.2015.7208276
103 J Y Gu, Q Q Yu, X Y Wang, Z G Wang, B Y Zang, H B Guan, H B Chen. Pisces: a scalable and efficient persistent transactional memory. In: Proceedings of USENIX Annual Technical Conference. 2019, 913–928
104 Y Y Lu, J W Shu, L Sun. Blurred persistence in transactional persistent memory. In: Proceedings of International Conference on Mass Storage Systems and Technologies. 2015, 1–13
105 L Zhang, S Swanson. Pangolin: a fault-tolerant persistent memory programming library. In: Proceedings of USENIX Annual Technical Conference. 2019, 897–912
106 K Bhandari, D Chakrabarti, H Boehm. Makalu: fast recoverable allocation of non-volatile memory. In: Proceedings of International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 2016, 677–694
https://doi.org/10.1145/3022671.2984019
107 A Kolli, S Pelley, A Saidi, P Chen, T Wenisch. High-performance transactions for persistent memories. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems. 2016, 399–411
https://doi.org/10.1145/2954680.2872381
108 X Ren, K Rodrigues, L Chen, C Vega, M Stumm, D Yuan. An analysis of performance evolution of linux’s core operations. In: Proceedings of ACM Symposium on Operating Systems Principles. 2019, 554–569
https://doi.org/10.1145/3341301.3359640
109 X Li, K Lu, X P Wang, X Zhou. NV-process: a fault-tolerance process model based on non-volatile memory. In: Proceedings of Asia-Pacific Workshop on Systems. 2012, 1–8
110 D Porter, O Hofmann, C Rossbach, A Benn, E Witchel. Operating systems transactions. In: Proceedings of ACM Symposium on Operating Systems Principles. 2009, 161–176
https://doi.org/10.1145/1629575.1629591
[1] Article highlights Download
[1] Xiaobing SUN, Tianchi ZHOU, Rongcun WANG, Yucong DUAN, Lili BO, Jianming CHANG. Experience report: investigating bug fixes in machine learning frameworks/libraries[J]. Front. Comput. Sci., 2021, 15(6): 156212-.
[2] Huiyan XU, Zhongqing WANG, Yifei ZHANG, Xiaolan WENG, Zhijian WANG, Guodong ZHOU. Document structure model for survey generation using neural network[J]. Front. Comput. Sci., 2021, 15(4): 154325-.
[3] Dongjie CHEN, Yanyan JIANG, Chang XU, Xiaoxing MA. On interleaving space exploration of multi-threaded programs[J]. Front. Comput. Sci., 2021, 15(4): 154206-.
[4] Panthadeep BHATTACHARJEE, Pinaki MITRA. A survey of density based clustering algorithms[J]. Front. Comput. Sci., 2021, 15(1): 151308-.
[5] Syed Farooq ALI, Muhammad Aamir KHAN, Ahmed Sohail ASLAM. Fingerprint matching, spoof and liveness detection: classification and literature review[J]. Front. Comput. Sci., 2021, 15(1): 151310-.
[6] Yongwang ZHAO, Zhibin YANG, Dianfu MA. A survey on formal specification and verification of separation kernels[J]. Front. Comput. Sci., 2017, 11(4): 585-607.
[7] Xingbo WU,Xiang LONG,Lei WANG. FlexPoll: adaptive event polling for network-intensive applications[J]. Front. Comput. Sci., 2016, 10(3): 532-542.
[8] Yanhong HUANG,Jifeng HE,Huibiao ZHU,Yongxin ZHAO,Jianqi SHI,Shengchao QIN. Semantic theories of programs with nested interrupts[J]. Front. Comput. Sci., 2015, 9(3): 331-345.
[9] Yuehua DAI, Yi SHI, Yong QI, Jianbao REN, Peijian WANG. Design and verification of a lightweight reliable virtual machine monitor for a many-core architecture[J]. Front Comput Sci, 2013, 7(1): 34-43.
[10] Mingsong LV, Nan GUAN, Qingxu DENG, Ge YU, Wang Yi, . Static worst-case execution time analysis of the μ C/OS-II real-time kernel[J]. Front. Comput. Sci., 2010, 4(1): 17-27.
[11] Sargur N. Srihari, Xuanshen Yang, Gregory R. Ball. Offline Chinese handwriting recognition: an assessment of current technology[J]. Front. Comput. Sci., 2007, 1(2): 137-155.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed