Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management, ACM, New York, NY, USA, pp. 89-102
Proceedings of the ACM on Programming Languages, vol. 2 Issue OOPSLA (2018), 151:1-151:24
37th annual ACM SIGPLAN conference on Programming Language Design and Implementation, ACM, New York, NY, USA (2016), pp. 570-583
Proceedings of the Eighth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '12) (2016)
The volume of mobile web browsing traffic has significantly
increased as well as the complexity of the mobile websites
V8 to be used on mobile devices. Although there has been a
on mobile phones in recent years, the power consumption re-
duction has not been addressed much. This paper presents
V8 from Google in web browsers on a heterogeneous multi-
processing (HMP) platform. We analyze the detailed traces
of the thread workload generated by the web browser and
in relation to power management policies on Android. We
believe that this work will lead to development of practi-
cal power management techniques considering thread allo-
cation, dynamic voltage and frequency scaling (DVFS) and
Proceedings of the 2015 ACM SIGPLAN International Symposium on Memory Management, ACM, New York, NY, USA, pp. 105-117
Proceedings of the 10th ACM Symposium on Dynamic Languages, ACM, New York, NY, USA (2014), pp. 67-78
Proceedings of the 2014 International Symposium on Memory Management, ACM, New York, NY, USA
Memory management system performance is of increasing importance in today's managed languages.
Two lingering sources of overhead are the direct costs of memory allocations and write barriers.
This paper introduces allocation folding, an optimization technique where the virtual machine automatically folds multiple memory allocation operations in optimized code together into a single, larger allocation group.
An allocation group comprises multiple objects and requires just a single bounds check in a bump-pointer style allocation, rather than a check for each individual object.
More importantly, all objects allocated in a single allocation group are guaranteed to be contiguous after allocation and thus exist in the same generation, which makes it possible to statically remove write barriers for reference stores involving objects in the same allocation group.
Unlike object inlining, object fusing, and object colocation, allocation folding requires no special connectivity or ownership relation between the objects in an allocation group.
We present performance results for the Octane and Kraken benchmark suites and show that allocation folding is a strong performance improvement, even in the presence of some heap fragmentation.
Additionally, we use four hand-selected benchmarks JPEGEncoder, NBody, Soft3D, and Textwriter where allocation folding has a large impact.View details
Distributed Queues in Shared Memory - Multicore Performance and Scalability through Quantitative Relaxation