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.

132 Chapter 10<br />

We need to check every time step to see if the physical buffer contention<br />

constraints are satisfied. But the physical buffer status changes only at the<br />

start or finish time of communication. Thus, we can reduce the number of<br />

inequalities by checking buffer status only at the start or finish time of communication.<br />

3.3. Heuristic algorithm<br />

Consi<strong>de</strong>ring that ILP belongs to the class of NP-complete problems, we <strong>de</strong>vise<br />

a heuristic algorithm based on list scheduling, which is one of the most popular<br />

scheduling algorithms. The scheduling is a function of ETG = G(V, E) and a,<br />

where a is a set of resource constraints. Just like the ILP <strong>for</strong>mulation, it<br />

consi<strong>de</strong>rs physical buffers as one of the shared resources. The algorithm<br />

consists of four steps. 1) For each shared resource, a set of the candidate no<strong>de</strong>s<br />

(that can run on the resource) and a set of unfinished no<strong>de</strong>s (that are using<br />

the resource) are <strong>de</strong>termined. 2) For each shared resource, if there is available<br />

resource capacity (e.g. idle processor or when the shared physical buffer<br />

is not full), the algorithm selects a no<strong>de</strong> with the highest priority among the<br />

candidate no<strong>de</strong>s, where the priority of a no<strong>de</strong> is <strong>de</strong>termined by the longest<br />

path from the candidate no<strong>de</strong> to the sink no<strong>de</strong>. 3) It schedules the no<strong>de</strong>s<br />

selected in step 2. 4) It repeats steps 1 to 3 until all the no<strong>de</strong>s are scheduled.<br />

Figure 10-3 shows the scheduling algorithm.<br />

4. EXPERIMENTAL RESULTS<br />

This section consists of two parts. In the first part we show the effectiveness<br />

of the proposed approach in terms of runtime and accuracy <strong>for</strong> the H.263<br />

example by comparing it with the simulation approach. In the second part,<br />

we show the effect of buffer size on the execution cycles and the accuracy of

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

Saved successfully!

Ooh no, something went wrong!