AN ALGORITHM FOR LOAD BALANCING IN COMPUTATIONAL GRID WITH FAULT TOLERANCE USING ACTIVITY BASED AND CPU USAGE APPROACH