ABSTRACT
Many-cores are envisaged to include hundreds of processing cores etched on to a single die and will execute tens of multi-threaded tasks in parallel to exploit their massive parallel processing potential. A task can be sped up by assigning it to more than one core. Moreover, processing requirements of tasks are in a constant state of flux and some of the cores assigned to a task entering a low processing requirement phase can be transferred to a task entering high requirement phase, maximizing overall performance of the system.
This scheduling problem of partial core reallocations can be solved optimally in polynomial time using a dynamic programming based scheduler. Dynamic programming is an inherently centralized algorithm that uses only one of the available cores for scheduling-related computations and hence is not scalable. In this work, we introduce a distributed scheduler that disburses all scheduling-related computations throughout the many-core allowing it to scale up. We prove that our proposed scheduler is optimal and hence converges to the same solution as the centralized optimal scheduler. Our simulations show that the proposed distributed scheduler can result in 1000x reduction in per-core processing overhead in comparison to the centralized scheduler and hence is more suited for scheduling on many-cores.
- I. Ahmad, S. Ranka, and S. U. Khan. Using Game Theory for Scheduling Tasks on Multi-core Processors for Simultaneous Optimization of Performance and Energy. In International Symposium on Parallel and Distributed Processing (IPDPS), 2008.Google Scholar
- J. Augustine, N. Chen, E. Elkind, A. Fanelli, N. Gravin, and D. Shiryaev. Dynamics of Profit-Sharing Games. Internet Mathematics, 2013.Google Scholar
- C. Bienia, S. Kumar, J. P. Singh, and K. Li. The PARSEC Benchmark Suite: Characterization and Architectural Implications. In International Conference on Parallel Architectures and Compilation Techniques (PACT), 2008. Google Scholar
Digital Library
- N. Binkert et al. The gem5 Simulator. In SIGARCH Computer Architecture News, 2011. Google Scholar
Digital Library
- K. Burns and B. Hasselblatt. The Sharkovsky Theorem: A Natural Direct Proof. Mathematical Monthly, 2011.Google Scholar
- T. Ebi, M. Faruque, and J. Henkel. TAPE: Thermal-Aware Agent-Based Power Economy Multi/Many-core Architectures. In International Conference on Computer-Aided Design (ICCAD), 2009. Google Scholar
Digital Library
- D. P. Gulati, C. Kim, S. Sethumadhavan, S. W. Keckler, and D. Burger. Multitasking Workload Scheduling on Flexible-core Chip Multiprocessors. In International Conference on Parallel Architectures and Compilation Techniques (PACT), 2008. Google Scholar
Digital Library
- J. Henkel, A. Herkersdorf, L. Bauer, T. Wild, M. Hübner, R. K. Pujari, A. Grudnitsky, J. Heisswolf, A. Zaib, B. Vogel, V. Lari, and S. Kobbe. Invasive Manycore Architectures. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2012.Google Scholar
- J. L. Henning. SPEC CPU2006 Benchmark Descriptions. Computer Architecture News, 2006. Google Scholar
Digital Library
- C. Kim, S. Sethumadhavan, M. S. Govindan, N. Ranganathan, D. Gulati, D. Burger, and S. W. Keckler. Composable Lightweight Processors. In International Symposium on Microarchitecture (MICRO), 2007. Google Scholar
Digital Library
- K. M. Lepak, H. W. Cain, and M. H. Lipasti. Redeeming IPC as a Performance Metric for Multithreaded Programs. In International Conference on Parallel Architectures and Compilation Techniques (PACT), 2003. Google Scholar
Digital Library
- V. Pallipadi and A. Starikovskiy. The Ondemand Governor. In The Linux Symposium, 2006.Google Scholar
- A. Pathania, V. Venkataramani, M. Shafique, T. Mitra, and J. Henkel. Distributed Fair Scheduling for Many-Cores. In Design, Automation and Test in Europe (DATE), 2016.Google Scholar
- M. Pricopi and T. Mitra. Bahurupi: A Polymorphic Heterogeneous Multi-core Architecture. Transactions on Architecture and Code Optimization (TACO), 2012. Google Scholar
Digital Library
- M. Pricopi and T. Mitra. Task Scheduling on Adaptive Multi-Core. Transactions on Computers (TC), 2013. Google Scholar
Digital Library
- A. Stivala, P. J. Stuckey, M. G. de la Banda, M. Hermenegildo, and A. Wirth. Lock-Free Parallel Dynamic Programming. Parallel and Distributed Computing, 2010. Google Scholar
Digital Library
- V. Vanchinathan. Performance Modeling of Adaptive Multi-core Architecture. Master's thesis, National University of Singapore, 2015.Google Scholar
- S. K. Venkata, I. Ahn, D. Jeon, A. Gupta, C. Louie, S. Garcia, S. Belongie, and M. B. Taylor. SD-VBS: The San Diego Vision Benchmark Suite. In International Symposium on Workload Characterization (IISWC), 2009. Google Scholar
Digital Library
- S. Wildermann, T. Ziermann, and J. Teich. Game-theoretic Analysis of Decentralized Core Allocation Schemes on Many-Core Systems. In Design, Automation and Test in Europe (DATE), 2013. Google Scholar
Digital Library
- S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH-2 Programs: Characterization and Methodological Considerations. In Computer Architecture News, 1995. Google Scholar
Digital Library
Index Terms
Distributed scheduling for many-cores using cooperative game theory
Recommendations
Using many-core coprocessor to boost up Erlang VM
Erlang '13: Proceedings of the twelfth ACM SIGPLAN workshop on ErlangThe trend in processor design is to build more cores on a single chip. Commercial many-core processor is emerging these years. Intel Xeon Phi coprocessor , which is equipped with at least 60 relatively slow cores, is the first commercial many-core ...
From GPGPU to Many-Core: Nvidia Fermi and Intel Many Integrated Core Architecture
Comparing the architectures and performance levels of an Nvidia Fermi accelerator with an Intel MIC Architecture coprocessor demonstrates the benefit of the coprocessor for bringing highly parallel applications into, or even beyond, GPGPU performance ...
Distributed fair scheduling for many-cores
DATE '16: Proceedings of the 2016 Conference on Design, Automation & Test in EuropeTransition of embedded processors from multi-cores to many-cores continues unabated. Many-cores execute tens of tasks in parallel and in some contexts, it is crucial that the processing cores are distributed fairly amongst the tasks. Traditional queue-...




Comments