[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3341105.3373913acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

An efficient tinification of the linux kernel for minimizing resource consumption

Published: 30 March 2020 Publication History

Abstract

Reusable libraries and rich functional operating systems (OSs) have been significantly improving system development in terms of time-to-market and product quality. On the other hand, such general-purpose software often has code and data that is useless for the target system. Therefore, an optimization mechanism must be developed to efficiently extract only the necessary and sufficient functions from the whole software code.
This study aims to support optimizing Linux, which is the most used OS in various systems, including embedded devices. Embedded devices may especially require Linux to be optimized because of limited computing resources and costs. Linux Kernel Config allows unnecessary functions to be removed explicitly during system building. Nevertheless, an optimal configuration setting is hard to specify manually for each target system because there are about 10,000 selectable config options in the Linux Kernel Config. We propose a method to automatically estimate the effect on the memory usage and power consumption of each Kernel Config option in a target system. Results of an experiment show our method makes it possible to automatically specify config options that could be disabled to effectively shrink resource usage for a target system.

References

[1]
Mahdi Amiri-Kordestani and Hadj Bourdoucen. 2017. A survey on embedded open source system software for the internet of things. In Free and Open Source Software Conference, Vol. 2017.
[2]
Mohamad-Reza AndalibiZadeh and Mohammad Hossein Eslami. 2007. Frozen Code Compression Technique as an On-demand Code Loading to Reduce the Footprint of Linux Kernel for Embedded Systems. In International Conference on Open-Source Systems and Technologies.
[3]
Erik Andersen. 2012. uClibc. Retrieved 2019/12/08 from https://www.uclibc.org/
[4]
Luca Ardito and Marco Torchiano. 2018. Creating and evaluating a software power model for linux single board computers. In Proceedings of the 6th International Workshop on Green and Sustainable Software. ACM, 1--8.
[5]
Fabián Astudillo-Salinas, Daniela Barrera-Salamea, Andrés Vázquez-Rodas, and Lizandro Solano-Quinde. 2016. Minimizing the power consumption in Raspberry Pi to use as a remote WSN gateway. In 2016 8th IEEE Latin-American Conference on Communications (LATINCOM). IEEE, 1--5.
[6]
Girish Bekaroo and Aditya Santokhee. 2016. Power consumption of the Raspberry Pi: A comparative analysis. In 2016 IEEE International Conference on Emerging Technologies and Innovative Business Practices for the Transformation of Societies (EmergiTech). IEEE, 361--366.
[7]
Tim Bird. 2013. Advanced Size Optimization of the Linux Kernel. LinuxCon Japan.
[8]
Christian Dietrich, Reinhard Tartler, Wolfgang Schröder-Preikschat, and Daniel Lohmann. 2012. A Robust Approach for Variability Extraction from the Linux Build System. In Proceedings of the 16th International Software Product Line Conference - Volume 1 (SPEC '12). ACM, New York, NY, USA, 21--30.
[9]
Eike Mentzendorff Christian Meurisch David Hausheer Fabian Kaup, Stefan Hacker. 2018. The Progress of the Energy-Efficiency of Single-board Computers. Technical Report. UniversitÃd'tsplatz 2 39106 Magdeburg.
[10]
Inc. Free Software Foundation. 2019. Manual page addr2line(1) (2019-05-08 ed.).
[11]
David Geer. 2004. Survey: Embedded linux ahead of the pack. IEEE Distributed Systems Online 5, 10 (2004), 3--3.
[12]
Munehiro Ikeda. 2006. Verification and Improvement of Linux Kernel Size and Memory Consumption (in Japanese). Retrieved 2018-10-27 from https://elinux.org/images/c/c2/Size_tool_esec_2006-06-29_jp.pdf
[13]
joshtriplett. 2017. Linux Kernel Tinification. Retrieved 2019/12/08 from https://tiny.wiki.kernel.org
[14]
Fabian Kaup, Philip Gottschling, and David Hausheer. 2014. PowerPi: Measuring and modeling the power consumption of the Raspberry Pi. In 39th Annual IEEE Conference on Local Computer Networks. IEEE, 236--243.
[15]
Andi Kleen. 2012. RFC: Link Time Optimization support for the kernel. Retrieved 2019/12/08 from https://lwn.net/Articles/512335/
[16]
Andi Kleen. 2014. RFC: A reduced Linux network stack for small systems. Retrieved 2019/12/08 from https://lkml.org/lkml/2014/5/5/686
[17]
Anil Kurmus, Reinhard Tartler, Daniela Dorneanu, Bernhard Heinloth, Valentin Rothberg, Andreas Ruprecht, Wolfgang Schröder-Preikschat, Daniel Lohmann, and Rüdiger Kapitza. 2013. Attack Surface Metrics and Automated Compile-Time OS Kernel Tailoring. In NDSS.
[18]
Chi-Tai Lee, Jim-Min Lin, Zeng-Wei Hong, and Wei-Tsong Lee. 2004. An application-oriented Linux kernel customization for embedded systems. J. Inf. Sci. Eng. 20, 6 (2004), 1093--1107.
[19]
Matt Maccall. 2006. Bloat Watch. Embedded Linux Conference Europe 2006.
[20]
Bela Markus. 2016. piCore - Introduction. Retrieved 2019/12/08 from http://tinycorelinux.net/9.x/armv6/releases/RPi/README
[21]
Peter Maydell. 2019. Re: arm raspi2/raspi3 emulation has no USB support. Retrieved 2019/12/08 from https://lists.gnu.org/archive/html/qemu-devel/2019-08/msg03455.html
[22]
Larry W McVoy, Carl Staelin, et al. 1996. lmbench: Portable tools for performance analysis. In USENIX annual technical conference. San Diego, CA, USA, 279--294.
[23]
Yann E. MORIN. 2019. Kconfig Language - The Linux Kernel documentation. Retrieved 2019/12/08 from https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html
[24]
The Regents of the University of California. 1993. Manual page getty(8) (1993-06-04 ed.).
[25]
Nicolas Pitre. 2015. Reducing the arm linux kernel size without losing your mind. Linaro Connect San Francisco 2015.
[26]
Steven Rostedt. 2009. tracing: add function profiler [LWN.net]. Retrieved 2019/12/08 from https://lwn.net/Articles/324754/
[27]
Julio Sincero, Reinhard Tartler, Daniel Lohmann, and Wolfgang Schröder-Preikschat. 2010. Efficient extraction and analysis of preprocessor-based variability. In ACM SIGPLAN Notices, Vol. 46. ACM, 33--42.
[28]
Statistics Solutions. 2019. Paired Sample T-Test. Retrieved 2019-12-07 from https://www.statisticssolutions.com/manova-analysis-paired-sample-t-test
[29]
W sang Tim Bird, Wmat. 2016. Kernel Size Reduction Work. Retrieved 2019/12/08 from https://elinux.org/Kernel_Size_Reduction_Work
[30]
TAN Lin DAI Yu-xing. 2009. The Design on Automobile Navigation System Based on LINUX [J]. Microcomputer Information 20 (2009).

Cited By

View all
  • (2022)Retracted: Minimizing Memory Usage for Resource Constrained Devices using Deep Convolutional Neural Networks2022 IEEE 2nd Mysore Sub Section International Conference (MysuruCon)10.1109/MysuruCon55714.2022.9972384(1-6)Online publication date: 16-Oct-2022
  • (2021)Power Consumption Profiling of a Lightweight Development Board: Sensing with the INA219 and Teensy 4.0 MicrocontrollerElectronics10.3390/electronics1007077510:7(775)Online publication date: 25-Mar-2021
  • (2021)Efficient Tailoring of Universal Software Components for Conserving Resources: Evaluation in Practical ROS-based System2021 IEEE/SICE International Symposium on System Integration (SII)10.1109/IEEECONF49454.2021.9382728(431-436)Online publication date: 11-Jan-2021

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '20: Proceedings of the 35th Annual ACM Symposium on Applied Computing
March 2020
2348 pages
ISBN:9781450368667
DOI:10.1145/3341105
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 March 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Linux kernel tinification
  2. embedded systems
  3. software tailoring

Qualifiers

  • Research-article

Conference

SAC '20
Sponsor:
SAC '20: The 35th ACM/SIGAPP Symposium on Applied Computing
March 30 - April 3, 2020
Brno, Czech Republic

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Retracted: Minimizing Memory Usage for Resource Constrained Devices using Deep Convolutional Neural Networks2022 IEEE 2nd Mysore Sub Section International Conference (MysuruCon)10.1109/MysuruCon55714.2022.9972384(1-6)Online publication date: 16-Oct-2022
  • (2021)Power Consumption Profiling of a Lightweight Development Board: Sensing with the INA219 and Teensy 4.0 MicrocontrollerElectronics10.3390/electronics1007077510:7(775)Online publication date: 25-Mar-2021
  • (2021)Efficient Tailoring of Universal Software Components for Conserving Resources: Evaluation in Practical ROS-based System2021 IEEE/SICE International Symposium on System Integration (SII)10.1109/IEEECONF49454.2021.9382728(431-436)Online publication date: 11-Jan-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media