Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Fair Cache Sharing and Partitioning in a Chip Multiprocessor Architecture
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
MapReduce: simplified data processing on large clusters
Communications of the ACM - 50th anniversary issue: 1958 - 2008
Communications of the ACM - Security in the Browser
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Memory Affinity for Hierarchical Shared Memory Multiprocessors
SBAC-PAD '09 Proceedings of the 2009 21st International Symposium on Computer Architecture and High Performance Computing
ERLANG Programming
Proceedings of the 10th ACM SIGPLAN workshop on Erlang
Multi-core and network aware MPI topology functions
EuroMPI'11 Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface
Matching memory access patterns and data placement for NUMA systems
Proceedings of the Tenth International Symposium on Code Generation and Optimization
A scalability benchmark suite for Erlang/OTP
Proceedings of the eleventh ACM SIGPLAN workshop on Erlang workshop
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
A Hierarchical Approach for Load Balancing on Parallel Multi-core Systems
ICPP '12 Proceedings of the 2012 41st International Conference on Parallel Processing
Improving the performance of actor model runtime environments on multicore and manycore platforms
Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
Hi-index | 0.00 |
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.