CS 633

                                                                        Out Date :  
                                                                        In date  :  
                                     

                     
Lab 6 : Dynamic Scheduling in Distributed Systems
                       
  

 Object : To implement dynamic scheduling in distributed systems using
            3 methods : sender initiated, receiver initiated and
            symmetrically initiated

 Procedure : The nodes will be simulated by threads communicating via
                 FIFOs and managing buffer space by buffer pools as before.

 A. Sender Initiated
 A.1. Implement the Sender Initiated Scheduling algorithm
 A.2. Provide 10 Solaris kernel threads T1,T2,...,T10
 A.3. Each thread estimates its load l by randomly picking a number 0<l<n.
      Assume int(n/2) is the threshold value
 A.4. Show that the algorithm works
 A.5. Workout the finished schedluing times for various scenarios
      
 B. Repeat for Receiver initiated

 C. Repeat for Symmetrically initiated with threshold T1 = int(n/3)
    and threshold T2 = int(2n/3)    

 D Repeat for a central load balancer that works as follows :
 D.1. Each node
            -sends its load to a central load balancer periodically
        -waits for transfer command from the central if HEAVY
        -waits for receive command from the central if LIGHT
            -transfer happens from HEAVY to LIGHT node    

D.2. Central Node :
            - Collect load info from all nodes periodically
            - Find HEAVY and LIGHT pairs
            - Send SEND command to HEAVY node and RECEIVE command to LIGHT node