FSort: external sorting on flash-based sensor devices

In long-term deployments of Wireless Sensor Networks, it is often more efficient to store sensor readings locally at each device and transmit those readings to the user only when requested (i.e., in response to a user query). Many of the techniques that collect information from a sensor network require that the data is sorted on some attribute (e.g., range queries, top-k queries, join queries, etc.) Yet, the underlying storage medium of these devices (i.e., Flash media) presents some unique characteristics which renders traditional disk-based sorting algorithms inefficient in this context. In this paper we devise the FSort algorithm, an efficient external sorting algorithm for flash-based sensor devices with a small memory footprint. FSort minimizes the expensive write/delete operations of flash memory minimizing in that way the consumption of energy. In particular, FSort uses a top-down replacement selection algorithm in order to produce sorted runs on flash media in a log-based manner. Sorted runs are then recursively merged in order to yield the sorted result. Our experimentation with real traces from Intel Research Berkeley show that FSort greatly outperforms the traditional External Mergesort Algorithm both in regards to time and energy consumption. We found similar advantages in regards to the wearability constraints of flash media.

[1]  Kirk Pruhs,et al.  KDDCS: a load-balanced in-network data-centric storage scheme for sensor networks , 2006, CIKM '06.

[2]  Kirk Pruhs,et al.  Decomposing Data-Centric Storage Query Hot-Spots in Sensor Networks , 2006 .

[3]  Panos K. Chrysanthis,et al.  KSpot: Effectively Monitoring the K Most Important Events in a Wireless Sensor Network , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[4]  Wei Hong,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Tag: a Tiny Aggregation Service for Ad-hoc Sensor Networks , 2022 .

[5]  John Anderson,et al.  An analysis of a large scale habitat monitoring application , 2004, SenSys '04.

[6]  Margaret Martonosi,et al.  Hardware design experiences in ZebraNet , 2004, SenSys '04.

[7]  Yong Yao,et al.  The cougar approach to in-network query processing in sensor networks , 2002, SGMD.

[8]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[9]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[10]  Yon Dohn Chung,et al.  Design and implementation of MLC NAND flash-based DBMS for mobile devices , 2009, J. Syst. Softw..

[11]  호리구찌후미오 Semiconductor memory device and method for manufacturing the same , 2001 .

[12]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[13]  Deborah Estrin,et al.  A wireless sensor network For structural monitoring , 2004, SenSys '04.

[14]  Mohamed A. Sharaf,et al.  TiNA: a scheme for temporal coherency-aware in-network aggregation , 2003, MobiDe '03.

[15]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[16]  Panos K. Chrysanthis,et al.  MINT Views: Materialized In-Network Top-k Views in Sensor Networks , 2007, 2007 International Conference on Mobile Data Management.

[17]  John A. Stankovic,et al.  LUSTER: wireless sensor network for environmental research , 2007, SenSys '07.

[18]  Sang-Won Lee,et al.  Design of flash-based DBMS: an in-page logging approach , 2007, SIGMOD '07.

[19]  Goetz Graefe,et al.  Memory management during run generation in external sorting , 1998, SIGMOD '98.

[20]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[21]  Dimitrios Gunopulos,et al.  Microhash: an efficient index structure for fash-based sensor devices , 2005, FAST'05.

[22]  David B. Lomet,et al.  Alphasort: A cache-sensitive parallel external sort , 1995, The VLDB Journal.

[23]  Miron Livny,et al.  Memory-Adaptive External Sorting , 1993, VLDB.

[24]  Philippe Bonnet,et al.  uFLIP: Understanding Flash IO Patterns , 2009, CIDR.

[25]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .