29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Software</strong> Streaming Via Block Streaming 447<br />

executing the first block. However, if the nee<strong>de</strong>d block is available at the<br />

client, the application must be suspen<strong>de</strong>d until the nee<strong>de</strong>d block is downloa<strong>de</strong>d.<br />

If the size of the missing block is 1 KB, the suspension time is only<br />

0.06 seconds. As mentioned previously, this suspension <strong>de</strong>lay of less than<br />

0.1 seconds is consi<strong>de</strong>red to be almost instantaneous <strong>for</strong> user interactive applications.<br />

While our sample application is not a full industrial-strength example,<br />

it does verify the block streaming functionality and provi<strong>de</strong>s experimental<br />

data.<br />

6. CONCLUSION<br />

<strong>Embed<strong>de</strong>d</strong> software streaming allows an embed<strong>de</strong>d <strong>de</strong>vice to start executing<br />

an application while the application is being transmitted. We presented a<br />

method <strong>for</strong> transmitting embed<strong>de</strong>d software from a server to be executed on<br />

a client <strong>de</strong>vice. Our streaming method can lower application load time, bandwidth<br />

utilization and memory usages. We verified our streaming method using<br />

a hardware/software co-simulation plat<strong>for</strong>m <strong>for</strong> the PowerPC architecture,<br />

specifically <strong>for</strong> MPC 750 processors. Our current approach assumes that no<br />

function pointers are used. For our future work, we plan to remove this restriction.<br />

Advantageously, software streaming enables client <strong>de</strong>vices, especially<br />

embed<strong>de</strong>d <strong>de</strong>vices, to potentially support a wi<strong>de</strong>r range of applications by efficiently<br />

utilizing resources. The user will experience a relatively shorter application<br />

load time. Additionally, this method facilitates software distribution<br />

and software updates since software is directly streamed from the server. In<br />

case of a bug fix, the software <strong>de</strong>veloper can apply a patch at the server. The<br />

up-to-date version of the software is always streamed to the client <strong>de</strong>vice.<br />

Finally, software streaming has the potential to dramatically alter the way<br />

software is executed in the embed<strong>de</strong>d setting where minimal application load<br />

time is important to clients.<br />

ACKNOWLEDGEMENTS<br />

This research is fun<strong>de</strong>d by the State of Georgia un<strong>de</strong>r the Yamacraw initiative<br />

[14]. We acknowledge donations received from Denali, Hewlett-Packard<br />

Company, Intel Corporation, LEDA, Mentor Graphics Corp. [15], SUN<br />

Microsystems and Synopsys, Inc. [16].<br />

REFERENCES<br />

1.<br />

R. Avner. “Playing GoD: Revolution <strong>for</strong> the PC with Games-on-Demand.” Extent<br />

Technologies, http://www.gamesbiz.net/keynotes-<strong>de</strong>tails.aspArticle=248.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!