Section: New Results
Participant : Paul Feautrier.
Scheduling of ordinary programs is a highly non scalable process. We estimate that the scheduling time grows as the sixth power of the program size. We have designed a new scheduling method, which uses projections instead of linear programming, and which is both scalable and structured. This work has been published in the International Journal of Parallel Programming  .
Our method is scalable because the scheduling proceeds by successive elimination of statements from the relevant subset of the dependence graph. Hence, it is almost linear in the program size. It is still exponential in the loop nest depths, but these factors are very small integers. It is structured because the application can be split in a hierarchical process network, and because each process can be scheduled independently of the others.
The prototype modular scheduler Syntol is now completed and may be used for experiments. It has been interfaced with CLooG (see Section 5.8 ) for code generation. We are using Syntol for the following tasks:
Writing kernels for real-life applications, especially in the field of digital TV. The current parser needs to be extended, especially as regards fixed-point arithmetics and pointers.
Investigating the question of real-time constraints, in the case of non-unit execution time operations and multidimensional schedules.
Investigating heuristics for handling resource constraints.
Creating a VHDL back-end targeted at FPGA chips.
Imposing additional constraints on schedules in order to improve code generation.