Node-level Representation and System Support for Network Programming Jaein Jeong.

Slides:



Advertisements
Similar presentations
DAT2343 File Storage and Access © Alan T. Pinck / Algonquin College; 2003.
Advertisements

Chapter 12: File System Implementation
Databasteknik Databaser och bioinformatik Data structures and Indexing (II) Fang Wei-Kleiner.
Relaxed Consistency Models. Outline Lazy Release Consistency TreadMarks DSM system.
Chapter 4 : File Systems What is a file system?
Chapter 3 Loaders and Linkers
CRI Group Shu Chen| Dr. Yan Huang| The University of North Texas.
File Systems.
Run-Time Dynamic Linking for Reprogramming Wireless Sensor Networks
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
Chapter 11: File System Implementation
Leveraging IP for Sensor Network Deployment Simon Duquennoy, Niklas Wirstrom, Nicolas Tsiftes, Adam Dunkels Swedish Institute of Computer Science Presenter.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
File System Implementation
Incremental Network Programming for Wireless Sensors NEST Retreat June 3 rd, 2004 Jaein Jeong UC Berkeley, EECS Introduction Background – Mechanisms of.
File System Implementation CSCI 444/544 Operating Systems Fall 2008.
File Systems Implementation
Incremental Network Programming for Wireless Sensors IEEE SECON 2004 Jaein Jeong and David Culler UC Berkeley, EECS.
Network Reprogramming Jaein Jeong, Sukun Kim Nest Meeting July 30, 2003.
1 Deluge: Data Dissemination for Network Programming at Scale Jonathan Hui UC Berkeley NEST Retreat June 3, 2004.
1 Network Reprogramming at Scale NEST Retreat January, 2004 Jonathan Hui Jaein Jeong Gilman Tolle.
ARM C Language & Assembler. Using C instead of Java (or Python, or your other favorite language)? C is the de facto standard for embedded systems because.
CS252/Patterson Lec /28/01 CS 213 Lecture 10: Multiprocessor 3: Directory Organization.
John Degenhart Joseph Allen.  What is FTP?  Communication over Control connection  Communication over Data Connection  File Type  Data Structure.
File Systems (1). Readings r Silbershatz et al: 10.1,10.2,
File Systems and Disk Management. File system Interface between applications and the mass storage/devices Provide abstraction for the mass storage and.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
Windows NTFS Introduction to Operating Systems: Module 15.
Chapter 10: File-System Interface 10.1 Silberschatz, Galvin and Gagne ©2011 Operating System Concepts – 8 th Edition 2014.
File Systems CSCI What is a file? A file is information that is stored on disks or other external media.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 12: File System Implementation File System Structure File System Implementation.
Computer Systems Week 14: Memory Management Amanda Oddie.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
Lecture 10 Page 1 CS 111 Summer 2013 File Systems Control Structures A file is a named collection of information Primary roles of file system: – To store.
File Systems cs550 Operating Systems David Monismith.
Review CS File Systems - Partitions What is a hard disk partition?
Files An operating system, maintains descriptive information about files in a data structure called a file descriptor. NameDeletion control Storage Organization.
Chapter 5 Record Storage and Primary File Organizations
W4118 Operating Systems Instructor: Junfeng Yang.
File Systems and Disk Management
File-System Management
File System Implementation
Jonathan Walpole Computer Science Portland State University
Chapter 2: System Structures
File System Structure How do I organize a disk into a file system?
Chapter 11: File System Implementation
Filesystems.
Appendix D: Network Model
Concurrent Version Control
Chapter 11: File System Implementation
File Systems and Disk Management
File Systems Implementation
Chapter 11: File System Implementation
Introduction to Database Systems
Memory Allocation CS 217.
File Systems and Disk Management
File Systems and Disk Management
Introduction to computers
Chapter 16 File Management
File Systems and Disk Management
File Systems and Disk Management
File Systems and Disk Management
Chapter 11: File System Implementation
CS703 - Advanced Operating Systems
Chapter 5 File Systems -Compiled for MCA, PU
Presentation transcript:

Node-level Representation and System Support for Network Programming Jaein Jeong

Intro – Direct Connection Programming Steps for programming wireless sensors –The code is developed in a host machine (e.g. PC). –And the code is loaded to a single sensor node, typically, with direct connection like parallel cable. Problems with the direct connection programming –Programming time increases with # of sensor nodes. –Involves all the efforts of collecting the sensor nodes placed in different locations and possibly disassembling and reassembling the enclosures. Network reprogramming can address scalability and reassembly issues.

Intro – Network Reprogramming. Disseminates program code to one or more sensor nodes through radio channel. Network Reprogramming Steps –Program code is stored in external flash. –Possible retransmission of lost packets. –The boot loader copies the program code from external flash to program memory. Program starts after reboot. Supported in TinyOS 1.1, but not optimized for fast delivery. –Sends all the program code even though the changes from the previous version are small.

Design - Memory Layout The program storage (external flash) is organized in multiple sections. For now, each sensor maintains two sections: current and previous sections. In each section, each line of the program binary (SREC file) is stored as a 32-byte record. Boot loader is modified so that it can copy code from any section on external flash rather than a single location.

Design - Generating update We assume that a host machine can keep the program history of the sensor nodes. To generate program update, we compare the program image in fixed size blocks. –The blocks (256 bytes) from the current and the previous images are compared sequentially. –If they match, “copy” command is sent which makes the nodes to copy the block from the previous image to the current one. –Otherwise, the block from the current program image is sent.

Experiments Case 1 (Original Xnp) –Original network reprogramming with XnpCount app. Case 2 (Best case) –Sending the update for two copies of XnpCount (just timestamps are different.) Case 3 –Sending the update from XnpCount to XnpRfmToLeds. Three scenarios Case 1Case 2 # lines in SREC file1166 lines # bytes in SREC file18.6 KB 18.3 KB Time to complete223 sec75 sec175 sec Effective BW83.4 bytes/sec248 bytes/sec104.5 bytes/sec

Discussion & Future works Not much of code is shared in binary files. –Two scenarios are considered to test the level of sharing the binary code. –Considering that the change is small compared to the whole program size, this is far from the optimal. –Needs better compiler support for maximizing binary code reuse. Two scenarios Case 1 (With different timestamp) Case 2 (Additional lines were added.) # lines in SREC file (old)1027 # lines in SREC file (new) # lines to transmit1635 # lines to copy

Discussion & Future works Organizing program storage in directory structure. –Currently, a series of contiguous blocks are allocated for the current and the last program image. –Sharing blocks in a single pool has some advantages: Economical use of memory: blocks of the same content are shared among different images. Avoids external flash operation overhead by keeping pointer rather than copying a block of lines. A user doesn’t need to keep track of program history of sensor nodes. –The directory structure requires major change of network reprogramming modules. Modification for multi-hop delivery.