Job Scheduling Using Successive Linear Programming Approximations of a Sparse Model
In this paper we tackle the well-known problem of scheduling a collection of parallel jobs on a set of processors either in a cluster or in a multiprocessor computer. For the makespan objective, i.e., the completion time of the last job, this problem has been shown to be NP-Hard and several heuristics have already been proposed to minimize the execution time. We introduce a novel approach based on successive linear programming (LP) approximations of a sparse model. The idea is to relax an integer linear program and use ℓp norm-based operators to force the solver to find almost-integer solutions that can be assimilated to an integer solution. We consider the case where jobs are either rigid or moldable. A rigid parallel job is performed with a predefined number of processors while a moldable job can define the number of processors that it is using just before it starts its execution. We compare the scheduling approach with the classic Largest Task First list based algorithm and we show that our approach provides good results for small instances of the problem. The contributions of this paper are both the integration of mathematical methods in the scheduling world and the design of a promising approach which gives good results for scheduling problems with less than a hundred processors.
Unable to display preview. Download preview PDF.
- 1.Afrati, F.N., Bampis, E., Fishkin, A.V., Jansen, K., Kenyon, C.: Scheduling to minimize the average completion time of dedicated tasks. In: Proceedings of the 20th Conference on Foundations of Software Technology and Theoretical Computer Science, FST TCS 2000, London, UK, pp. 454–464 (2000)Google Scholar
- 5.Casanova, H., Legrand, A., Quinson, M.: Simgrid: A generic framework for large-scale distributed experiments. In: UKSIM 2008, pp. 126–131 (2008)Google Scholar
- 6.Chartrand, R., Yin, W.: Iteratively reweighted algorithms for compressive sensing. In: 33rd International Conference on Acoustics, Speech, and Signal Processing, ICASSP (2008)Google Scholar
- 8.Dutot, P.-F., Eyraud, L., Mounié, G., Trystram, D.: Bi-criteria algorithm for scheduling jobs on cluster platforms. In: Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2004, New York, NY, USA, pp. 125–132 (2004)Google Scholar
- 9.Dutot, P.-F., Trystram, D.: Scheduling on hierarchical clusters using malleable tasks. In: SPAA 2001, pp. 199–208 (2001)Google Scholar
- 11.Feitelson, D.G.: Job scheduling in multiprogrammed parallel systems. Research Report RC 19790 (87657). IBM T. J. Watson Research Center (1997)Google Scholar
- 12.Feitelson, D.G., Mualem, A.W.: On the definition of “on-line” in job scheduling problems. Technical report, SIGACT News (2000)Google Scholar
- 13.Garey, M.R., Johnson, D.S.: Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York (1990)Google Scholar
- 15.Graham, R.L., et al.: Optimization and approximation in deterministic sequencing and scheduling: a survey. Ann. Discrete Math., 287–326 (1979)Google Scholar
- 16.Lublin, U., Feitelson, D.G.: The workload on parallel supercomputers: Modeling the characteristics of rigid jobs. Journal of Parallel and Distributed Computing 63, 2003 (2001)Google Scholar
- 17.Nicod, J.-M., Philippe, L., Rehn-Sonigo, V., Toch, L.: Using virtualization and job folding for batch scheduling. In: ISPDC 2011, 10th Int. Symposium on Parallel and Distributed Computing, Cluj-Napoca, Romania, pp. 39–41. IEEE Computer Society Press (July 2011)Google Scholar