Your SlideShare is downloading. ×
algoseminar.ppt
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

algoseminar.ppt

155
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
155
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Energy Efficient Sensor Data Logging with Amnesic Flash Storage
    • By:
      • Suman Nath
    • appeared in
    • IPSN 2009
    Presented by: Michele Albano
  • 2. Memory on a sensor
    • XBow's MicaZ:
      • 128K of Program Flash Memory
      • 512K of Measurement Serial Flash Memory
      • 4K of Configuration EEPROM
      • 4K RAM
    • ATMEL's ATmega128:
      • 128K of Program+Data Flash Memory
      • 4K of EEPROM
      • 4K Internal SRAM
    • STM M25P memory for Telos motes:
      • 16 blocks, 256 pages, 256 bytes of Flash Memory
  • 3. Flash Storage
    • Sensors usually store data into Flash memory:
      • Memory can fill up
      • High I/O energy cost
      • Limited number of rewrites
      • Read data: 1 page granularity
      • Write data: 1 page granularity
      • Erase data: 1 block granularity
      • Updata data = read+erase+write
  • 4. Goals in using Flash memory
    • Amnesic storage:
      • Data is (lossy) compressed
          • Since compression is cheaper than I/O
      • Online storage
      • Aging techniques
          • Older data is kept with lower fidelity
      • Efficient storing and indexing of data
          • Efficient time-ranged queries on data
  • 5. FlashLogger
    • What is it?
    • Flash-optimized abstraction for
    • compressing and aging sensor data,
    • user chooses:
    • - Amnesic Function
    • - Compressing Algorithm
    • Composed by:
      • Compressing Module: suite of amnesic compressing algorithms
      • Amnesic Function: when do we age data?
      • Am-store: mantains compressed data on flash
  • 6. Am-Store
    • What is it?
    • Novel flash-efficient abstraction for
    • archiving amnesic compressed data,
    • updating and overwriting compressed data
    • Challenges to be addressed:
      • Excessive I/Os
        • We want to be lazy
      • Modification of Existing Data
        • Can not change pointers for List
      • Fragmentation of Adjacent Data
        • Query on time range: Array or List?
  • 7. Basic data structure?
    • Arrays are afficient for time-ranged queries
      • Keep logically adjacent data in physically adjacent locations
      • Binary search
      • But we need to compact the flash for each recompression
    • Linked List need not to be compacted
      • Need to be traversed for queries
      • No ”next” pointer, that we should upate
    • Skip List
      • Linked lists with additional ”previous” pointers
      • Logarithmically bounded queries
  • 8. Addressing the challenges
      • Excessive I/Os:
        • Lazy updates, batching the recompressions
      • Expensive pointer modifications
        • Multiple lists (buckets), one per fidelity
        • Pointer to previous data (not to next data)‏
        • Timestamped pointers
      • Efficient time-ranged query
        • Each bucket is a skip list
  • 9. Data organization
      • n b_i buckets, for n f_i fidelity levels
      • if flash is full, truncate+dilute
        • data in last bucket is deleted
        • data in b_i buckets is recompressed to b_{i+1}
  • 10. Time ranged data queries
      • Data is organized into skip-lists
        • LOG-time to find first data for the query
      • No ”next” time pointer, but can scan backward
      • Adjacent Buckets store (time) adjacent data
      • If scan for time ranged data is not finished in this bucket, it restarts from next bucket
      • Current time windows for buckets are stored into RAM
        • No scan uses dangling (timestamped) pointers
  • 11. Design of Am-Store
    • Bucket Manager:
      • writes pages in bucket
      • if no page is available:
        • asks the Storage Manager
    • Storage Manager:
      • keeps list of available pages
      • truncate + dilute
  • 12. Implementation
    • System was implemented on:
      • Moteiv Tmote Sky running TinyOS 2.1
        • lines of nesC code: 500
        • footprint in ROM: 14 KB
        • footprint in RAM: 1.5 KB
      • Linux
        • to experiment with larger Flash memories
  • 13. Experiments
    • Comparison of the system with:
      • Aggressive (not lazy) error-efficent scheme
      • System using Arrays (like DIMENSIONS)‏
        • compacted upon recompression
      • System using Linked List
  • 14. Results
  • 15. Conclusions
      • Existing lazy techniques are not suitable
      • Need to address block/page structure of Flash memory
      • FlashLogger does not rely on update of already stored data
        • Uses only backward pointers
      • Timestamps to ignore dangling pointers
      • Skip list to keep LOG(n) complexity
  • 16. Questions? Thank you for your attention!

×