arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2006.05862cs.PLcs.DC
收藏

多核架构的目标Caml

Objective Caml for Multicore Architectures

Mathias Bourgoin, Benjamin Canou, Emmanuel Chailloux, Adrien Jonquet, Philippe Wang

摘要:

目的Caml语是ML族语言中的一种著名方言。它以其作为编译程序设计语言的性能而闻名,特别是由于它的增量代自动内存收集。然而,由于历史原因,后者是为单核处理器构建的。一个结果是运行时库假设实际上一次运行的线程不超过一个,这允许对单核架构进行许多优化:很少的线程互斥量足以防止一次运行多个线程。这使得内存分配和收集非常容易。它的构建方式使得它不可能利用现在广泛使用的多核CPU架构。本文介绍了我们的反馈删除Objective Caml的垃圾收集器和设计一个“停止世界停止和复制”垃圾收集器,允许线程利用多核架构。

英文摘要:

Objective Caml is a famous dialect of the ML family languages. It is well-known for its performance as a compiled programming language, notably thanks to its incremental generational automatic memory collection. However, for historical reasons, the latter was built for monocore processors. One consequence is the runtime library assumes there is effectively no more than one thread running at a time, which allows many optimisations for monocore architectures: very few thread mutexes are sufficient to prevent more than a single thread to run at a time. This makes memory allocation and collection quite easier. The way it was built makes it not possible to take advantage of now widespread multicore CPU architectures. This paper presents our feedback on removing Objective Caml's garbage collector and designing a "Stop-The-World Stop&Copy" garbage collector to permit threads to take advantage of multicore architectures.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