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.

272 Chapter 20<br />

the traversal. As we are seeking cyclic schedules, the processes that are<br />

involved in this token transactions must return to their original state. This<br />

means that a cycle of these processes must also be executed. All the produced<br />

states would add to the total number of computed repeated states.<br />

5.3. Experimental results<br />

The techniques introduced in this section have been tested with several<br />

examples. Tables 20-1 and 20-2 offer the scheduling results, per<strong>for</strong>med on a<br />

AMD Athlon processor running at 700 MHz with 753 MB of RAM. Columns<br />

labelled with WO were obtained without employing the hash table.<br />

Table 20-2. Scheduling results (com.).<br />

System 4<br />

System 5<br />

MPEG<br />

WO<br />

W<br />

I%<br />

WO<br />

W<br />

I%<br />

WO<br />

W<br />

I%<br />

# Places<br />

# Transitions<br />

# States<br />

# Repeated states<br />

CPU time (sec.)<br />

Memory (KB)<br />

34<br />

30<br />

2056<br />

1017<br />

3.11<br />

1204<br />

702<br />

0<br />

1.03<br />

843<br />

66<br />

-<br />

67<br />

30<br />

34<br />

30<br />

2987<br />

1500<br />

5.43<br />

1687<br />

1016<br />

0<br />

1.74<br />

1132<br />

66<br />

-<br />

68<br />

33<br />

115<br />

106<br />

4408 108<br />

3805 0<br />

23.12 0.53<br />

2226 462<br />

97<br />

-<br />

98<br />

79<br />

Columns tagged with W show results with the hash table. The columns<br />

labelled with I show the percentage improvement both in memory and CPU<br />

time obtained if hash tables are used.<br />

All the examples are variations of a producer-consumer system targeted to<br />

multi-media applications such as vi<strong>de</strong>o <strong>de</strong>coding. The processes com-municate<br />

through FIFO buffers. System 1 is composed of two processes with a producing/consuming<br />

rate (pcr) equal to two. System 2 incorporates a controller<br />

to better manage the synchronization among processes, and the pcr is equal<br />

to 48 in this case. System 3 has the same pcr but inclu<strong>de</strong>s some additional<br />

processes that per<strong>for</strong>m filtering functions on the data the producer sends to<br />

the consumer. System 4 is equivalent to System 3 but including two conditionals<br />

in the SCC, each one with two equivalent branches. Finally, System<br />

5 is i<strong>de</strong>ntical to System 4 except that its pcr is equal to 70.<br />

On the other hand, MPEG is a real world example of an MPEG algorithm<br />

composed of five processes.<br />

In System 1 the memory overhead introduced by the hash table is larger<br />

than the reduction obtained by avoiding the state repetition. This is so because<br />

the small size of this example produces few states to explore. However, the<br />

rest of examples show that as the number of conditionals increases and as<br />

the difference between the producing and the consuming rates raises, the<br />

benefits in CPU time and consumed memory obtained when using hash tables<br />

soar up.

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

Saved successfully!

Ooh no, something went wrong!