2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

面向多核异构硬件的多内核操作系统 Barrelfish

  • 2011-07-11
  • 本文字数:1124 字

    阅读完需:约 4 分钟

近日,微软与 ETH Zurich 研究团队发布了 Barrelfish 的源代码,Barrelfish 是个面向未来多核异构硬件的多内核操作系统。

当今的操作系统已经可以用在多处理器与多核硬件上了,但人们在最初设计时却并没有考虑到多核,这样他们就无法用在未来 10 年间将会出现的拥有几百个核心的异构硬件之上。主要问题在于共享内存的概念以及因访问由锁保护的相同数据时所引发的争夺。这正是 Barrelfish 所要解决的问题。

Barrelfish 是由微软研究院与瑞士 ETH Zurich 计算机科学系系统小组共同进行的一项操作系统研究,该项研究开始于2007 年,目的在于重新开始,完全摆脱现有操作系统的各种限制。团队计划构建一个概念OS,提供大量的多核支持,并且可以安装在新的兼容硬件上而无需进行移植。

Barrelfish 使用了多内核的概念,如下图所示:

Barrelfish 研究员 Rebecca Isaacs 解释到:

我们可否提出一种参考模型,指示该如何组织操作系统么?这正是多内核所要完成的事情。该模型描绘了这样一种概念:将操作系统组织为一种分布式系统。我们在每个节点上复制操作系统状态,运行在每个核心上的操作系统实例会彼此发送消息。Barrelfish 就是多内核模型的一种实现方式。

在 ACM Symposium 2009 发表的论文“The Multikernel: A new OS architecture for scalable multicore systems”( PDF )概要介绍了 Barrelfish 的 3 个设计原则:

  1. 显式进行内核间的通信
  2. 保持 OS 结构的硬件中立性
  3. 复制状态而非共享状态

首席研究员 Paul Barham 对这 3 个原则进行了解释

在通常的多处理器操作系统中,所有处理器都会通过共享内存操纵同样的基于内核的结构。由于所有处理器都有缓存,因此每个处理器的缓存中都会拥有大量的内核数据结构。即便每个内核都认为它所操纵的是相同的数据结构,但实际上硬件需要保持大量操作系统数据结构的一致性。 缓存一致性协议很难扩展到大量的处理器上。操作系统编写者必须得仔细考虑当执行某项操作时需要在处理器间复制哪些内核状态。在更新时,哪些处理器需要知道这一点?哪些数据需要进入到其他核心当中。多内核的想法就是明确指出所有这些通信模式,这样就不必预测需要移动机器中的哪些缓存线了,你在每一个处理器上运行独立的内核,在变更时,你显式地向所有其他核心发送一条描述该变更的消息即可。相比于使用线程的共享内存程序来说,这更像是个分布式系统。

Barrelfish 最初运行在 x86-64 位与 ARM 多处理器硬件之上,最近又增加了对 Intel Single Chip Cloud (一个拥有 48 个核心的研究型微处理器)与 Beehive( PDF ,构建在单独的 FPGA 之上的多核计算机)的支持,

Barrelfish 的源代码最近发布在了Mercurial 上,基于 MIT Open Source 许可

查看英文原文: Barrelfish Is a Multikernel OS for Multicore Heterogeneous Hardware

2011-07-11 09:282503
用户头像

发布了 88 篇内容, 共 268.3 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Java 8 + 10 = Java 18

钟奕礼

java;

java多线程——CAS

StackOverflow

编程 计算机网络 9月月更

MSE 结合 Dragonwell,让 Java Agent 更好用

钟奕礼

编程 java; MSE

OptaPlanner是什么

积木编程

规划问题的概念

积木编程

计算机网络——随机接入

StackOverflow

编程 计算机网络 9月月更

计算机网络——回退N帧协议

StackOverflow

编程 计算机网络 9月月更

数据中台体系规划建设

穿过生命散发芬芳

数据中台 9月月更

OptaPlanner 开源项目

积木编程

重磅发布|腾讯云容器安全服务网络隔离功能已上线

腾讯安全云鼎实验室

云安全 容器安全

惊为天人!从Sql到Nosql,redis+mysql从架构到优化全覆盖

Geek_0c76c3

Java 数据库 开源 架构

数维图API文档:SovitJS编辑器开放API说明

数据可视化平台

数维图编辑器 Sovitjs编辑器 数维图API 可视化编辑器 可视化引擎

Redis进阶知识点(可学习,可复习,可面试)

钟奕礼

编程 redis 底层原理

Java面试:你了解HashMap吗?

钟奕礼

编程 面试 java;

9面阿里Java岗,最终定级P6拿P7工资,分享学习经验

Geek_0c76c3

Java 数据库 开源 程序员 架构

《近期BSN开发常见问题答疑(2022.9.23)》

BSN研习社

BSN 区块链、

Java开发学习----SpringBoot三种配置文件解析

钟奕礼

编程 Spring Boot java;

得物基于 StarRocks 的 OLAP 需求实践

得物技术

数据库 开源 OLAP 开发工具 StarRocks

基于Spring Cloud与Docker如何搭建一个电商平台项目

Geek_0c76c3

Java 数据库 开源 程序员 架构

茂名是几线城市?有正规等保测评机构吗?

行云管家

网络安全 等保测评 等级测评 茂名

设备健康管理“悬丝诊脉”之【石化行业往复式压缩机】

PreMaint

设备健康管理 设备预测性维护 往复式压缩机

Java进阶(三十六)深入理解Java的接口和抽象类

No Silver Bullet

Java 接口 抽象类 9月月更

面试官:请实现一个JavaScript深拷贝

loveX001

JavaScript

KaiwuDB 正式加入中国信通院数据库应用创新实验室

KaiwuDB

极狐GitLab 15.4 | 四大专享更新、更能打的CI/CD,近 50 项更新全面来袭!

极狐GitLab

DevOps 运维 Harbor CI/CD 极狐GitLab

腾讯云入选Gartner CPaaS市场指南“代表厂商”,数实融合和全球化布局受认可

科技热闻

Docker与Jib(maven插件版)实战

程序员欣宸

Docker 9月月更 Jib

银行使用堡垒机成功案例分享一二

行云管家

银行 堡垒机 IT运维 IT资产

三步“上链”,从此告别黑心假酒

旺链科技

区块链 产业区块链 企业号九月金秋榜 酒业

低代码实现探索(五十)后台复杂业务构建扩展

零道云-混合式低代码平台

三次握手与四次挥的问题,怎么回答?

loveX001

JavaScript

面向多核异构硬件的多内核操作系统Barrelfish_微软_Abel Avram_InfoQ精选文章