Efficient External Sorting for Memory-Constrained Embedded Devices with Flash Memory

被引:2
|
作者
Jackson, Riley [1 ]
Gresl, Jonathan [1 ]
Lawrence, Ramon [1 ]
机构
[1] Univ British Columbia, 3187 Univ Way, Kelowna, BC V1V 1V7, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Sorting; Arduino; embedded; performance; Internet of Things;
D O I
10.1145/3446976
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Embedded devices are ubiquitous in areas of industrial and environmental monitoring, health and safety, and consumer appliances. A common use case is data collection, processing, and performing actions based on data analysis. Although many Internet of Things (IoT) applications use the embedded device simply for data collection, there are benefits to having more data processing done closer to data collection to reduce network transmissions and power usage and provide faster response. This work implements and evaluates algorithms for sorting data on embedded devices with specific focus on the smallest memory devices. In devices with less than 4 KB of available RAM, the standard external merge sort algorithm has limited application as it requires a minimum of three memory buffers and is not flash-aware. The contribution is a memory-optimized external sorting algorithm called no output buffer sort (NOBsort) that reduces the minimum memory required for sorting, has excellent performance for sorted or near-sorted data, and sorts on external memory such as SD cards or raw flash chips. When sorting large datasets, no output buffer sort reduces I/O and execution time by between 20% to 35% compared to standard external merge sort.
引用
收藏
页数:21
相关论文
共 50 条
  • [31] Memory-constrained image-processing architecture
    Patel, Mayur
    [J]. Dr. Dobb's Journal, 1997, 22 (07): : 26 - 29
  • [32] On approximating the memory-constrained module allocation problem
    Institut d'Informatique d'Entreprise, 18 allée Jean Rostand, 91025 Evry Cedex, France
    [J]. Inf. Process. Lett., 4 (205-208):
  • [33] On approximating the memory-Constrained Module Allocation Problem
    Roupin, F
    [J]. INFORMATION PROCESSING LETTERS, 1997, 61 (04) : 205 - 208
  • [34] Data Sorting in Flash Memory
    Wu, Chin-Hsien
    Huang, Kuo-Yi
    [J]. ACM TRANSACTIONS ON STORAGE, 2015, 11 (02)
  • [35] A memory-constrained image-processing architecture
    Patel, M
    [J]. DR DOBBS JOURNAL, 1997, 22 (07): : 24 - +
  • [36] Improving Java']Java virtual machine reliability for memory-constrained embedded systems.
    Chen, GY
    Kandemir, M
    [J]. 42nd Design Automation Conference, Proceedings 2005, 2005, : 690 - 695
  • [37] TEFS: A Flash Pile System for Use on Memory Constrained Devices
    Penson, Wade
    Fazackerley, Scott
    Lawrence, Ramon
    [J]. 2016 IEEE CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (CCECE), 2016,
  • [38] External Sorting on Flash Memory Via Natural Page Run Generation
    Liu, Yang
    He, Zhen
    Chen, Yi-Ping Phoebe
    Thi Nguyen
    [J]. COMPUTER JOURNAL, 2011, 54 (11): : 1882 - 1900
  • [39] Energy-aware code cache management for memory-constrained Java']Java devices
    Chen, G
    Chen, G
    Kandemir, M
    Vijaykrishnan, N
    Irwin, MJ
    [J]. IEEE INTERNATIONAL SOC CONFERENCE, PROCEEDINGS, 2003, : 179 - 182
  • [40] On-NAS: On-Device Neural Architecture Search on Memory-Constrained Intelligent Embedded Systems
    Kim, Bosung
    Lee, Seulki
    [J]. PROCEEDINGS OF THE 21ST ACM CONFERENCE ON EMBEDDED NETWORKED SENSOR SYSTEMS, SENSYS 2023, 2023, : 152 - 166