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;