Title :
Software streaming via block streaming
Author :
Kuacharoen, Pramote ; Mooney, Vincent J. ; Madisetti, Vijay K.
Author_Institution :
Sch. of Electr. & Comput. Eng., Georgia Inst. of Technol., Atlanta, GA, USA
Abstract :
Software streaming allows the execution of stream-enabled software on a device even while the transmission/streaming may still be in progress. Thus, the software can be executed while it is being streamed instead of causing the user to wait for the completion of download, decompression, installation and reconfiguration. Our streaming method can reduce application load time seen by the user since the application can start running as soon as the first executable unit is loaded into the memory. Furthermore, unneeded parts of the application might not be downloaded to the device. As a result, resource utilization such as memory and bandwidth usage may also be more efficient. Using our streaming method, an embedded device can support a wide range of realtime applications. The applications can be run on demand. In this paper, a streaming method we call block streaming is proposed. Block streaming is determined at the assembly code level. We implemented a tool to partition real-time software into parts which can be transmitted (streamed) to the embedded device. Our streaming method was implemented and simulated on a hardware-software co-simulation platform in which we used the PowerPC architecture. We show a robotics application that without our streaming method is unable to meet its real-time deadline. However, with our software streaming method, the application is able to meet its deadline. The application load time for this application also improves by a factor of more than 10× when compared to downloading the entire application before running it.
Keywords :
digital simulation; embedded systems; program compilers; real-time systems; robots; software performance evaluation; PowerPC architecture; application load time; assembly code level; bandwidth usage; block streaming; embedded device; hardware/software co-simulation platform; memory usage; real-time applications; resource utilization; robotics application; software streaming; stream-enabled software; Application software; Bandwidth; Computer architecture; Delay; Embedded software; Hardware; Resource management; Robotic assembly; Robots; Software tools;
Conference_Titel :
Design, Automation and Test in Europe Conference and Exhibition, 2003
Print_ISBN :
0-7695-1870-2
DOI :
10.1109/DATE.2003.1253722