Abstract
In this work we investigate the problem of scheduling instructions on idealized microprocessors with multiple pipelines, in the presence of precedence constraints, release-times, deadlines, and latency constraints. A latency of lij specifies that there must be at least lij time-steps between the completion time of instruction i and the start time of instruction j. A latency of lij=−1 can be used to specify that j may be scheduled concurrently with i but not earlier. We present a generic algorithm that runs in O(n2lognα(n)+ne) time, given n instructions and e edges in the precedence DAG, where α(n) is the functional inverse of the Ackermann function. Our algorithm can be used to construct feasible schedules for various classes of instances, including instances with the following configurations: (1) one pipeline, with individual release-times and deadlines and where the latencies between instructions are restricted to 0 and 1; (2) m pipelines, with individual release-times and deadlines, and monotone-interval order precedences; (3) two pipelines with latencies of −1 or 0, and release-times and deadlines; (4) one pipeline, latencies of 0 or 1 and individual processing times that are at least one; (5) m pipelines, intree precedences, constant latencies, and deadlines; (6) m pipelines, outtree precedences, constant latencies, and release-times. For instances with deadlines, optimal schedules that minimize the maximal tardiness can be constructed using binary search, in O(log n) iterations of our algorithm. We obtain our results using backward scheduling, a very general relaxation method, which extends, unifies, and clarifies many previous results on instruction scheduling for pipelined and parallel machines.
- Allan, V., Beaty, S. J., Su, B., and Sweany, P. H. 1998. Building a retargetable local instruction scheduler. Software: Practice and Experience. Google Scholar
- Allan, V., Su, B., Wijaya, P., and Wang, J. 1992. Foresighted compaction under timing constraints. IEEE Transactions on Computers 41, 9, 1169-1172. Google Scholar
- Beaty, S. J. 1992. Lookahead scheduling. In Proceedings of the 25th Annual International Symposium on Microarchitecture (MICRO-25). Portland, Oregon. Google Scholar
- Beaty, S. J. 1994. List scheduling: Alone, with foresight, and with lookahead. In In Conference on Massively Parallel Computing Systems (MPCS): the Challenges of General-Purpose and Special-Purpose Computing.Google Scholar
- Bernstein, D. and Gertner, I. 1989. Scheduling expressions on a pipelined processor with a maximal delay of one cycle. ACM Transactions on Programming Languages and Systems 11, 1, 57-66. Google Scholar
- Bernstein, D. and Rodeh, M. 1991. Global instruction scheduling for superscalar machines. Proceedings of SIGPLAN'91 Conference on Programming Language Design and Implementation. Google Scholar
- Brucker, P. and Knust, S. 1998. Complexity results for single-machine problems with positive finish-start time-lags. Osnabruecker Schriften zur Mathematik, Reihe P, Nr. 202. Google Scholar
- Bruno, J., Jones, J., and So, K. 1980. Deterministic scheduling with pipelined processors. IEEE Transactions of Computers C-29, 308-316.Google Scholar
- Coffman, E. G. and Graham, R. L. 1972. Optimal scheduling for two-processor systems. Acta Informatica 1, 200-213.Google Scholar
- Finta, L. and Liu, Z. 1996. Single machine scheduling subject to precedence delays. Discrete Applied Mathematics 70, 247-266. Google Scholar
- Frederickson, G. N. 1982. Scheduling unit-time tasks with integer release times and deadlines. Tech. Rep. CS-81-27, Dept. of Computer Science, Penn. State University.Google Scholar
- Gabow, H. N. and Tarjan, R. E. 1983. A linear-time algorithm for a special case of disjoint set union. Proc. of ACM Symposium on Theory of Computation, 246-251. Google Scholar
- Garey, M. and Johnson, D. 1976. Scheduling tasks with nonuniform deadlines on two processors. Journal of the ACM 23, 3 (July), 461-467. Google Scholar
- Garey, M. and Johnson, D. 1977. Two-processor scheduling with start-times and deadlines. SIAM Journal of Computing 6, 3 (Sept.), 416-426.Google Scholar
- Garey, M. and Johnson, D. 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Company. Google Scholar
- Gibbons, P. and Muchnick, S. 1986. Efficient instruction scheduling for pipelined architecture. Proceedings of the ACM Symposium on Compiler Construction, 11-16. Google Scholar
- Graham, R. L., Lawler, E. L.,Lenstra, J. K., and Kan, A. H. G. R. 1979. Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics 5, 287-326.Google Scholar
- Han, C. and Lin, K. 1989. Job scheduling with temporal distance constraints. Tech. Rep. TR- UIUCDCS-R-89-1560, University of Illinois.Google Scholar
- Han, C. and Lin, K. 1992. Scheduling real-time computations with separation constraints. Information Processing Letters 42, 61-66. Google Scholar
- Hank, R. E., Hwu, W., and Rau, B. 1995. Region-based compilation: An introduction and motivation. In Proceedings of the 28th International Workshop on Microprogramming and Microarchitecture. 158-168. Google Scholar
- Hennessy, J. and Gross, T. 1983. Postpass code optimization of pipeline constraints. ACM Transactions on Programming Languages and Systems 5(3). Google Scholar
- Hennessy, J., Jouppi, N., Gill, J., Baskett, F., Strong, A., Gross, T., Rowen, C., and Leonard, J. 1982. The MIPS machine. Proceedings IEEE Compcon, 2-7.Google Scholar
- Hu, T. C.1961. Parallel sequencing and assembly line problems. Operations Research 9, 841-848.Google Scholar
- Hwu, W.-M. W., Mahlke, S. A.,Chen, W. Y., Chang, P. P., Warte r, N. J . , Bringmann, R. A., Ouellette, R. G., Hank, R. E.,T. Kiyohara, G. E. H., Holm, J. G., and Lavery, D. M. 1993. The superblock: An effective technique for VLIW and superscalar compilation. The Journal of Supercomputing 7, 229-248. Google Scholar
- Jackson, J. R. 1955. Scheduling a production line to minimize maximum tardiness. Tech. Rep. 43, Management Science Research Project, University of California.Google Scholar
- Katevenis, M. 1984. Reduced Instruction Set Computer Architecture for VLSI. MIT Press, Cambridge, Mass. Google Scholar
- Lam, M. 1988. Software pipelining: An effective scheduling technique for VLIW machines. Proceedings SIGPLAN'88 Symposium on Programming Language Design and Implementation, 318-328. Google Scholar
- Lawler, E. L. 1973. Optimal sequencing of a single machine subject to precedence constraints. Management Sci. 19, 544-546.Google Scholar
- Lenstra, J. K., Kan, A. H. G. R., and Brucker, P. 1977. Complexity of machine scheduling problems. Annals of Discrete Mathematics 1, 343-362.Google Scholar
- Leung, A., Palem, K., and Pnueli, A. 1998. A fast algorithm for scheduling time-constrained instructions on processor with ILP. The International Conference on Parallel Architectures and Compilation Techniques (PACT '98). Google Scholar
- Leung, J. Y.-T.,Vornberger, O., and Withoff, J. D. 1984. On some variants of the bandwidth minimization problem. SIAM Journal of Computing 13, 3. Google Scholar
- Moon, S. and Ebcioglu, K. 1992. An efficient resource-constrained global scheduling technique for superscalar and VLIW processors. In Proceedings IEEE MICRO-25. Google Scholar
- Palem, K. 1986. On the complexity of precedence constrained scheduling. Tech. Rep. TR-86-11, University of Texas, Austin, TX. Google Scholar
- Palem, K. and Simons, B. 1993. Scheduling time-critical instructions on RISC machines. ACM Transactions on Programming Languages and Systems 5(3). Google Scholar
- Papadimitriou, C. and Yannakakis, M. 1979. Scheduling interval-ordered tasks. SIAM Journal of Computing 8, 405-409.Google Scholar
- Radin, G. 1983. The 801 minicomputer. IBM Journal of Research and Development 27, 3, 237-246.Google Scholar
- Rau, B. 1994. Iterative modulo scheduling: An algorithm for software pipelining loops. Proceedings of the 27th Annual Symposium on Microarchitecture. Google Scholar
- Rau, B. R. and Glaser, C. D. 1981. Scheduling scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. Proceedings of the 20th Annual Workshop on Microprogramming and Microarchitecture, 183-198. Google Scholar
- Simons, B. 1983. Multiprocessor scheduling of unit-time jobs with arbitrary release times and deadlines. SIAM Journal of Computing 12, 294-299.Google Scholar
- Su, B., Ding, S., and Xia, J. 1987. Microcode compaction with timing constraints. In In Proceedings of the 20th Microprogramming Workshop (MICRO-20). Colorado Springs, Colorado. Google Scholar
- Tarjan, R. E. 1975. Efficiency of a good but not linear set union algorithm. J. ACM 22, 215-225. Google Scholar
- Ullman, J. D. 1975. NP-complete scheduling problems. Journal of Computer and System Sciences 10, 384-393.Google Scholar
- Warren, H. 1990. Instruction scheduling for the IBM RISC system/6k processors. IBM Journal of Research and Development, 85-92. Google Scholar
- Wijaya, P. and Allan, V. H. 1989. Incremental foresighted local compaction. In Proceedings of the 22nd annual international workshop on Microprogramming and microarchitecture. Dublin, Ireland. Google Scholar
- Wu, H., Yap, R. , and Jaffar, J. 1999. Private communication.Google Scholar
Index Terms
Scheduling time-constrained instructions on pipelined processors
Recommendations
Deterministic Scheduling with Pipelined Processors
In this paper several results are proven showing a correspondence between problems involving task systems with single-stage processors and similar ones using pipelined processors. For example, an optimal schedule for a task system with arbitrary ...
A Fast Algorithm for Scheduling Time-Constrained Instructions on Processors with ILP
PACT '98: Proceedings of the 1998 International Conference on Parallel Architectures and Compilation TechniquesInstruction scheduling is central to achieving performance in modern processors with instruction level parallelism (ILP). Classical work in this area has spanned the theoretical foundations of algorithms for instruction scheduling with provable ...
Schedule—constrained job scheduling in a multiprogrammed computer system
WSC '74: Proceedings of the 7th conference on Winter simulation - Volume 2The schedule-constrained job scheduling problem is defined as the problem of deciding what jobs should co-exist in the memory of a multiprogrammed computer to insure satisfactory schedule performance and adequate resource utilization. At the present ...






Comments