skip to main content
research-article

Modeling Cache Memory Utilization on Multicore Using Common Pool Resource Game on Cellular Automata

Published: 09 January 2016 Publication History

Abstract

Recent computing architectures are implemented by shared memory technologies to alleviate the high latency experienced by off-chip memory transfers, but the high architectural complexity of modern multicore processors has presented many questions. To tackle the design of efficient algorithms scheduling workloads over available cores, this article presents a parallel bioinspired model that simulates the utilization of shared memory on multicore systems. The proposed model is based on cellular automata (CA) and coupled with game theory principles. CA are selected due to their inherent parallelism and especially their ability to incorporate inhomogeneities. Furthermore, the novelty of the model is realized on the fact that multilevel CA are used to simulate the different levels of cache memory usually found in multicore processors. These characteristics make the model able to cope with the increasing diversity of cache memory hierarchies on modern and future processors. Nonetheless, by acquiring data from hardware performance counters and processing them with the proposed model online, the performance of the system can be calculated and a better scheduling strategy can be adopted in real time. The CA-based model was verified on the behavior of a real multicore system running a multithreaded application, and it successfully simulated the acceleration achieved by an increased number of cores available for the execution of the workload. More specifically, the example of common pool resource from game theory was used with two variations: a static and a variable initial endowment. The static variation of the model approximates slightly better the acceleration of a workload when the number of available processor cores increases, whereas the dynamic variation simulates better the moderate differences due to operation system’s scheduler alternations on the same amount of cores.

References

