This document discusses task allocation and scheduling in a multi-processor environment. It describes generating synthetic tasks and assigning them priorities using static and dynamic scheduling algorithms like Rate Monotonic and Earliest Deadline First. It then covers allocating tasks to processors using algorithms like Next Fit and Bin Packing to optimize processor utilization. The goal is to schedule tasks dynamically in a multi-processor system to improve performance over uniprocessor scheduling.