We have noticed that there is a resource contention problem in the newly emerged Heterogeneous Multi-Core Systems. To solve this problem, we exploited the global re-source management method to manage the computing rere-sources in a system. The rere-source manager needs an efficient algorithm to manage the resources. Thus we have compared three algorithms and we found out that the Min-min algorithm gives the shortest makespan among these algorithms but the average turnaround time is high.
We adopt the idea of the Min-min algorithm and add the aging technique to decrease the average turnaround time. We implemented a simulator to evaluate the performance of four algorithms, including the MMA algorithm, the Min-min algorithm, the Max-min algorithm, and the MET algorithm. Experiments show that the Min-min algorithm still has the shortest makespan, but the MMA algorithm is only left behind by about 1.5% in the first type of test cases and by the range between 0.4% and 6.6% in the second type of test case. The MMA algorithm gives much improvement compared to the Min-min algorithm in both types of test case, which means the response time is shorter when using the MMA
algorithm.
In this Thesis, we used a simulator to evaluate the performance of different scheduling algorithms on heterogeneous multi-core systems. In the future we will try to implement these scheduling algorithms on a real heterogeneous multi-core system and make compar-isons between the simulation results and actual performance. The application model in this Thesis is restricted, we will enhance this model in order to get more precise simulation re-sults. With the actual implementation and a more precise model, then we can enhance the MMA scheduling algorithm to improve the makespan and meet more requirements from users in the future.
52
Bibliography
[1] NVIDIA Corporation. OpenCL Programming Guide for the CUDA Architecture, 3.2 edition, Auguest 2010.
[2] Aaftab Munshi. The OpenCL Specification. Khronos OpenCL Working Group, 1.1 edition, September 2010.
[3] Advanced Micro Devices, Inc. AMD Accelerated Parallel Processing (APP) SDK OpenCLTMProgramming Guide, 1.2c edition, April 2011.
[4] V´ıctor J. Jim´enez, Llu´ıs Vilanova, Isaac Gelado, Marisa Gil, Grigori Fursin, and Na-cho Navarro. Predictive runtime code scheduling for heterogeneous architectures.
In Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers, HiPEAC ’09, pages 19–33, Berlin, Heidelberg, 2009.
Springer-Verlag.
[5] C´edric Augonnet, Samuel Thibault, Raymond Namyst, and Pierre-Andr´e Wacrenier.
”starpu: A unified platform for task scheduling on heterogeneous multicore architec-tures. In Henk Sips, Dick Epema, and Hai-Xiang Lin, editors, Euro-Par 2009 Paral-lel Processing, volume 5704 of Lecture Notes in Computer Science, pages 863–874.
Springer Berlin / Heidelberg, 2009.
[6] Tomoaki Hamano, Toshio Endo, and Matsuoka Satoshi. Power-aware dynamic task scheduling for heterogeneous accelerated clusters. In Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing, pages 1–8, Washing-ton, DC, USA, 2009. IEEE Computer Society.
[7] A.P.D. Binotto, B.M.V. Pedras, M. Gotz, A. Kuijper, C.E. Pereira, A. Stork, and D.W.
Fellner. Effective dynamic scheduling on heterogeneous multi/manycore desktop platforms. In Computer Architecture and High Performance Computing Workshops (SBAC-PADW), 2010 22nd International Symposium on, pages 37 –42, oct. 2010.
[8] Kyle Spafford, Jeremy Meredith, and Jeffrey Vetter. Maestro: data orchestration and tuning for opencl devices. In Proceedings of the 16th international Euro-Par confer-ence on Parallel processing: Part II, Euro-Par’10, pages 275–286, Berlin, Heidelberg, 2010. Springer-Verlag.
[9] A. Bahga and V.K. Madisetti. A dynamic resource management and scheduling en-vironment for embedded multimedia and communications platforms. Embedded Sys-tems Letters, IEEE, 3(1):24 –27, march 2011.
[10] Mario Kicherer, Rainer Buchty, and Wolfgang Karl. Cost-aware function migration in heterogeneous systems. In Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers, HiPEAC ’11, pages 137–145, New York, NY, USA, 2011. ACM.
[11] J. D. Ullman. Np-complete scheduling problems. J. Comput. Syst. Sci., 10:384–393, June 1975.
54
[12] Michael R. Garey and David S. Johnson. Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1990.
[13] Howard Jay Siegel and Shoukat Ali. Techniques for mapping tasks to machines in heterogeneous computing systems. J. Syst. Archit., 46:627–639, June 2000.
[14] Tracy D. Braun, Howard Jay Siegel, Noah Beck, Lasislau L. B¨ol¨oni, Muthucumara Maheswaran, Albert I. Reuther, James P. Robertson, Mitchell D. Theys, Bin Yao, Debra Hensgen, and Richard F. Freund. A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J. Parallel Distrib. Comput., 61:810–837, June 2001.
[15] Oscar H. Ibarra and Chul E. Kim. Heuristic algorithms for scheduling independent tasks on nonidentical processors. J. ACM, 24:280–289, April 1977.
[16] R F Freund, T Kidd, D Hensgen, and L Moore. Smartnet: A scheduling framework for metacomputing. In 2nd International Symposium on Parallel Architectures, Algo-rithms, and Networks (ISPAN ’96, pages 514–521, 1996.
[17] Muthucumaru Maheswaran, Shoukat Ali, Howard Jay Siegel, Debra Hensgen, and Richard F. Freund. Dynamic mapping of a class of independent tasks onto hetero-geneous computing systems. J. Parallel Distrib. Comput., 59:107–131, November 1999.
[18] Sunpyo Hong and Hyesoon Kim. An integrated gpu power and performance model. In Proceedings of the 37th annual international symposium on Computer architecture, ISCA ’10, pages 280–289, New York, NY, USA, 2010. ACM.
[19] C. Augonnet, J. Clet-Ortega, S. Thibault, and R. Namyst. Data-aware task scheduling on multi-accelerator based platforms. In Parallel and Distributed Systems (ICPADS), 2010 IEEE 16th International Conference on, pages 291 –298, dec. 2010.
[20] Andre R. Brodtkorb, Christopher Dyken, Trond R. Hagen, Jon M. Hjelmervik, and Olaf O. Storaasli. State-of-the-art in heterogeneous computing. Sci. Program., 18:1–
33, January 2010.
[21] Michael D. Linderman, James Balfour, Teresa H. Meng, and William J. Dally. Em-bracing heterogeneity: parallel programming for changing hardware. In Proceedings of the First USENIX conference on Hot topics in parallelism, HotPar’09, pages 3–3, Berkeley, CA, USA, 2009. USENIX Association.
[22] Dominik Grewe and Michael OBoyle. A static task partitioning approach for het-erogeneous systems using opencl. In Jens Knoop, editor, Compiler Construction, volume 6601 of Lecture Notes in Computer Science, pages 286–305. Springer Berlin / Heidelberg, 2011.
[23] H. Topcuoglu, S. Hariri, and Min-You Wu. Performance-effective and low-complexity task scheduling for heterogeneous computing. Parallel and Distributed Systems, IEEE Transactions on, 13(3):260 –274, mar 2002.
[24] Richard F. Freund and Howard Jay Siegel. Guest editor’s introduction: Heterogeneous processing. Computer, 26:13–17, 1993.
[25] Ashfaq A. Khokhar, Viktor K. Prasanna, Muhammad E. Shaaban, and Cho-Li Wang.
Heterogeneous computing: Challenges and opportunities. Computer, 26:18–27, 1993.
56
[26] Howard Jay Siegel, Seth Abraham, William L. Bain, Kenneth E. Batcher, Thomas L.
Casavant, Doug DeGroot, Jack B. Dennis, David C. Douglas, Tse-Yun Feng, James R.
Goodman, Alan Huang, Harry F. Jordan, J. Robert Jamp, Yale N. Patt, Alan Jay Smith, James E. Smith, Lawrence Snyder, Harold S. Stone, Russ Tuck, and Benjamin W.
Wah. Report of the purdue workshop on grand challenges in computer architecture for the support of high performance computing. J. Parallel Distrib. Comput., 16(3):199–
211, 1992.
[27] I. Ekmecic, I. Tartalja, and V. Milutinovic. A survey of heterogeneous computing:
concepts and systems. Proceedings of the IEEE, 84(8):1127 –1144, aug 1996.
[28] I. Ekmecic, I. Tartalja, and V. Milutinovic. Em3: a taxonomy of heterogeneous com-puting systems. Computer, 28(12):68 –70, dec 1995.
[29] Michael J. Flynn. Some computer organizations and their effectiveness. Computers, IEEE Transactions on, C-21(9):948 –960, sept. 1972.