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

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

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

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

migrat<strong>in</strong>g tasks. In the current implementation, the task to be migrated is chosen randomly,<br />

as no monitor<strong>in</strong>g is done to determ<strong>in</strong>e the workload <strong>of</strong> <strong>in</strong>dividual tasks, and<br />

therefore all tasks appear identical to the AE. The task is migrated to the CPU with<br />

the lowest workload. This target<strong>in</strong>g method requires no additional exchange <strong>of</strong> <strong>in</strong>formation,<br />

s<strong>in</strong>ce workload <strong>in</strong>formation is already shared over the AE <strong>in</strong>terconnect to<br />

allow calculation <strong>of</strong> the system’s average workload. For simulations <strong>in</strong> which no<br />

global <strong>in</strong>formation is available, the target CPU is chosen randomly.<br />

2.3.3 Evaluator<br />

Choos<strong>in</strong>g an appropriate action to be performed based on the <strong>in</strong>com<strong>in</strong>g monitor<br />

signals is the responsibility <strong>of</strong> a learn<strong>in</strong>g classifier table (LCT) evaluator. LCT is a<br />

re<strong>in</strong>forcement based mach<strong>in</strong>e learn<strong>in</strong>g technique specifically designed for efficient<br />

<strong>in</strong>tegration <strong>in</strong> a HW system. LCT can be considered a “light-weight” XCS [9], the<br />

state <strong>of</strong> the art SW method for re<strong>in</strong>forcement learn<strong>in</strong>g classifier systems. LCT has<br />

previously been successfully applied for SoC robustness optimization under <strong>in</strong>termittent<br />

IP component failures [8]. In the follow<strong>in</strong>g we will describe the rules and objective<br />

function used by the LCT for the network processor system presented <strong>in</strong> this<br />

paper.<br />

Before a completed autonomic system can be deployed, an <strong>in</strong>itial set <strong>of</strong> rules must<br />

be created and loaded <strong>in</strong>to the system’s LCTs. This <strong>in</strong>itial rule set should cover the<br />

full <strong>in</strong>put range <strong>of</strong> the utilization, frequency and relative workload monitors described<br />

above, with each rule propos<strong>in</strong>g either a task migration or an <strong>in</strong>crease or decrease <strong>in</strong><br />

frequency. Overlapp<strong>in</strong>g rules are expressly permitted, allow<strong>in</strong>g the LCT to choose<br />

which rule to apply. By keep<strong>in</strong>g track <strong>of</strong> how well a certa<strong>in</strong> rule performs, and by<br />

updat<strong>in</strong>g the fitness <strong>of</strong> that rule accord<strong>in</strong>gly, the LCT learns to use the rule that has<br />

previously shown the best results <strong>in</strong> a certa<strong>in</strong> situation.<br />

Although the LCT can learn which rules are detrimental and can thereby avoid us<strong>in</strong>g<br />

them, it is preferable if the <strong>in</strong>itial rule set has already undergone a filter<strong>in</strong>g process<br />

to maximize the effectiveness <strong>of</strong> a newly deployed system. Figure 3 shows the general<br />

method that was used to generate the <strong>in</strong>itial rule set for this paper. A non-critical<br />

sample system is <strong>in</strong>itialized with random rules, and subjected to various representative<br />

traffic scenarios that might be expected <strong>in</strong> the field. When the system stabilizes,<br />

<strong>in</strong>dicat<strong>in</strong>g that beneficial rules can be dist<strong>in</strong>guished from counterproductive ones by<br />

means <strong>of</strong> their fitness, the current rule sets are extracted and stored. Thereafter, the<br />

system is loaded with new random rules and the process is repeated. If the system<br />

does not stabilize with<strong>in</strong> a certa<strong>in</strong> amount <strong>of</strong> time, the system is reset without stor<strong>in</strong>g<br />

the rule tables.<br />

After a sufficient number <strong>of</strong> successful runs, the rules <strong>of</strong> all result<strong>in</strong>g rule sets are<br />

sorted by fitness, and a selection <strong>of</strong> the fittest rules is made for <strong>in</strong>clusion <strong>in</strong> the result<strong>in</strong>g<br />

rule set. This step is currently performed manually, but will eventually be automated<br />

with appropriate tools as part <strong>of</strong> our future work. The result<strong>in</strong>g rule set can then<br />

be used to replace the random <strong>in</strong>itial rules and repeat the process. After one or more<br />

iterations <strong>of</strong> this process (just one was sufficient for generation <strong>of</strong> the <strong>in</strong>itial rule set<br />

used by the simulations <strong>in</strong> section 3), the result<strong>in</strong>g rule set is ready for use as the <strong>in</strong>itial<br />

rule set <strong>of</strong> the deployed system.<br />

Determ<strong>in</strong><strong>in</strong>g the fitness <strong>of</strong> a rule, both dur<strong>in</strong>g the <strong>in</strong>itialization phase described<br />

above and dur<strong>in</strong>g regular MP-SoC operation, is accomplished through the use <strong>of</strong> an

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

Saved successfully!

Ooh no, something went wrong!