21.01.2013 Views

Lecture Notes in Computer Science 4917

Lecture Notes in Computer Science 4917

Lecture Notes in Computer Science 4917

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.

CLI as an Effective Deployment Format for Embedded Systems 137<br />

– configuration c: CtoCLI , -O2 optimization level, followed by CLI to native,<br />

-O0 optimization level for GIMPLE passes and -O2 for RTL ones. This<br />

is still a CLI -based compilation flow, <strong>in</strong> which optimizations at GIMPLE<br />

level are skipped <strong>in</strong> the f<strong>in</strong>al compilation step. Even though it seems a bit<br />

contorted, this setup is important to evaluate up to which degree high-level<br />

optimizations can be performed only <strong>in</strong> the first step. As a matter of fact, <strong>in</strong><br />

dynamic environments the second compilation step may be replaced by just<strong>in</strong>-time<br />

compilation, which is typically more time constra<strong>in</strong>ed and is likely<br />

to apply only target-specific optimizations.<br />

The benchmarks come from several sources: MediaBench [16] and MiBench [11],<br />

others are <strong>in</strong>ternally developed. We focused on applications or computational<br />

kernels that are relevant to our field (audio, video, cryptography, etc.) We also<br />

had to elim<strong>in</strong>ate some benchmarks that had execution times close to the resolution<br />

of the timer and thus were not reliable. Table 1 gives the list of benchmarks<br />

along with a short description.<br />

Table 1. Benchmarks used <strong>in</strong> our experiments<br />

benchmark description benchmark description<br />

ac3 AC3audiodecoder mp4dec MPEG4 decoder<br />

adpcm ADPCM decoder mpeg1l2 MPEG1 audio layer 2 decoder<br />

adpcmc ADPCM encoder mpeg2enc MPEG2 encoder<br />

render image render<strong>in</strong>g pipel<strong>in</strong>e divx DivX decoder<br />

compress Unix compress utility sha Secure Hash Algorithm<br />

crypto DES, RSA and MD5 video video player<br />

dijkstra shortest path <strong>in</strong> network yacr2 channel rout<strong>in</strong>g<br />

ft m<strong>in</strong>imum spann<strong>in</strong>g tree bitcount count bits <strong>in</strong> <strong>in</strong>tegers<br />

g721c G721 encoder cjpeg JPEG encoder<br />

g721d G721 decoder tjpeg optimized for embedded<br />

ks graph partition<strong>in</strong>g crc32 32-bit CRC polynomial<br />

mp2avswitch MPEG2 <strong>in</strong>tra loop encoder + MPEG1 layer 2 audio encoder<br />

We ran our experiments on two targets. The first one is an PC Intel Pentium<br />

III clocked at 800 MHz, with 256 Mbytes of RAM, runn<strong>in</strong>g L<strong>in</strong>ux 2.6. The second<br />

one is a board developed by STMicroelectronics named STb7100 [24]. The host<br />

processor is a SH-4 clocked at 266 MHz. It features a 64-Mbits flash memory and<br />

64-Mbytes of DDR RAM. The board itself is actually a complete solution s<strong>in</strong>glechip,<br />

low-cost HD set-top box decoder for digital TV, digital set-top box or cable<br />

box. However, <strong>in</strong> these experiments we only take advantage of the host processor.<br />

3.2 Experiments<br />

To evaluate the relevance of the CLI as a deployment format, we ran two experiments.<br />

The first one evaluates the size of the code that needs to be shipped<br />

on a device: on one hand the CLI file, on the other hand the respective native

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

Saved successfully!

Ooh no, something went wrong!