Distributed multiprocessor scheduling with decomposed optimization criterion
Introduction
Given a parallel program consisting on some interdependent tasks, and a specific multiprocessor system, the problem of scheduling of tasks to processors [1], [4] is known to be NP-complete [4]. Parallel and distributed [3], [5] scheduling algorithms represent the newest trend in this area of research [2], [13], [14]. Such scheduling algorithms can be based on the multi-agent paradigm [15], which offers both parallelism and distributed control of executed algorithms. Here, local agents are used for local decision making, while their interaction translates into global decision making. We use this approach, modeling the graph of the parallel program as a multi-agent system, and we investigate the global behavior of such a system in terms of minimization of the total execution time of the program graph on a given multiprocessor system. To implement such a multi-agent system, we will use competitive coevolutionary genetic algorithm (GA) termed loosely coupled genetic algorithm (LCGA) [13], which provides evolutionary algorithm for a local decision making, and a game-theoretic model of interaction between agents.
With such multi-agent approaches, one of the most difficult and still open questions is that of distributing the global objective into behavior of individual agents. Here, we propose to apply evolutionary technique known as genetic programming (GP) [9] to decompose the global optimization criterion into local optimization criteria of individual agents.
The remainder of the paper is organized as follows. Section 2 discusses accepted models of parallel programs and systems in the context of the scheduling problem, and it proposes a multi-agent interpretation of the scheduling problem. Section 3 presents a parallel and distributed algorithm interpreted as a multi-agent system and implemented with LCGA. Section 4 describes an approach to decompose the global scheduling optimization criterion into local optimization criteria — based on GP. Results of experimental study of the proposed scheduler are presented in Section 5.
Section snippets
Multi-agent approach to multiprocessor scheduling
Both a multiprocessor system (here indexed with s) and a parallel program (indexed with p) can be represented as graphs.
A homogeneous multiprocessor system is represented by an undirected unweighted graph Gs=(Vs,Es) called a system graph. Vs is the set of Ns nodes representing processors and Es is the set of edges representing bi-directional channels between processors.
A parallel program is represented by a weighted directed acyclic graph Gp=〈Vp,Ep〉, called a precedence task graph, or a program
Distributed scheduling with LCGA
The LCGA [13], implementing the parallel and distributed algorithm interpreted as a multi-agent system (as presented in the previous section), is exemplified in Fig. 3. For the purpose of the LCGA scheduling algorithm, AkLCGA will now denote the agent associated with task k. The LCGA can be described in the following way:
- 1.
For each agent-player Ak, associated with task k and initially allocated in node s of the multiprocessor system, create a population of size n, initialized with its actions. Sks
Genetic programming
Genetic programming [9] was proposed as an evolutionary method for evolving solutions represented as computer programs. Its main innovation lies in variable-length, tree-like representation. For a particular problem, sets of functions and terminals are predefined. They define labels for the nodes of the trees — terminals can label leaves, and functions can label nodes according to their arities. Initial structures (programs), with randomly generated labels, are created. These undergo simulated
Experiments
In this section we report some initial results of an experimental study of the proposed scheduling system. The system is composed of two modules: the LCGA scheduler working with either a global criterion (1), or local function h() and the GP system evolving the local function. The system was written in C++, with the use of a library [7] to implement the GP module. The system runs in the Windows 95/NT environment.
Because of large computational requirements of the GP module, and the fact that
Conclusions
In summary, we have presented a new approach to develop parallel and distributed scheduling algorithms. The approach is based on decomposing the global optimization criterion into local criteria, with use of evolutionary technique known as genetic programming. Both global and local criteria are used by the LCGA-based scheduling algorithm. The preliminary results indicate that the algorithm with the local criteria is able to find optimal or near optimal solutions in a number of generations
Acknowledgements
The work has been partially supported by the State Committee for Scientific Research (KBN) under Grant 8T11A 024 11.
Franciszek Seredynski received his Ph.D. and M.S. degrees in Computer Science from the State Electrotechnical University, St.-Petersburg in 1978 and 1973, respectively. He is currently a Professor of Computer Science at the Polish–Japanese Institute of Information Technology, Warsaw, Poland, and at the Institute of Computer Science, Polish Academy of Sciences, Warsaw, Poland. His research interests include evolutionary computation techniques, multi-agent systems and parallel and distributed
References (15)
- et al.
Mathematical programming formulations for machine scheduling: a survey
Eur. J. Oper. Res.
(1991) Competitive coevolutionary multi-agent systems: the application to mapping and scheduling problems
J. Parallel Distrib. Comput.
(1997)- I. Ahmad (Ed.), Resource Management in Parallel and Distributed Systems with Dynamic Scheduling: Dynamic Scheduling,...
- I. Ahmad, Y. Kwok, A parallel approach for multiprocessing scheduling, Proceedings of the Ninth International Parallel...
- V.C. Barbosa, An Introduction to Distributed Algorithms, MIT Press, Cambridge, MA,...
- M. Cosnard, D. Trystram, Parallel Algorithms and Architectures, Int. Thompson Comp. Press,...
- H. El-Rewini, T.G. Lewis, H.H. Ali, Task Scheduling in Parallel and Distributed Systems, Prentice-Hall, Englewood...
Cited by (7)
Dynamic resource selection heuristics for a non-reserved bidding-based Grid environment
2010, Future Generation Computer SystemsCitation Excerpt :In essence, Grid resources are heterogeneous and managed independently by different organizations, and resource providers can specify their own access policies for sharing resources and joining/leaving Grids dynamically. Thus, exploiting previous cluster-based scheduling heuristics [3–7] to allocate tasks through a centralized manager or mapper is not feasible. In recent years, many matchmaking-based technologies have been proposed to address the issue of Grid resource management [8–15].
Survey on Genetic Programming and Machine Learning Techniques for Heuristic Design in Job Shop Scheduling
2024, IEEE Transactions on Evolutionary ComputationA Manufacturing Task Scheduling Method Based on Public Goods Game on Cloud Manufacturing Model
2018, 4th IEEE International Conference on Universal Village 2018, UV 2018Optimal process plan selection in networked based manufacturing using game-theoretic approach
2012, International Journal of Production ResearchA game-theoretic approach to generating optimal process plans of multiple jobs in networked manufacturing
2010, International Journal of Computer Integrated ManufacturingA game-theory approach for job scheduling in networked manufacturing
2009, International Journal of Advanced Manufacturing Technology
Franciszek Seredynski received his Ph.D. and M.S. degrees in Computer Science from the State Electrotechnical University, St.-Petersburg in 1978 and 1973, respectively. He is currently a Professor of Computer Science at the Polish–Japanese Institute of Information Technology, Warsaw, Poland, and at the Institute of Computer Science, Polish Academy of Sciences, Warsaw, Poland. His research interests include evolutionary computation techniques, multi-agent systems and parallel and distributed processing. He was a Visiting Associate Professor at the University of Missouri at St. Louis, USA (1998–1999), and a Visiting Researcher at Center for Mathematics and Computer Science, Amsterdam, The Netherlands (1996), International Computer Science Institute, Berkeley, USA (1995) and Institut National Polytechnique de Grenoble, France (1991–1992). He has served on programme committees for a number of international conferences in the areas of evolutionary computing and parallel processing.
Jacek Koronacki received his M.Sc. degree from the Technical University of Warsaw, Poland, in 1969 and Ph.D. and Habilitation degrees from the Polish Academy of Sciences in 1974 and 1988, respectively. He is Associate Professor and Head of the Department of Artificial Intelligence in the Institute of Computer Science, Polish Academy of Sciences, Warsaw, Poland. He is also Professor in the Polish–Japanese Institute of Information Technologies, Warsaw, Poland. His research interests include optimization methods under random disturbances, statistical and related approaches to pattern recognition, and nonparametric estimation of multivariate probability densities and regression functions. He has taught at Rice University, Houston, Texas, Ohio State University, Columbus, Ohio, The University of New South Wales, Sydney, Australia, and several universities in Poland. He has served on program committees for a number of international conferences in the areas of statistics, data mining and soft computing, and is currently a chairman of the European Regional Committee of the Bernoulli Society for Mathematical Statistics and Probability.
Cezary Z. Janikow received his B.A. (1986) and M.S. (1987) from the University of North Carolina at Charlotte, and Ph.D. (1991) from the University of North Carolina at Chapel Hill, all in computer science. He is currently an Associate Professor of Computer Science in the Department of Mathematics and Computer Science, University of Missouri — St. Louis. His research interests include evolutionary computation, representation and constraints in genetic algorithms and genetic programming, machine learning, and most recently fuzzy representation for machine learning. His other interests include software design and development (both structured and object-oriented), C/C++ programming, and UNIX productivity tools.