ScheduleGen V 0.1 Instructions Manual ScheduleGen is a demo program written in Python® that solves a linear program of a steady state scheduler and shows an example of a possible schedule, based on the model of the paper “Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor Platforms” [1] and research work from Dr Jaime Seguel and Luis Fernando De la Torre. The first version of ScheduleGen V. 0.1 is intended for people who are familiar with Python® programming language. How ScheduleGen works The program takes its input from a text file, where the user puts computing node time and communication times. It assumes a platform graph consisting of four nodes with communication links. It outputs a Gantt chart gif file with the schedule founded. ScheduleGen use a Linear programming software called LINSOLVE from [2]. ScheduleGen calls LINSOLVE with an input file. LINSOLVE returns an output file that contains the solution of the linear programming model. System requirements ScheduleGen runs in Windows® XP with Python environment previously installed. Despite ScheduleGen runs on Python environment, it will not run on Linux or any other platform that supports Python that is because of LINSOLVE and some operating system calls. In terms of hardware, it just needs an Intel computer with 512 Mb, 1 Mb RAM memory. Installation First, install the Python environment V 2.4 [3] for Windows32. File called python-2.4.3.msi Then, install PIDDLE [4], a graphics library that allows to draw graphics in jpeg images. Use piddle-1.0.15, the setup.py file. It is a Python installation. After you installed these programs, you have to install PIL [5]. Use PIL1.1.5.win32-py2.4.exe. Then, you can install the graph library NetworkX [6]. This library allows you to work with graph data structures and all its operations. You can use networkx-0.31.win32.exe file. You have to set your PATH environment variable in order to use Python in your system. How can you use ScheduleGen? First, create a directory in your prefer location. Put all files in this directory Here you can see the demo.py file, gen_schedule.py. These files are the most important programs. Open the demo.py file and change the directory path in line 55 You have to do this because in this first edition of ScheduleGen, there is no automatic installation program. This supposes to be a next version. Please, be sure that you have all LINSOLVE files. Then, you can run the demo.py with Python. Set values in the parameters.txt file: #w values. Top value is the master processor 1 3 4 6 *cij values P1 P2 2 P1 P3 1 P2 P4 3 P3 P4 3 ScheduleGen takes this and the file model.txt as input. It replaces all tags in model.txt and creates a new file LP.txt. This file is the input for LINSOLVE.EXE. This file contains the linear program already changed with user parameters. Then, LINSOLVE outputs solut.txt, the solution of the problem. Demo.py reads this file and updates the graph platform according to the specifications in the model. Then it sets all values in the graph. With the Generate Schedule button you can see an example of how the graph platform become to a bipartite graph and then it finds mathchings that describe a possible schedule. Demo.py calls gen_schedule.py that draws the schedule and creates a gif file with its gantt chart. Remember that this version of ScheduleGen does not compute bipartite graphs algorithms; it just shows an example of how to find it. These algorithms are planned to be implemented later. References [1] C. Banino, O. Beaumont, L. Carter, J. Ferrante, A. Legrand and Y. Robert, Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor Platforms, IEEE Transactions on Parallel and Distributed Systems 15 (4) (2004) 319-330. [2]LINSOLVE http://archives.math.utk.edu/software/msdos/discrete.math/tslin/.html [3] Python: http://www.python.org/ [4] Piddle: http://piddle.sourceforge.net/ [5] PIL: http://piddle.sourceforge.net/PIL/ [6] NetworkX: https://networkx.lanl.gov/wiki
© Copyright 2026 Paperzz