Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2505305.2505313acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Actor scheduling for multicore hierarchical memory platforms

Published: 28 September 2013 Publication History

Abstract

Erlang applications are present in several mission-critical systems. These systems demand substantial computing resources that are usually provided by multiprocessor and multi-core platforms. Hierarchical memory platforms, or Non-Uniform Memory Access (NUMA) architectures, account for an important share of these platforms. Yet, the research on the suitability of the current virtual machine (VM) for these platforms is quite limited. The current VM assumes a flat memory space, thus not performing as well as it could on these architectures. The NUMA environment presents challenges to the runtime environment in fields varying from memory management to scheduling and load-balancing. In this article we summarize some of the characteristics of an actor based application to, in light of the above, introduce some NUMA-aware improvements to the Erlang VM. This modified VM uses the NUMA characteristics and the application knowledge to take better memory management, scheduling and load-balancing decisions. We show that, when we consider the default Erlang VM as the baseline, the modified VM can achieve performance improvements up to a factor of 2.50 while limiting the slowdown on the worst case by a factor of 1.15.

References

[1]
Samsung Press Release. URL http://www.samsung.com/global/business/semiconductor/news-events/press-releases/detail?newsId=12521, 2013.
[2]
G. Agha. Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge, MA, USA, 1986. ISBN 0-262-01092-5.
[3]
S. Aronis, N. Papaspyrou, K. Roukounaki, K. Sagonas, Y. Tsiouris, and I. E. Venetis. A scalability benchmark suite for Erlang/OTP. In Proceedings of the eleventh ACM SIGPLAN workshop on Erlang, Erlang '12, pages 33--42, New York, NY, USA, 2012. ACM. ISBN 978-1-4503-1575-3. 10.1145/2364489.2364495.
[4]
Dupont de Dinechin and Pierre Guironnet de Massasa, Guillaume Lagera et al.(2013 (to appear))Benoít Dupont de Dinechin and Pierre Guironnet de Massasa, Guillaume Lagera, Orgogozoa, Reyberta, and Strudela}MPPA-2:2013C. L. Benoít Dupont de Dinechin and Pierre Guironnet de Massasa, Guillaume Lagera, B. Orgogozoa, J. Reyberta, and T. Strudela. A Distributed Run-Time Environment for the Kalray MPPA-256 Integrated Manycore Processor. In phInternational Conference on Computational Science (ICCS), 2013 (to appear).
[5]
O. Boudeville, F. Cesarini, N. Chechina, K. Lundin, N. Papaspyrou, K. Sagonas, S. Thompson, P. Trinder, and U. Wiger. RELEASE: a high-level paradigm for reliable large-scale server software. In phProceedings of the Symposium on Trends in Functional Programming, 2012.
[6]
F. Cesarini and S. Thompson. ERLANG Programming. O'Reilly Media, Inc., 1st edition, 2009. ISBN 0596518188, 9780596518189.
[7]
CouchDB. CouchDB NoSQL Database. http://couchdb.apache.org/, Apr. 2013.
[8]
E. Cruz, C. Pousa Ribeiro, M. Alves, A. Carissimi, P. O. A. Navaux, and J.-F. Mehaut. Using Memory Access Traces to Map Threads on Hierarchical Multi-core Platforms. International Journal on Networking and Computing, 2 (1): 96--116, 2012.
[9]
J. Dean and S. Ghemawat. Mapreduce: simplified data processing on large clusters. Commun. ACM, 51 (1): 107--113, Jan. 2008.
[10]
P. Hedqvist. A parallel and multithreaded ERLANG implementation. Master's thesis, Computer Science Department, Uppsala University, Uppsala, Sweden, 1998.
[11]
C. Hewitt, P. Bishop, and R. Steiger. A universal modular ACTOR formalism for artificial intelligence. In phProceedings of the 3rd international joint conference on Artificial intelligence, pages 235--245, San Francisco, CA, USA, 1973. Morgan Kaufmann Publishers Inc.
[12]
S. Kim, D. Chandra, and Y. Solihin. Fair cache sharing and partitioning in a chip multiprocessor architecture. In phProceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, PACT '04, pages 111--122, Washington, DC, USA, 2004. IEEE Computer Society. ISBN 0-7695-2229-7.
[13]
J. Larus. Spending Moore's dividend. phCommun. ACM, 52: 62--69, May 2009. ISSN 0001-0782.
[14]
E. Letuchy. Facebook Chat. URL https://www.facebook.com/note.php?note_id=14218138919, 2008.
[15]
K. Lundin. Inside the Erlang VM with focus on SMP . Erlang User Conference, Stockholm, Nov. 2008. Whitepaper.
[16]
Z. Majo and T. R. Gross. Matching memory access patterns and data placement for NUMA systems. In Proceedings of the Tenth International Symposium on Code Generation and Optimization, CGO '12, pages 230--241, New York, NY, USA, 2012. ACM. ISBN 978-1-4503-1206-6.
[17]
NVIDIA. Tegra 4 Family Whitepaper. http://www.nvidia.com/docs/IO/116757/Tegra_4_GPU_Whitepaper_FINALv2.pdf, Feb. 2013.
[18]
P. Nyblom. Erlang ets tables and software transactional memory: how transactions make ets tables more like ordinary actors. In Proceedings of the 10th ACM SIGPLAN workshop on Erlang, Erlang '11, pages 2--13, New York, NY, USA, 2011. ACM. ISBN 978-1-4503-0859-5.
[19]
M. Odersky, P. Altherr, V. Cremet, I. Dragos, G. Dubochet, B. Emir, S. McDirmid, S. Micheloud, N. Mihaylov, M. Schinz, L. Spoon, E. Stenman, and M. Zenger. An Overview of the Scala Programming Language (2. edition). Technical report, EPFL, 2006.
[20]
L. L. Pilla, C. P. Ribeiro, D. Cordeiro, C. Mei, A. Bhatele, P. O. Navaux, F. Broquedis, J.-F. Mehaut, and L. V. Kale. A hierarchical approach for load balancing on parallel multi-core systems. 2012 41st International Conference on Parallel Processing, 0: 118--127, 2012.
[21]
R. Pointer. scarling → kestrel. URL http://robey.livejournal.com/53832.html, 2008.
[22]
M. F. Pramodjumar J Sadalage. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley, 2012. ISBN 0-321-82662-0.
[23]
M. J. Rashti, J. Green, P. Balaji, A. Afsahi, and W. Gropp. Multi-core and network aware MPI topology functions. In Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface, EuroMPI'11, pages 50--60, Berlin, Heidelberg, 2011. Springer-Verlag. ISBN 978-3-642-24448-3.
[24]
C. P. Ribeiro, J.-F. Méhaut, A. Carissimi, M. B. Castro, and L. G. Fernandes. Memory affinity for hierarchical shared memory multiprocessors. In SBAC-PAD, pages 59--66. IEEE Computer Society, 2009. ISBN 978-0-7695-3857-0.
[25]
P. Saxena and V. Srinivasan. Optimizing virtual machine resource placement on multi-socket platforms. In Cloud Computing in Emerging Markets (CCEM), 2012 IEEE International Conference on, pages 1--6, Oct.
[26]
V. Subramaniam. phProgramming Concurrency on the JVM: Mastering Synchronization, STM, and Actors. Pragmatic Bookshelf, 2011.
[27]
D. Tam, R. Azimi, L. Soares, and M. Stumm. Managing shared L2 caches on multicore systems in software. In WIOSCA'07, 2007.
[28]
Tilera. Tilera Homepage. http://www.tilera.com/products/processors/TILE-Gx_Family, Mar. 2013.
[29]
J. Zhang. Characterizing the scalability of erlang vm on many-core processors. Master's thesis, KTH, School of Information and Communication Technology (ICT), 2011. Trita-ICT-EX.
[30]
Y. Zhang. Hackbench. URL http://people.redhat.com/mingo/cfs-scheduler/tools/hackbench.c, 2008.

