01.12.2012 Views

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

52 J. Zeppenfeld and A. Herkersdorf<br />

Fig. 2. Autonomic MP-SoC Network Processor <strong>Architecture</strong><br />

abstractly us<strong>in</strong>g fixed access delays to improve simulation performance, and could<br />

correspond either to an <strong>in</strong>ternal memory or to a memory controller connected to an<br />

<strong>of</strong>f-chip RAM.<br />

2.2 Application S<strong>of</strong>tware<br />

The ma<strong>in</strong> focus <strong>of</strong> this paper is on workload management, which becomes more complex<br />

and “<strong>in</strong>terest<strong>in</strong>g” with an <strong>in</strong>creas<strong>in</strong>g number <strong>of</strong> process<strong>in</strong>g tasks. In order to preserve<br />

maximum flexibility and the ability to run the application on a generic MP-SoC<br />

platform (shown <strong>in</strong> Figure 2), as many packet process<strong>in</strong>g functions as possible are<br />

implemented as s<strong>of</strong>tware tasks that can be moved freely among the system’s CPUs.<br />

This also <strong>in</strong>cludes tasks such as transferr<strong>in</strong>g data between the MAC and memory,<br />

which alternatively could be accomplished easily – and perhaps more efficiently – by a<br />

dedicated hardware DMA controller.<br />

In our application, every packet passes through five stages <strong>of</strong> execution:<br />

Task 1: Transfer packet from MAC to memory<br />

Task 2: Determ<strong>in</strong>e type <strong>of</strong> process<strong>in</strong>g to be done on present packet<br />

Task 3.1 through 3.N: Perform one <strong>of</strong> N packet header or payload process<strong>in</strong>g tasks<br />

Task 4: Reorder packets for <strong>in</strong>-order transmission<br />

Task 5: Transfer packet from memory to MAC<br />

While Tasks 1, 2, 4 and 5 are identical for every packet, Task 3 can be different for<br />

different packet types.<br />

In pr<strong>in</strong>ciple, this task assembly allows for two orthogonal programm<strong>in</strong>g models on<br />

a generic hardware platform as <strong>in</strong>troduced <strong>in</strong> Figure 2: Either balance <strong>in</strong>com<strong>in</strong>g packets<br />

across all currently idle CPUs and execute all tasks for a packet on one and the<br />

same CPU (Run to Completion (RTC) model), or distribute the tasks among all CPUs<br />

and let each packet traverse the CPUs <strong>in</strong> a pipel<strong>in</strong>ed fashion (Pipel<strong>in</strong>ed model). Both<br />

models have unique characteristics, and both have advantages and disadvantages.<br />

RTC treats all cores as <strong>in</strong>dependent process<strong>in</strong>g elements, thus elim<strong>in</strong>at<strong>in</strong>g the need for

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

Saved successfully!

Ooh no, something went wrong!