24.11.2014 Views

Elektronika 2009-11.pdf - Instytut Systemów Elektronicznych

Elektronika 2009-11.pdf - Instytut Systemów Elektronicznych

Elektronika 2009-11.pdf - Instytut Systemów Elektronicznych

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.

and the set of tasks is divided into 2 subsets [5]: T 1 =<br />

{T 1 1 ,T 2 1 ,…,T n1 1 }, T 2 = {T 1 2 ,T 2 2 ,…,T n2 2 }, n = n1 + n2 and each<br />

task T i 1 (i = 1,2,…,n1) requires one arbitrary processor for its<br />

processing and its processing time is equal to t i 1 , however each<br />

task T i 2 (i = 1,2,…,n2) requires 2 arbitrary processors simultaneously<br />

for its processing during a period of time whose length<br />

is equal to t i 2 ; thus, tasks T i 2 are called width-2 tasks or T 2 -<br />

tasks. We shall assume its minimum cost and maximum operating<br />

speed. The proposed model may be used for defining<br />

problems for fault tolerance system. The model of a system in<br />

this approach, typical for the theory of task scheduling, consists<br />

of a set of operations (tasks) and existing relationships between<br />

them (related to their order, required resources, time, readiness<br />

and completion deadlines, priority etc.).<br />

The management procedure contains the following<br />

phases: identification of hardware and software resources for<br />

task execution, defining the processing time, defining the conflict-free<br />

task schedule and defining the level of resource cosharing<br />

and the degree of concurrency in task performance.<br />

A schedule is called feasible if, besides the usual conditions,<br />

each task T i 1 is processed by one processor and each task T i<br />

2<br />

is processed by 2 processors at a time. A feasible schedule is<br />

optimal, if its length is a minimum and it is implemented using<br />

minimum resource cost. Each task is defined by a set of parameters:<br />

resource requirements, execution time, ready time<br />

and deadline, attribute - preemptable or nonpreemptable. The<br />

tasks set may contain defined precedence constraints represented<br />

by a digraph with nodes representing tasks, and directed<br />

edges representing precedence constraints. If there is<br />

at least one precedence constraint in a task set, we shall refer<br />

it to as a set of dependent tasks; otherwise they are a set of<br />

independent tasks. Let us assume that fault tolerance system<br />

resources include universal parallel processors and other specialized<br />

resources. As for tasks, we assume one-processor<br />

tasks used for modeling usable preemptable/nonpreemptable<br />

and dependent tasks, and two-processor tasks, for which we<br />

assume time and resource. Two-processor tasks model the<br />

system testing tasks (e.g. one processor checks the other).<br />

Testing tasks may be dependent on the defined time moments<br />

of readiness to perform and to complete assigned tasks. Twoprocessor<br />

tasks may realize a defined strategy of testing<br />

a computer system and its fault tolerance characteristics.<br />

In fault tolerance systems an appropriate strategy of selftesting<br />

during regular exploitation must be provided. In general,<br />

architectures of fault tolerance computer systems are<br />

multiprocessor ones. The objective of operating systems in<br />

multiprocessor systems is scheduling tasks and their allocation<br />

to system resources. For fault tolerance systems, this<br />

means scheduling usable and testing tasks, that should detect<br />

errors of executive modules, in particular processors. As<br />

a result of testing, the operating system may receive the information<br />

about incorrect operation and may locate, by the<br />

proper analysis, a faulty module automatically. Consequently,<br />

the operating system can make a decision about repair strategy,<br />

for instance system reconfiguration (ignore damaged resources<br />

for execution of tasks). The management of networks<br />

with multiprocessors and fault tolerance consists of following<br />

stages (Fig. 1).<br />

So far [6] resources selection, task scheduling and task<br />

and resources allocation have been realized independently in<br />

sequence: in the first place resource division and tasks scheduling<br />

next - Fig. 2.<br />

In this paper is presented approach, in which resources<br />

selection, task scheduling, allocation of tasks and resources,<br />

as well as system optimization are realized coherently - Fig. 3.<br />

In concurrent approach once the tasks have been scheduled<br />

and allocated, the resources are reselected, changing<br />

the ones chosen previously, in search of a satisfactory solution<br />

meeting all the established criteria.<br />

This concurrent approach - presented in this paper - based<br />

on two algorithms behaving variously in different ways lets you<br />

not only find the sub-optimal solution, but also verify this solution.<br />

Presented algorithms let us find the solution, but at the same<br />

time they let us evaluate the algorithms themselves. This way<br />

we can tell which of the algorithms is faster in finding better and<br />

better solutions, which algorithm is more tolerant to modifications<br />

of system parameters, and also which of them enables fast adaptation<br />

to new parameters, while the system changes dynamically.<br />

Fig. 1. The management of system with multiprocessors and fault<br />

tolerance<br />

Rys. 1. Zarządzanie wieloprocesorowym systemem komputerowym<br />

z tolerancją uszkodzeń<br />

Fig. 2. Independent allocation resource and scheduling of task<br />

Rys. 2. Niezależne alokacje zasobów i szeregowanie zadań<br />

Fig. 3. Concurrent allocation resource and scheduling of task<br />

Rys. 3. Współbieżne alokacje zasobów i szeregowanie zadań<br />

ELEKTRONIKA 11/<strong>2009</strong> 39

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

Saved successfully!

Ooh no, something went wrong!