Information Technology Reference
In-Depth Information
crashes, the local monitors register result information of the scheduled
tasks to a GIIS. When the GRB recovers from failure, it gets its informa-
tion from the GIIS. In order to release network congestion, status infor-
mation in the wide-area network is transferred by UDP, so the local
monitor could not detect the status of data collector. The local monitor
reports the task result by TCP. When the local monitor detects the failure
of the GRB, it reports the result to GIIS. The local monitor need not report
task status information to the GIIS even if the GRB crashes. From the
above analysis, we can design a fault-tolerant task-scheduling algorithm
as follows:
1 When GRB system starts or recovers:
for all (task is running)
task active time = current time;
// Lookup back-end database to i nd the former running tasks
task[ ] = Query(task_DB, “running”);
If (task[] not NULL)
lookup GIIS and get tasks' result;
// There are task status reports from local monitors even if the
GRB crashes while (an incoming task status is normal and this
task Πtask[])
task active time = current time;
2 task scheduling:
get a task from back-end database;
form the task RSL;
job submit, get job identii er;
// Callback function is completed by data collector
add callback mechanism to the job;
if (incoming task status is normal)
Task active time = current time;
else the task enters queue according to its requirement;
3 Analyze tasks status timely:
if (current time - task active time > valid time)
{
lookup SNMP database, get network status;
if (network is blocked)
then wait until enough bandwidth is available;
the task enters queue according to its requirement;}
4 Get task result.
Search WWH ::




Custom Search