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:282505
用户头像

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

关注

评论

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

零操作,高效下载:利用Playwright和Python完成文件下载

霍格沃兹测试开发学社

画像系统人群服务数据存储架构的演进与创新| 京东云技术团队

京东科技开发者

破局留存困境,巧用融云“用户在线状态”提升陌生人社交效率

融云 RongCloud

Databend 开源周报第 144 期

Databend

数据仓库

无需手动操作:利用 Playwright 自动上传文件

霍格沃兹测试开发学社

SSH 简介:安全远程访问的利器

霍格沃兹测试开发学社

全面系统的AI学习路径,帮助普通人也能玩转AI

不在线第一只蜗牛

openGemini v1.2.0版本正式发布,IoT 场景性能大幅提升!

华为云开源

开源 云原生 时序数据库 版本升级

Go-Zero定义API实战:探索API语法规范与最佳实践(五)

王中阳Go

Go golang 微服务 gozero

使用 Playwright 复用 Cookie:简化自动化测试的高效方法

霍格沃兹测试开发学社

一文读懂 Pencil 积分,打开 Pencils Protocol 生态权益大门

加密眼界

测试实践-测试范围分析| 京东云技术团队

京东科技开发者

Python环境部署及虚拟环境部署

我再BUG界嘎嘎乱杀

Python 编程语言 后端

云手机海外版在海外市场的应用场景有哪些

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 电商云手机

探索大语言模型:理解Self Attention

京东科技开发者

探秘jd.item_search_img:京东按图搜索商品API返回值全攻略

技术冰糖葫芦

API 文档 API 策略 pinduoduo API

Postman 在线测试指南

Liam

Postman 接口测试 API 测试工具 API 测试

Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界

霍格沃兹测试开发学社

API服务发展历程与技术演变

幂简集成

API

Docker 怎么部署 MySQL ?

秃头小帅oi

TikTok直播专线:为海外直播加速,打造极致用户体验

Ogcloud

TikTok tiktok运营 tiktok直播 tiktok直播网络

经验分享:春招零Offer,5月份还有机会吗?

王磊

Java 面试

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