[1]
V. Agarwal, M. S. Hrishikesh, S. W. Keckler, and D. Burger. 2000. Clock rate versus IPC: The end of the road for conventional microarchitectures. SIGARCH Computer Architecture News 28, 2, 248--259.
[2]
Diego Andrade, Basilio B. Fraguela, and Ramon Doallo. 2013. Accurate prediction of the behavior of multithreaded applications in shared caches. Parallel Computing 39, 1, 36--57.
[3]
Maria Vittoria Avolio, Gino Mirocle Crisci, Salvatore Di Gregorio, Rocco Rongo, William Spataro, and Giuseppe A. Trunfio. 2006. SCIARA γ 2: An improved cellular automata model for lava flows and applications to the 2002 Etnean crisis. Computers and Geosciences 32, 7, 876--889.
[4]
Nils A. Baas and Tobjørn Helvik. 2005. Higher order cellular automata. Advances in Complex Systems 08, 02--03, 169--192.
[5]
Olga Bandman. 2011. Using multi core computers for implementing cellular automata systems. In Parallel Computing Technologies. Lecture Notes in Computer Science, Vol. 6873. Springer, 140--151.
[6]
Olga Bandman. 2013. Implementation of large-scale cellular automata models on multi-core computers and clusters. In Proceedings of the 2013 International Conference on High Performance Computing and Simulation (HPCS’13). 304--310.
[7]
Susmit Biswas, Diana Franklin, Timothy Sherwood, and Frederic T. Chong. 2009. Conflict-avoidance in multicore caching for data-similar executions. In Proceedings of the International Symposium on Parallel Architectures and Networks. 80--85.
[8]
Sergey Blagodurov, Sergey Zhuravlev, and Alexandra Fedorova. 2010. Contention-aware scheduling on multicore systems. ACM Transactions on Computer Systems 28, 4, Article No. 8.
[9]
Parimal Pal Chaudhuri. 1997. Additive Cellular Automata: Theory and Applications. Vol. 1. John Wiley & Sons.
[10]
Graciela Chichilnisky. 1994. North-south trade and the global environment. American Economic Reviews 84, 4, 851--874.
[11]
Bastien Chopard and Michel Droz. 2005. Cellular Automata Modeling of Physical Systems. Cambridge University Press.
[12]
James C. Cox, Elinor Ostrom, and James M. Walker. 2010. Bosses and kings: Asymmetric power in paired common pool and public good games. In Proceedings of the Behavioral and Quantitative Game Theory Conference on Future Directions (BQGT’10). ACM, New York, NY.
[13]
Donato D’Ambrosio, Giuseppe Filippone, Davide Marocco, Rocco Rongo, and William Spataro. 2013. Efficient application of GPGPU for lava flow hazard mapping. Journal of Supercomputing 65, 2, 630--644.
[14]
Donato D’Ambrosio and William Spataro. 2007. Parallel evolutionary modelling of geological processes. Parallel Computing 33, 3, 186--212.
[15]
Salvatore Di Gregorio, Giuseppe Filippone, William Spataro, and Giuseppe A. Trunfio. 2013. Accelerating wildfire susceptibility mapping through GPGPU. Journal of Parallel and Distributed Computing 73, 8, 1183--1194.
[16]
Wesley Emeneker and Amy Apon. 2013. On modeling contention for shared caches in multi-core processors with techniques from ecology. Natural Computing 12, 3, 411--428.
[17]
Alexandra Fedorova, Sergey Blagodurov, and Sergey Zhuravlev. 2010. Managing contention for shared resources on multicore processors. Queue 8, 1, Article No. 20.
[18]
Josué Feliu, Salvador Petit, Julio Sahuquillo, and José Duato. 2014. Cache-hierarchy contention-aware scheduling in CMPs. IEEE Transactions on Parallel and Distributed Systems 25, 3, 581--590.
[19]
Richard P. Feynman. 1982. Simulating physics with computers. International Journal of Theoretical Physics 21, 6--7, 467--488.
[20]
I. G. Georgoudas, P. Kyriakos, G. Ch. Sirakoulis, and I. Th. Andreadis. 2010. An FPGA implemented cellular automaton crowd evacuation model inspired by the electrostatic-induced potential fields. Microprocessors and Microsystems 34, 7, 285--300.
[21]
I. G. Georgoudas, G. Ch. Sirakoulis, E. M. Scordilis, and I. Andreadis. 2007. A cellular automaton simulation tool for modelling seismicity in the region of Xanthi. Environmental Modelling and Software 22, 10, 1455--1464.
[22]
I. G. Georgoudas, G. Ch. Sirakoulis, E. M. Scordilis, and I. Andreadis. 2011. Parametric optimisation in a 2-D cellular automata model of fundamental seismic attributes with the use of genetic algorithms. Advances in Engineering Software 42, 9, 623--633.
[23]
Mrinmoy Ghosh, Ripal Nathuji, Min Lee, Karsten Schwan, and Hsien-Hsin S. Lee. 2011. Symbiotic scheduling for shared caches in multi-core systems using memory footprint signature. In Proceedings of the 2011 International Conference on Parallel Processing (ICPP’11). IEEE, Los Alamitos, CA, 11--20.
[24]
Pablo Gómez Esteban and Alfonso Rodríguez-Patón. 2011. Simulating a rock-scissors-paper bacterial game with a discrete cellular automaton. In New Challenges on Bioinspired Applications. Lecture Notes in Computer Science, Vol. 6687. Springer, 363--370.
[25]
M. Gries, U. Hoffmann, M. Konow, and M. Riepen. 2011. SCC: A flexible architecture for many-core platform research. Computing in Science Engineering 13, 6, 79--83.
[26]
Patrick Grim. 1996. Spatialization and greater generosity in the stochastic prisoner’s dilemma. Biosystems 37, 12, 3--17.
[27]
Intel. 2013. 2nd Gen Intel Core Processor Family Desktop Datasheet, Vol. 1. Retrieved February 28, 2014, from http://www.intel.com/content/www/us/en/processors/core/2nd-gen-core-desktop-vol-1-datasheet.html.
[28]
V. G. Ivancevic and T. T. Ivancevic. 2007. Computational Mind: A Complex Dynamics Perspective. Springer. http://books.google.gr/books?id=tNZLF8gtx-EC.
[29]
Johannes Jendrsczok, Patrick Ediger, and Rolf Hoffmann. 2009. A scalable configurable architecture for the massively parallel GCA model. International Journal of Parallel, Emergent and Distributed Systems 24, 4, 275--291.
[30]
G. Kalogeropoulos, G. C. Sirakoulis, and I. Karafyllidis. 2013. Cellular automata on FPGA for real-time urban traffic signals control. Journal of Supercomputing 65, 2, 664--681.
[31]
Ioannis Karafyllidis and Adonios Thanailakis. 1997. A model for predicting forest fire spreading using cellular automata. Ecological Modelling 99, 1, 87--97.
[32]
Shinpei Kato, Yutaka Ishikawa, and Ragunathan (Raj) Rajkumar. 2011. CPU scheduling and memory management for interactive real-time applications. Real-Time Systems 47, 5, 454--488.
[33]
Timothy Killingback and Michael Doebeli. 1998. Self-organized criticality in spatial evolutionary game theory. Journal of Theoretical Biology 191, 3, 335--340.
[34]
P. Kongetira, K. Aingaran, and K. Olukotun. 2005. Niagara: A 32-way multithreaded sparc processor. IEEE Micro 25, 2, 21--29.
[35]
A. Krishna, A. Samih, and D. Solihin. 2012. Data sharing in multi-threaded applications and its impact on chip design. In Proceedings of the 2012 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS’12). 125--134.
[36]
John Levon and Philippe Elie. 2004. Oprofile: A System-Wide Profiler for Linux Systems. Retrieved February 28, 2014, from http://oprofile.sourceforge.net.
[37]
P. Maini, A. Deutsch, and S. Dormann. 2007. Cellular Automaton Modeling of Biological Pattern Formation: Characterization, Applications, and Analysis. Birkhauser. http://books.google.gr/books?id=8yRDPFOTDnsC.
[38]
V. Mardiris, G. C. Sirakoulis, C. Mizas, I. Karafyllidis, and A. Thanailakis. 2008. A CAD system for modeling and simulation of computer networks using cellular automata. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews 38, 2, 253--264.
[39]
Ch. Mizas, G. Ch. Sirakoulis, V. Mardiris, I. Karafyllidis, N. Glykos, and R. Sandaltzopoulos. 2008. Reconstruction of DNA sequences using genetic algorithms and cellular automata: Towards mutation prediction? Biosystems 92, 1, 61--68.
[40]
Roger B. Myerson. 1997. Game Theory: Analysis of Conflict. Harvard University Press, Cambridge, MA. http://books.google.gr/books?id=E8WQFRCsNr0C.
[41]
John Von Neumann. 1966. Theory of Self-Reproducing Automata. University of Illinois Press.
[42]
Joëlle Noailly, Jeroen C. J. M. Bergh, and Cees A. Withagen. 2009. Local and global interactions in an evolutionary resource game. Computational Economics 33, 2, 155--173.
[43]
Martin A. Nowak and Robert M. May. 1992. Evolutionary games and spatial chaos. Nature 359, 6398, 826--829.
[44]
Elinor Ostrom. 2006. The value-added of laboratory experiments for the study of institutions and common-pool resources. Journal of Economic Behavior and Organization 61, 2, 149--163.
[45]
Elinor Ostrom, R. Gardner, and J. Walker. 1994. Rules, Games and Common-Pool Resources. University of Michigan Press.
[46]
Pavlos Progias and Georgios Ch. Sirakoulis. 2013. An FPGA processor for modelling wildfire spreading. Mathematical and Computer Modelling 57, 56, 1436--1452.
[47]
Colby Ranger, Ramanan Raghuraman, Arun Penmetsa, Gary Bradski, and Christos Kozyrakis. 2007. Evaluating MapReduce for multi-core and multiprocessor systems. In Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture (HPCA’07). IEEE, Los Alamitos, CA, 13--24.
[48]
Saverio Salatino and Salvatore Di Gregorio. 2014. A cellular model of prisoners dilemma for “prodding gratuity.” Applied Mathematics and Computation 255, C, 214--227.
[49]
Georgios Ch. Sirakoulis and Stefania Bandini. 2012. In Cellular Automata: 10th International Conference on Cellular Automata for Research and Industry, ACRI 2012. Lecture Notes in Computer Science, Vol. 7495. Springer.
[50]
G. Ch. Sirakoulis, I. Karafyllidis, and A. Thanailakis. 2003. A CAD system for the construction and VLSI implementation of cellular automata algorithms using VHDL. Microprocessors and Microsystems 27, 8, 381--396.
[51]
Shekhar Srikantaiah, Mahmut Kandemir, and Qian Wang. 2009. SHARP control: Controlled shared cache management in chip multiprocessors. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 42). ACM, New York, NY, 517--528.
[52]
Xian-He Sun and Yong Chen. 2010. Reevaluating Amdahl’ law in the multicore era. Journal of Parallel and Distributed Computing 70, 2, 183--188.
[53]
Jun Tanimoto, Aya Hagishima, and Yasukaka Tanaka. 2010. Study of bottleneck effect at an emergency evacuation exit using cellular automata model, mean field approximation analysis, and game theory. Physica A: Statistical Mechanics and Its Applications 389, 24, 5611--5618.
[54]
Tilera. 2013. TILE-Gx8016 Processor: Specification Brief. Retrieved February 28, 2014, from http://www.tilera.com/sites/default/files/productbriefs/Tile-Gx-8016-SB 011-03.pdf.
[55]
Tommaso Toffoli. 1984. Cellular automata as an alternative to (rather than an approximation of) differential equations in modeling physics. Physica D: Nonlinear Phenomena 10, 1--2, 117--127.
[56]
Giuseppe A. Trunfio. 2004. Predicting Wildfire Spreading through a Hexagonal Cellular Automata Model. Lecture Notes in Computer Science, Vol. 3305/2004. Springer, 385--394.
[57]
Michail-Antisthenis I. Tsompanas, Christoforos Kachris, and Georgios Ch. Sirakoulis. 2013a. Evaluating conflicts impact over shared last-level cache using public goods game on cellular automata. In Proceedings of the 2013 International Conference on High Performance Computing and Simulation (HPCS’13). 326--332.
[58]
Michail-Antisthenis I. Tsompanas, Christoforos Kachris, and Georgios Ch. Sirakoulis. 2013b. Optimization of shared-memory multicore systems using game theory and genetic algorithms on cellular automata lattices. In Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing, Workshops, and PhD Forum (IPDPSW’13). 482--490.
[59]
Michail-Antisthenis I. Tsompanas and Georgios Ch. Sirakoulis. 2012. Modeling and hardware implementation of an amoeba-like cellular automaton. Bioinspiration and Biomimetics 7, 3, 036013. http://stacks.iop.org/1748-3190/7/i=3/a=036013.
[60]
Michail-Antisthenis I. Tsompanas, Georgios Ch. Sirakoulis, and Ioannis Karafyllidis. 2010. Modeling memory resources distribution on multicore processors using games on cellular automata lattices. In Proceedings of the 2010 IEEE International Symposium on Parallel and Distributed Processing, Workshops, and Phd Forum (IPDPSW’10). 1--8.
[61]
Stanislaw Ulam. 1952. Random processes and transformations. In Proceedings of the International Congress on Mathematics. 2, 264--275.
[62]
Gérard Y. Vichniac. 1984. Simulating physics with cellular automata. Physica D: Nonlinear Phenomena 10, 12, 96--116.
[63]
Richard West, Puneet Zaroo, Carl A. Waldspurger, and Xiao Zhang. 2010. Online cache modeling for commodity multicore processors. ACM SIGOPS Operating Systems Review 44, 4, 19--29.
[64]
Stephen Wolfram. 1986. Cellular Automata and Complexity. Westview Press, Boulder, CO.
[65]
Stephen Wolfram. 2002. A New Kind of Science. Wolfram Media.
[66]
Wm. A. Wulf and Sally A. McKee. 1995. Hitting the memory wall: Implications of the obvious. SIGARCH Computer Architecture News 23, 1, 20--24.
[67]
T. Yoshida, T. Maruyama, Y. Akizuki, R. Kan, N. Kiyota, K. Ikenishi, S. Itou, T. Watahiki, and H. Okano. 2013. Sparc64 X: Fujitsu’s new-generation 16-core processor for unix servers. IEEE Micro 33, 6, 16--24.
[68]
Xiaoping Zheng and Yuan Cheng. 2011. Conflict game in evacuation process: A study combining cellular automata model. Physica A: Statistical Mechanics and Its Applications 390, 6, 1042--1050.

Cited By

View all
  • (2024)FLOWS: Balanced MRC Profiling for Heterogeneous Object-Size CacheProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650078(421-440)Online publication date: 22-Apr-2024
  • (2023)A versatile dynamic noise control framework based on computer simulation and modelingNonlinear Engineering10.1515/nleng-2022-027212:1Online publication date: 7-Jun-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Modeling and Computer Simulation
ACM Transactions on Modeling and Computer Simulation  Volume 26, Issue 3
Special Issue on ACAM and Regular Papers
February 2016
139 pages
ISSN:1049-3301
EISSN:1558-1195
DOI:10.1145/2876000
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 January 2016
Accepted: 01 August 2015
Revised: 01 May 2015
Received: 01 April 2014
Published in TOMACS Volume 26, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Cache memory contention
  2. cellular automata
  3. game theory
  4. multicore processors

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • Greek State
  • European Social Fund (ESF)

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)FLOWS: Balanced MRC Profiling for Heterogeneous Object-Size CacheProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650078(421-440)Online publication date: 22-Apr-2024
  • (2023)A versatile dynamic noise control framework based on computer simulation and modelingNonlinear Engineering10.1515/nleng-2022-027212:1Online publication date: 7-Jun-2023

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media