Scheduling and Load Balancing in Parallel and Distributed Systems