Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
TinyVM: an energy-efficient execution infrastructure for sensor networks
Hong K., Park J., Kim S., Kim T., Kim H., Burgstaller B., Scholz B. Software--Practice & Experience42 (10):1193-1209,2012.Type:Article
Date Reviewed: Mar 20 2013

TinyVM has a typical stack architecture, but in this paper, no details of its instruction set or register structure are given. Rather, the authors present a complex infrastructure for creating energy-efficient execution images on a variety of hardware. Their basic idea is to decompose a program into components, each of which is implemented in one of three ways: as byte code for TinyVM, as a domain-specific extension of TinyVM, or as native code for the underlying machine. Each implementation technique has advantages and disadvantages with respect to speed, space, and energy consumption. The trick is to find the best combination according to some predefined criteria.

The paper begins with a discussion of the compilation environment that allows a program to be split, with each part processed appropriately, and the results to be combined. The authors then consider the problem of performing the split automatically. They prove that this multi-objective problem is nondeterministic polynomial-time (NP) hard, but provide an approximation algorithm. Results from the approximation algorithm are then presented and discussed, and related work reviewed.

I found the paper interesting, particularly the range of technology that the authors used to build their infrastructure. The explanations of the infrastructure are clear, but to get some of the subtleties, I found it necessary to look into the paper’s extensive references. Nevertheless, the material is accessible to anyone with a rudimentary understanding of compiler construction.

Reviewer:  W. M. Waite Review #: CR141038 (1306-0520)
Bookmark and Share
 
Programming Environments (D.2.6 )
 
 
Sensor Networks (C.2.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Programming Environments": Date
A prototyping environment for differential equations
Boubez T., Froncioni A., Peskin R. ACM Transactions on Mathematical Software 18(1): 1-10, 1992. Type: Article
Mar 1 1993
PICT: an interactive graphical programming environment
Gilnert E., Tanimoto S. Computer 17(11): 7-25, 1984. Type: Article
Jul 1 1985
Towards monolingual programming environments
Heering J. (ed), Klint P. (ed) ACM Transactions on Programming Languages and Systems 7(2): 183-213, 1985. Type: Article
Nov 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy