论文标题

目标CAML用于多层体系结构

Objective Caml for Multicore Architectures

论文作者

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

论文摘要

目标CAML是ML家庭语言的著名方言。它以其作为编译编程语言的性能而闻名,尤其是由于其增量世代自动内存收集。但是,出于历史原因,后者是为单门处理器建造的。结果是运行时库假定一次运行不超过一个线程,这允许对单门体系结构进行许多优化:很少有线程互斥词足以防止一次超过一次线程运行。这使得内存分配和收集变得更加容易。它的构建方式使得不可能利用现在广泛的多核CPU体系结构。 本文介绍了我们有关删除目标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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源