• No results found

The proposed adaptive technique uses the same principle as in Algorithm 2, except that primary task PriTi is assigned to the best processor among to the two the has chosen for distribution of the primary and backup. BackTi is assigned to the secondary processor.

4.5. ADAPTIVE FAULT TOLERANCE TECHNIQUE 71

(a) Workload Parameter

(b) Initial Possible Schedule

(c) When T3misses its deadline (Timing Fault) At Time = tn

(d) When P1encounters a Permanent fault At Time = tn

Figure 4.4: Schematic view of proposed fault tolerant technique

If the task misses its deadline or the processor on which the primary task has been assigned crashes, the backup tasks are shifted to the primary queue of the same node. When the backup task has been added to primary queue an additional replica of the

(a) Performance of Fault tolerant technique in presence of perma-

nent fault NFP< 10% and timing fault.

(b) Performance of Fault tolerant technique in presence of perma-

nent fault NFP< 20% and timing fault.

Figure 4.5: Simulation Results for independent tasks

backup task is generated and distributed to another node in the system. The Adaptive Fault Tolerant Algorithm has been mentioned in 3. The System’s communication links are assumed to be fault-free. The adaptive technique is illustrated in figure 4.6.

The performance of the proposed methods in presence of 10% and 20% permanent fault and arbitrary timing fault for precedence constrained tasks are shown in Fig- ure 4.7(a) and Figure 4.7(b) respectively. The results Figure 4.8(a)- 4.8(b) show that our adaptive FT algorithm FT Random-EDF heuristic and Faulty Random-EDF heuristic under 10% and 20% of permanent fault respectively and arbitrary number of timing

4.5. ADAPTIVE FAULT TOLERANCE TECHNIQUE 73 and transient fault of precedence constrained tasks.

Algorithm 3 (Adaptive Fault Tolerant Scheduling Algorithm).

1: Input:a setof periodictask set ξ = T1, T2, . . . Tnand a system resource set Π

2: for TIME = 1, 2, . . . , sysc − 1, sysc do 3: if period(Tk) = TIME then

4: INSERT Tk to the Central Scheduler Queue

5: end if

Choose the primary and backup among two versions of the task

6: if Central Scheduler Queue , NULL then

7: Select the Non-Faulty node Pk

8: Select the Non-Faulty node Pl , Pk

Compare the Total Waiting Time (TWT) for Pk and Pl

9: PTR=Pi[Front]

10: while Primary Queue(Pi)[PTR],Primary Queue(Pi)[REAR] do

11: TWT(Pi) = TWT(Pi) + PQPi[PTR]/Execution Rate(Pi)

12: INCREMENT PTR

13: end while

14: if TWT(Pk) < TWT(Pl) then

15: INSERT task PriTi to the Primary Queue of PQPk

16: INSERT BackTi to the Backup Queue of BQPl

17: else

18: INSERT task PriTi to the Primary Queue of PQPl

19: INSERT the BackTi to the Backup Queue of PQPk

20: end if

21: end if

22: if FAULT INJECTION ALGORITHM(System Resource Set) then

23: FAULT INJECTION ALGORITHM(System Resource Set)

24: end if

25: for each processor Piin the system do

26: if new task added to the PQPi then

27: Rearrange the tasks in the PQPi according to EDF

28: if Deadline(TPi) > Deadline( Primary Queue[Front]) then

29: Preempt the currently executing task

30: Assign Primary Queue[Front] to the processor

31: end if

32: end if

33: Execute the task Ti assigned to Processor Pifrom the Primary Queue PQPi

34: if Intermediate Deadline(Ti) exceeds TIME then

35: Terminate the Primary version of task Ti

37: Intimate the Backup version of task BackTi on remote processor Pj, i , j

38: end if

39: end for

40: Update BackTi to the last valid subtask

of the PriTi

41: for each primary task which has failed do

42: Rearrange tasks in the Backup Queue whose primary task has failed according to EDF

43: DELETE Backup Queue[Front] and INSERT in Primary Queue 44: Rearrange all tasks in the Primary Queue according to EDF 45: select Pj , Pi

46: INSERT the backup version of Backup Queue[Front] to the BQPj

47: end for

48: end for

The increase in the guarantee ratio of FT Random-EDF than Faulty Random-EDF is 30% whereas the guarantee ratio by the adaptive technique gave 99% guarantee to finish tasks even in presence of permanent fault of upto 10% of faulty system and arbitrary number of timing faults as shown in figure 4.7(a) and figure 4.7(b) for 20% of permanent fault and arbitrary number of timing fault for precedence constrained periodic tasks.

