Multicore OCaml 正在等待主线合并
OCaml 的 GitHub repo 显示,其最新等待合并的 PR 是 Multicore OCaml。可以看到,这个 PR 非常庞大,改动内容包括增加了 24,207 行代码,以及删除 15,148 行代码。而这刚好是构成 Multicore OCaml 的最小可行产品 (MVP)。
正因如此,此 PR 并未能成功构建,报错的原因是部分检查未能成功通过。
此 PR 通过 domain 增加了对并行共享内存的支持,并通过 effect handler(无语法支持)增加了对并发 (direct-style concurrency) 的支持。Multicore OCaml 还打算向后兼容——包括语言特性、C API 以及单线程代码的性能方面。
有关 Multicore OCaml 的详细信息可查看其 Wiki 中的论文、演讲、教程和博客文章。
如果对使用 Multicore OCaml 感兴趣,可查看以下正在开发中的库:
下图是 sandmark 的多核可扩展性测试结果,该测试在一台 64 核的 AMD EPYC 7551 服务器上进行。
基准名称旁边括号内的数字是相应基准的连续基线所用时间(以秒为单位)
据介绍,Multicore OCaml 不会预设任何一种并发模型,但会为用户和库作者提供自由实现的能力,这也是为 OCaml 引入的并发与并行支持。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux 5.17 将为 Alder Lake 提供更好的睿频性能
Alder Lake 是英特尔第 12 代酷睿处理器,这也是英特尔在 x86 架构的处理器上首次采用 P 核 + E 核混合架构,相比此前的处理器改动幅度巨大。按照英特尔的计划,Alder Lake 处理器以及搭载该处理器的 PC 将从明年年初开始陆续推出。 Linux 5.17 将对即将推出的英特尔 Alder Lake 移动端处理器带来了一个非常重要的修复。如果没有这个修复,你将无法看到处理器达到英特尔所宣传的单核睿频频率,而这个睿频频率的高低取决于系统是否调整了 EPP。 作为 Linux 5.17 的电源管理代码的一部分,开发者 Rafael J. Wysocki 已将他对英特尔 P-State CPU 频率缩放驱动程序的修改提交至合并队列中。 CPU P-State 代表电压-频率控制状态,在 ACPI 规范中被定义为性能状态。在电压-频率控制中,驱动电路的电压和时钟频率会根据工作负载而增加或减少。操作系统根据当前的工作负荷请求特定的 P-State。处理器可以接受或拒绝该请求,并根据自己的状态设置 P-State。P-State 列表示处理器支持的频率以及在收集期间在每个频...
- 下一篇
12 张图 | 硬刚了一波,Eureka 三层缓存架构
大家好,我是悟空。 先说下哈,这篇文章画原理图用了很多时间,求个三连! Eureka 注册中心系列文章已经写到第七篇了,这里汇总下: 领导让我研究 Eureka 源码 | 启动过程 领导“叕”让我研究 Eureka 源码:注册过程 值得收藏的 Eureka 控制台详解 原来一个 Map 就能搞定注册表了 6 张图 | 剖析客户端首次同步注册表 11 张图 | 讲透原理,最细的增量拉取 > 本文已收录到我的 github: https://github.com/Jackson0714/PassJava-Learning 一、前言 上一讲我们讲到了 Eureka 注册中心的 Server 端有三级缓存来保存注册信息,可以利用缓存的快速读取来提高系统性能。我们再来细看下: 一级缓存:只读缓存 readOnlyCacheMap,数据结构 ConcurrentHashMap。相当于数据库。 二级缓存:读写缓存 readOnlyCacheMap,Guava Cache。相当于 Redis 主从架构中主节点,既可以进行读也可以进行写。 三级缓存:本地注册表 registry,数据结构 Conc...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境