当前位置: X-MOL 学术ACM Trans. Embed. Comput. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Efficient External Sorting for Memory-Constrained Embedded Devices with Flash Memory
ACM Transactions on Embedded Computing Systems ( IF 2 ) Pub Date : 2021-03-26 , DOI: 10.1145/3446976
Riley Jackson 1 , Jonathan Gresl 1 , Ramon Lawrence 1
Affiliation  

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.

中文翻译:

具有闪存的内存受限嵌入式设备的高效外部排序

嵌入式设备在工业和环境监测、健康和安全以及消费电器领域无处不在。一个常见的用例是基于数据分析的数据收集、处理和执行操作。尽管许多物联网 (IoT) 应用程序仅将嵌入式设备用于数据收集,但在更接近数据收集的位置完成更多数据处理以减少网络传输和电力使用并提供更快的响应是有好处的。这项工作实现并评估了用于在嵌入式设备上对数据进行排序的算法,特别关注最小的存储设备。在可用 RAM 小于 4 KB 的设备中,标准外部合并排序算法的应用有限,因为它至少需要三个内存缓冲区并且不支持闪存。贡献是一种内存优化的外部排序算法,称为无输出缓冲区排序 (NOBsort),它减少了排序所需的最小内存,对已排序或​​接近排序的数据具有出色的性能,并可在 SD 卡或原始闪存等外部存储器上进行排序筹码。在对大型数据集进行排序时,与标准外部合并排序相比,无输出缓冲区排序可将 I/O 和执行时间减少 20% 到 35%。
更新日期:2021-03-26
down
wechat
bug