Distributed multiprocessor scheduling with decomposed optimization criterion

https://doi.org/10.1016/S0167-739X(99)00119-3Get rights and content

Abstract

In this paper, a new approach to scheduling of parallel and distributed algorithms for multiprocessor systems is proposed. Its main innovation lies in evolving a decomposition of the global optimization criteria. For this purpose, agents — local decision making units — are associated with individual tasks of the program graph. Thus, the program can be interpreted as a multi-agent system. A game-theoretic model of interaction between agents is applied. Agents take part in an iterated game to find directions of migration in the system graph, with the objective of minimizing the total execution time of the program in a given multiprocessor topology. Competitive coevolutionary genetic algorithm, termed loosely coupled genetic algorithm, is used to implement the multi-agent system. The scheduling algorithm works with a global optimization function, what limits its efficiency. To make the algorithm truly distributed, decomposition of the global optimization criterion into local criteria is proposed. This decomposition is evolved with genetic programming. Results of successive experimental study of the proposed algorithm are presented.

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)

There are more references available in the full text version of this article.

Cited by (0)

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.

View full text