Abstract

We study how to efficiently schedule online perfectly malleable parallel jobs with arbitrary arrival times on m ⩾ 2 processors. We take into account both the linear speedup of such jobs and their setup time, i.e., the time to create, dispatch, and destroy multiple processes. Specifically, we define the execution time of a job with length p j running on k j processors to be p j / k j + ( k j − 1) c, where c > 0 is a constant setup time associated with each processor that is used to parallelize the computation. This formulation accurately models data parallelism in scientific computations and realistically asserts a relationship between job length and the maximum useful degree of parallelism. When the goal is to minimize makespan, we show that the online algorithm that simply assigns k j so that the execution time of each job is minimized and starts jobs as early as possible has competitive ratio 4( m − 1)/ m for even m ⩾ 2 and 4 m/( m + 1) for odd m ⩾ 3. This algorithm is much simpler than previous offline algorithms for scheduling malleable jobs that require more than a constant number of passes through the job list.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call