首页> 外文会议>International Conference on Compiler Construction >Optimizing C Multithreaded Memory Management Using Thread-Local Storage
【24h】

Optimizing C Multithreaded Memory Management Using Thread-Local Storage

机译:使用线程本地存储优化C多线程内存管理

获取原文

摘要

Dynamic memory management in C programs can be rather costly. Multithreading introduces additional synchronization overhead of C memory management functions (malloc, free). In order to reduce this overhead, we extended Hoard — a state of the art memory allocator with the ability to allocate thread-local storage. Experimental results using the tool show runtime saving of up to 44% for a set of memory management benchmarks. To allow transparent usage of thread-local storage, we develop a compile-time algorithm, which conservatively detects allocation sites that can be replaced by thread-local allocations. Our static analysis is sound, i.e., every detected thread-local storage is indeed so, although we may fail to identify opportunities for allocating thread-local storage. Technically, we reduce the problem of estimating thread-local storage to the problem of escape analysis and provide an efficient escape analysis for C. We solve the problem of escape analysis for C using existing points-to analysis algorithms. Our solution is parameterized by the points-to information. We empirically evaluated the solution with two different methods for computing points-to information. The usage of scalable points-to analysis algorithms and the fact that our reduction is efficient, guarantees that our static analysis technique is scalable.
机译:C程序中的动态内存管理可以相当昂贵。多线程引入C内存管理功能的额外同步开销(Malloc,免费)。为了减少这个开销,我们扩展了囤积者 - 一种艺术内存分配器的状态,具有分配线程本地存储的能力。实验结果使用该工具显示运行时节省了一组内存管理基准的44%。为了允许透明使用线程本地存储,我们开发了一种编译时算法,保守地检测可以通过线程局部分配替换的分配站点。我们的静态分析是声音,即,每个检测到的线程本地存储都确实如此,尽管我们可能无法识别用于分配线程本地存储的机会。从技术上讲,我们减少估算线程局部存储到逃生分析问题的问题,并为C提供了高效的逃生分析。我们解决了使用现有点分析算法的逃生分析问题。我们的解决方案由点对信息进行参数化。我们经验用两种不同的方法计算解决方案,用于计算点到信息。可扩展点为分析算法的使用以及我们的减少是有效的,保证我们的静态分析技术是可扩展的。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号