We have investigated our approach against arbitrary number of transient in addi- tion to permanent and timing fault. The percentage increase in the guarantee ratio of FT Random-EDF than Faulty Random-EDF is 15% while increase in the guarantee ratio of ADFT Random-EDF than FT Random-EDF is 67% in presence of upto 10% of guarantee ratio fault shown in figure 4.8(a). In presence of permanent fault upto 20% the percentage increase in the guarantee ratio of FT Random-EDF than Faulty Random-EDF is 12.78% while increase in the guarantee ratio of ADFT Random-EDF than FT Random-EDF is 53.18% shown in figure 4.8(b).

4.6 Conclusion

The performance measure presented here will help the distributed computing com- munity in the implementation of resources management with random periodic traffic. This technique needs further investigation on other type of distributed system faults that affects the system performance.

4.6. CONCLUSION 75

(a) Workload Parameter

(b) Initial Possible Schedule

(c) When T3misses its deadline (Timing Fault) At Time = tn

(d) When P1encounters a Permanent fault At Time = tn

(a) Performance of Fault tolerant technique in presence of NFP <

10% and timing fault.

(b) Performance of Fault tolerant technique in presence NFP <

20% and timing fault.

4.6. CONCLUSION 77

(a) Comparison of Fault tolerant technique and Adaptive Fault tolerant technique against the Faulty Random-EDF in presence of

permanent and transient fault i.e. NFP≤ 10% and arbitrary timing

and transient fault.

(b) Comparison of Fault tolerant technique and Adaptive Fault tolerant technique against the Faulty Random-EDF in presence of

permanent and transient fault i.e. NFP≤ 20% and arbitrary timing

and transient fault.

Figure 4.8: Simulation Results for comparison for Fault Tolerant and Adaptive Fault Tolerant Technique

Chapter 5

Task scheduling using Evolutionary

Computing

5.1 Introduction

Major area of evolutionary computing research focuses on a set of techniques inspired by the biological sciences, because biological organisms often exhibit properties that would be desirable in computer systems. In the state-of-art evolutionary optimiza- tion techniques, computing is processing with mimic organism evolution process. Evolutionary computation uses iterative process based upon various techniques in- spired by biological mechanism of evolution. These techniques are genetic algorithms (GA), genetic programming (GP), and classifier systems (CS), DNA computing, parti- cle swarms, ant colonies etc. Early attention has focused on DNA because its properties are extremely attractive as a basis for a computational system. The code of DNA is essentially a digital code, particular strands of DNA can be used to code information, and in particular, joining and other recombinations of these strands can be used to represent putative solutions to certain computational problems. On the other hand, in DNA computing, because the computing mimics DNA copy mechanism in chemical reaction, it processes massive parallel.

DNA computing is being established as a viable alternative to solve various NP- complete problems. These alternative approaches to performing exhaustive search in solution space are found to be more efficient for various intractable problems. The computer and the DNA both use information embedded in simple coding, the binary software code and the quadruple genomic code, respectively, to support system opera- tions. On top of the code, both systems display a modular, multi-layered architecture, which, in the case of a computer, arises from human engineering efforts through a combination of hardware implementation and software abstraction. A process rep- resents just sequentially ordered actions by the CPU and only virtual parallelism can be implemented through CPU time-sharing. Whereas process management in a com-

puter may simply mean job scheduling, coordinating pathway bandwidth through the gene expression machinery represents a major process management scheme in a DNA. In summary, a DNA can be viewed as a super-parallel computer, which computes through controlled hardware composition. A comparison between the architecture of a computer and a cell, within which DNA resides, has been given in Figure 5.1.

Nowadays the research effort in the area of DNA computing concentrates on four main problems: designing algorithms for some known combinatorial problems, de- signing new basic operations of ”DNA computers”, developing new ways of encoding information in DNA molecules and reduction of error in DNA based computations [27]. So, we are inspired to use DNA computing to solve the assignment and schedul- ing problem in distributed system, which is a NP-Hard problem. In this chapter DNA based algorithms for solving the task assignment problem on real time distributed system is presented. To our best knowledge it is the first attempt to solve this problem by molecular algorithms.

CPU regulatory network

primary memory DNA: primary memory

storage: secondary memory

peripheral I/O secondary memory

genome: storage or extra−cellular environment

the signalling network

translation

transcription

the bus: information address and content carrier

Figure 5.1: A simplistic schematic comparison of the architecture of a computer and a cell. Note that RNA acts as a messenger between DNA

The general scheme of an evolutionary algorithm can be given as in Algorithm 4 in the pseudo-code fashion [25].

Algorithm 4. The general scheme of an evolutionary algorithm in pseudo-code BEGIN

INITIALISE population with random candidate solutions; EVALUATE each candidate;

REPEAT UNTIL (TERMINATION CONDITION is satisfied) DO 1. SELECT parents;

Related documents