LASER: Latency-Aware Segment Relocation for non-volatile memory

In this work, we develop Latency-Aware Segment Relocation (LASER) which relocates a subset of segments of binary image to NVRAM to reduce program launch latency. A significant amount of time is spent on loading the binary image to main memory and initializing it. We develop a new system startup mechanism, to reduce the boot time by using selectively relocating read-only sections in NVRAM. We develop a model to determine the set of segments to be loaded into NVRAM given the maximum launch latency constraint and the physical latency of NVRAM. We implement LASER scheme to commercially available embedded systems (S5PC100 and Zynq7020). LASER-enabled systems achieve 54% and 38% reduction in boot time in S5PC100 and Zynq7020 systems, respectively.

[1]  Siegfried Selberherr,et al.  Emerging memory technologies: Trends, challenges, and modeling methods , 2012, Microelectron. Reliab..

[2]  Hiroki Kaminaga,et al.  Improving Linux Startup Time Using Software Resume ( and other techniques ) , 2010 .

[3]  Dae-Wha Seo,et al.  Embedded Linux implementation on a commercial digital TV system , 2003, IEEE Trans. Consumer Electron..

[4]  Jamal Hadi Salim Kernel Korner , 1999 .

[5]  Youjip Won,et al.  Selective Segment Initialization: Exploiting NVRAM to Reduce Device Startup Latency , 2014, IEEE Embedded Systems Letters.

[6]  Nicola Corriero A Patch for Squashfs to Improve the Compressed Files Contents Search: HSFS , 2011, 2011 First International Conference on Data Compression, Communications and Processing.

[7]  Christopher Frost,et al.  Better I/O through byte-addressable, persistent memory , 2009, SOSP '09.

[8]  Roy H. Campbell,et al.  Consistent and Durable Data Structures for Non-Volatile Byte-Addressable Memory , 2011, FAST.

[9]  M. Omizo,et al.  Modeling , 1983, Encyclopedic Dictionary of Archaeology.

[10]  saina. kim,et al.  Boosting up Embedded Linux device : experience on Linux-based Smartphone , 2010 .

[11]  Naehyuck Chang,et al.  Improving application launch times with hybrid disks , 2009, CODES+ISSS '09.

[12]  Yifeng Zhu,et al.  Accelerating write by exploiting PCM asymmetries , 2013, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA).

[13]  Hiroshi Yamada,et al.  Phase-based reboot: Reusing operating system execution phases for cheap reboot-based recovery , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[14]  Youjip Won,et al.  Bootless Boot: Reducing Device Boot Latency with Byte Addressable NVRAM , 2013, 2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing.

[15]  Heeseung Jo,et al.  Optimizing the startup time of embedded systems: a case study of digital TV , 2009, IEEE Transactions on Consumer Electronics.

[16]  Taciano Dreckmann Perez,et al.  Evaluation of system-level impacts of a persistent main memory architecture , 2012 .

[17]  Christopher Hallinan Reducing boot time in embedded Linux systems , 2009 .

[18]  Yuan Xie,et al.  Endurance-aware cache line management for non-volatile caches , 2014, TACO.

[19]  Tei-Wei Kuo,et al.  A classification-based prefetching scheme for hibernation of embedded computing systems , 2014, RACS '14.

[20]  Lorenzo Colitti Analyzing and improving GNOME startup time , 2006 .

[21]  Laurence A. Wolsey,et al.  The 0-1 Knapsack problem with a single continuous variable , 1999, Math. Program..

[22]  Eric Youngdale Kernel Korner: The ELF Object File Format: Introduction , 1995 .

[23]  Tei-Wei Kuo,et al.  Booting Time Minimization for Real-Time Embedded Systems with Non-Volatile Memory , 2014, IEEE Transactions on Computers.

[24]  Xiaowei Li,et al.  Wear rate leveling: Lifetime enhancement of PRAM with endurance variation , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[25]  Alessandro Rubini Kernel Korner , 1998 .

[26]  Heeseung Jo,et al.  Improving the startup time of digital TV , 2009, IEEE Transactions on Consumer Electronics.

[27]  Tim R. Bird Methods to Improve Bootup Time in Linux , 2010 .

[28]  Yuan Xie,et al.  Modeling, Architecture, and Applications for Emerging Memory Technologies , 2011, IEEE Design & Test of Computers.

[29]  Sunggu Lee,et al.  FPGA-based prototyping systems for emerging memory technologies , 2014, 2014 25nd IEEE International Symposium on Rapid System Prototyping.

[30]  Anirudh Badam How Persistent Memory Will Change Software Systems , 2013, Computer.

[31]  Yuan-Cheng Lai,et al.  Booting, browsing and streaming time profiling, and bottleneck analysis on android-based systems , 2013, J. Netw. Comput. Appl..

[32]  Luis Ceze,et al.  Operating System Implications of Fast, Cheap, Non-Volatile Memory , 2011, HotOS.