Cited By

View all
  • (2018)Improving the Performance of Actor-Based Programs Using a New Actor to Thread Association TechniqueDistributed Applications and Interoperable Systems10.1007/978-3-319-93767-0_9(122-136)Online publication date: 1-Jun-2018
  • (2017)Locality-guided scheduling in CAFProceedings of the 7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/3141834.3141836(11-20)Online publication date: 23-Oct-2017
  • (2017)Responsive parallel computation: bridging competitive and cooperative threadingACM SIGPLAN Notices10.1145/3140587.306237052:6(677-692)Online publication date: 14-Jun-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
Erlang '13: Proceedings of the twelfth ACM SIGPLAN workshop on Erlang
September 2013
100 pages
ISBN:9781450323857
DOI:10.1145/2505305
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 September 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. actor model
  2. erlang
  3. multi-core
  4. numa
  5. pinning
  6. profiling

Qualifiers

  • Research-article

Conference

ICFP'13
Sponsor:

Acceptance Rates

Erlang '13 Paper Acceptance Rate 12 of 15 submissions, 80%;
Overall Acceptance Rate 51 of 68 submissions, 75%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Improving the Performance of Actor-Based Programs Using a New Actor to Thread Association TechniqueDistributed Applications and Interoperable Systems10.1007/978-3-319-93767-0_9(122-136)Online publication date: 1-Jun-2018
  • (2017)Locality-guided scheduling in CAFProceedings of the 7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/3141834.3141836(11-20)Online publication date: 23-Oct-2017
  • (2017)Responsive parallel computation: bridging competitive and cooperative threadingACM SIGPLAN Notices10.1145/3140587.306237052:6(677-692)Online publication date: 14-Jun-2017
  • (2017)Taming undefined behavior in LLVMACM SIGPLAN Notices10.1145/3140587.306234352:6(633-647)Online publication date: 14-Jun-2017
  • (2015)Synthesis of layout engines from relational constraintsACM SIGPLAN Notices10.1145/2858965.281429150:10(74-88)Online publication date: 23-Oct-2015
  • (2015)Effectively mapping linguistic abstractions for message-passing concurrency to threads on the Java virtual machineACM SIGPLAN Notices10.1145/2858965.281428950:10(840-859)Online publication date: 23-Oct-2015
  • (2015)Effectively mapping linguistic abstractions for message-passing concurrency to threads on the Java virtual machineProceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2814270.2814289(840-859)Online publication date: 23-Oct-2015
  • (2014)An Automatic Actors to Threads Mapping Technique for JVM-Based Actor FrameworksProceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control10.1145/2687357.2687367(29-41)Online publication date: 20-Oct-2014
  • (2013)Improving the performance of actor model runtime environments on multicore and manycore platformsProceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control10.1145/2541329.2541342(109-114)Online publication date: 27-Oct-2013
  • (2002)Porting the parallel array programming language ZPL to an embedded multicomputing systemACM SIGAPL APL Quote Quad10.1145/604444.60225132:4(168-175)Online publication date: 1-Jun-2002
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media