The Community for Technology Leaders
RSS Icon
Issue No.07 - July (2008 vol.19)
pp: 967-980
This paper presents a hybrid scheduling methodology for task graphs to multiprocessor embedded systems. The proposed methodology is designed for task graphs which are dynamic in nature due to the presence of conditional tasks as well as tasks whose execution times are unpredictable but bounded. We have presented the methodology as a three phase strategy in which task nodes are mapped to the processors in the first (static mapping) phase. In the second (selective duplication) phase some critical nodes are identified and duplicated for possible rescheduling at run-time depending on the code memory constraints of the processors. The third (online) phase is a run-time scheduling algorithm that performs list scheduling based on actual dynamics of the schedule up to the current time. We show that this technique provides better schedule length (up to 20%) compared to previous techniques which are predominantly static in nature with low overhead and comparable in complexity with existing online techniques. The effects of model parameters like number of processors, memory and various task graph parameters on performance are investigated in this paper.
Scheduling and task partitioning, Real-time distributed, Real-time and embedded systems
Pravanjan Choudhury, Rajeev Kumar, P.P. Chakrabarti, "Hybrid Scheduling of Dynamic Task Graphs with Selective Duplication for Multiprocessors under Memory and Time Constraints", IEEE Transactions on Parallel & Distributed Systems, vol.19, no. 7, pp. 967-980, July 2008, doi:10.1109/TPDS.2007.70784
[1] Y.-K. Kwok and I. Ahmad, “Static Scheduling Algorithms for Allocating Directed Task Graphs to Multiprocessors,” ACM Computing Surveys, vol. 31, no. 4, pp. 406-471, 1999.
[2] J.-J. Hwang, Y.-C. Chow, F.D. Anger, and C.-Y. Lee, “Scheduling Precedence Graphs in Systems with Interprocessor Communication Times,” SIAM J. Computing, vol. 18, no. 2, pp. 244-257, 1989.
[3] Y.-K. Kwok and I. Ahmad, “Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors,” IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 5, pp. 506-521, 1996.
[4] P. Eles, K. Kuchcinski, Z. Peng, A. Doboli, and P. Pop, “Scheduling of Conditional Process Graphs for the Synthesis of Embedded Systems,” Proc. Conf. Design Automation and Test in Europe (DATE '98), pp. 132-139, 1998.
[5] M. Grajcar, “Conditional Scheduling for Embedded Systems Using Genetic List Scheduling,” Proc. 13th Int'l Symp. System Synthesis (ISSS '00), pp. 123-128, 2000.
[6] Y. Xie and W. Wolf, “Allocation and Scheduling of Conditional Task Graph in Hardware/Software Co-Synthesis,” Proc. Conf. Design Automation and Test in Europe (DATE '01), pp. 620-625, 2001.
[7] K.M. Chandy and P.F. Reynolds, “Scheduling Partially Ordered Tasks with Probabilistic Execution Times,” Proc. Fifth ACM Symp. Operating Systems Principles (SOSP '75), pp. 169-177, 1975.
[8] D.L. Rhodes and W. Wolf, “Co-Synthesis of Heterogeneous Multiprocessor Systems Using Arbitrated Communication,” Proc. IEEE/ACM Int'l Conf. Computer-Aided Design, pp. 339-342, 1999.
[9] H. El-Rewini and T.G. Lewis, “Scheduling Parallel Program Tasks onto Arbitrary Target Machines,” J. Parallel and Distributed Computing, vol. 9, no. 2, pp. 138-153, 1990.
[10] R. Ernst and W. Ye, “Embedded Program Timing Analysis Based on Path Clustering and Architecture Classification,” Proc. IEEE/ACM Int'l Conf. Computer-Aided Design, pp. 598-604, 1997.
[11] A. Feldmann, M.-Y. Kao, J. Sgall, and S.-H. Teng, “Optimal Online Scheduling of Parallel Jobs with Dependencies,” Proc. 25th Ann. ACM Symp. Theory of Computing (STOC '93), pp. 642-651, 1993.
[12] R. Anderson, P. Beame, and W. Ruzzo, “Low Overhead Parallel Schedules for Task Graphs,” Proc. Second Ann. ACM Symp. Parallel Algorithms and Architectures (SPAA '90), pp. 66-75, 1990.
[13] R. Gupta, D. Mosse, and R. Suchoza, “Real-Time Scheduling Using Compact Task Graphs,” Proc. 16th Int'l Conf. Distributed Computing Systems (ICDCS '96), p. 55, 1996.
[14] N. Fisher, J. Anderson, and S. Baruah, “Task Partitioning upon Memory-Constrained Multiprocessors,” Proc. 11th IEEE Int'l Conf. Embedded and Real-Time Computing Systems and Applications (RTCSA '05), pp. 416-421, 2005.
[15] I. Ahmad and Y.-K. Kwok, “On Exploiting Task Duplication in Parallel Program Scheduling,” IEEE Trans. Parallel and Distributed Systems, vol. 9, no. 9, pp. 872-892, 1998.
[16] S. Bansal, P. Kumar, and K. Singh, “An Improved Duplication Strategy for Scheduling Precedence-Constrained Graphs in Multiprocessor Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 14, no. 6, pp. 533-544, 2003.
[17] S. Bansal, P. Kumar, and K. Singh, “Dealing with Heterogeneity through Limited Duplication for Scheduling Precedence-Constrained Task Graphs,” J. Parallel and Distributed Computing, vol. 65, no. 6, pp. 479-491, 2005.
[18] C.I. Park and T.Y. Choe, “An Optimal Scheduling Algorithm Based on Task Duplication,” IEEE Trans. Computers, vol. 51, no. 4, pp. 444-448, 2002.
[19] M.R. Guthaus, J.S. Ringenberg, D. Ernst, T.M. Austin, T. Mudge, and R.B. Brown, “MiBench: A Free Commercially Representative Embedded Benchmark Suite,” Proc. Fourth Ann. IEEE Workshop Workload Characterization (WWC), MiBench.pdf, Dec. 2001.
[20] S. Sahni, “Approximate Algorithms for the 0/1 Knapsack Problem,” J. ACM, vol. 22, no. 1, pp. 115-124, 1975.
[21] I. Ahmad and Y.-K. Kwok, “Optimal and Near-Optimal Allocation of Precedence-Constrained Tasks to Parallel Processors: Defying the High Complexity Using Effective Search Techniques,” Proc. Int'l Conf. Parallel Processing (ICPP '98), pp. 424-431, 1998.
[22] R. Johnsonbaugh and M. Kalin, “A Graph Generation Software Package,” Proc. 22nd Technical Symp. Computer Science Education (SIGCSE '91), pp. 151-154, 1991.
[23] T.M. Austin, E. Larson, and D. Ernst, “Simplescalar: An Infrastructure for Computer System Modeling,” Computer, vol. 35, no. 2, pp. 59-67, 2002.
47 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool