写点什么

微软发布了 Axum

  • 2009-05-12
  • 本文字数:849 字

    阅读完需:约 3 分钟

Axum 是微软开发的并行编程语言,目前还处在试验阶段,两周前 InfoQ 公布了这个项目的发布计划。现在,Axum 的一个初期版本(v0.1)已经发布并提供下载

Axum 目前仍然是一个试验性的项目,微软 DevLabs 表示此次发布的版本,其主要目的是希望收集来自社区的反馈:

无论 Axum 最终是否会成为一个产品,是否能使并行编程变得更安全、更易于扩展和更高效,(社区的)反馈都是它成功的最大因素。

Axum 曾经叫做 Maestro,它的目标是提供一个.NET 环境下的并行编程模型,支持隔离、actor 和消息传递。此语言借鉴了很多 Erlang 语言的元素,不过拥有类似 C#的语法。

Axum 是一个拥有类似 C#语法的命令式语言,它面向 actor 和域(domain),而不是面向对象的,因此它拥有对象的概念,但是不能自定义类。Axum 主要用途是解决并发处理问题,它基于微软机器人实验室的 CCR ,其他.NET 平台的编程语言可以通过调用 Axum 来实现并发处理。

并行安全的最大障碍是共享数据。在 Axum 中使用共享数据之前需要进行声明,这样运行时就会控制数据访问的过程。语言中已经内建了并发控制机制。

Axum 的主要元素是域。域是一个资源仓库,它是数据、代理和函数的集合。域与域之间是相互隔离的,以此保护它们各自独立或共享的数据。域中的所有代理可以共享域中的数据,代理之间通过信道(Channel)来交换消息,而域中的函数都是无状态的。不同域的代理之间在通信时需要某种元数据来进行协调,这些元数据便是“架构(Schema)”。

基本上,一个代理就是可以和其他代理进行通信的线程,它们通过添加 reader 或 writer 的声明来访问共享数据:

复制代码
domain A {
int i;
int func(int k){}
writer agent X: Channel1 {}
reader agent Y: Channel2{}
}
domain B {
int j;
agent Z: Channel1 {}
}

域与域之间通过代理进行通信可以用下图来表示:

axum

您需要安装 Visual Studio 2008 才能使用 Axum。

相关链接:下载 Axum 语言规范(PDF), Axum 用户手册(PDF), Axum 项目组博客

查看英文原文: Axum, Microsoft’s Approach to Parallelism Microsoft Has Released Axum

2009-05-12 10:245269
用户头像

发布了 63 篇内容, 共 25.7 次阅读, 收获喜欢 1 次。

关注

评论

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

消息队列MySQL物理模型设计

π

架构师实战营

第九期 - 模块八

wuli洋

微信朋友圈架构设计

chinandy

React源码分析4-深度理解diff算法

flyzz177

React

数据库原理及MySQL应用 | 日志管理

TiAmo

数据库 日志 12月月更

架构训练营第10期模块二作业

刘博

软件测试 | 测试开发 |面试真题 | 需求评审中从几个方面发现问题

测吧(北京)科技有限公司

测试

微信朋友圈高性能架构_模块二作业

Geek_e5f2e5

架构训练营 模块二作业

提姆

架构训练营10期

React源码解读之任务调度

flyzz177

React

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

架构训练营模块二作业

现在不学习马上变垃圾

#架构实战营

架构实战营模块三作业-外包学生管理系统的架构文档

张Dave

前端leetcde算法面试套路之树

js2030code

JavaScript LeetCode

实战训练营-模块八消息队列数据库设计

Geek_b35d92

React源码分析3-render阶段(穿插scheduler和reconciler)

flyzz177

React

架构实战营模块二作业

周烨

架构实战营 - 模块二作业

落叶挂云霄

React源码分析2-深入理解fiber

flyzz177

React

React源码解读之React Fiber

flyzz177

React

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

微信朋友圈高性能复杂度分析

你敢

高性能 微信朋友圈 架构实战营 模块二

软件测试 | 测试开发 | 校招面试 | 一面试就紧张,怎么办?

测吧(北京)科技有限公司

微信朋友圈高性能复杂度分析

LT

架构实战营

用javascript分类刷leetcode23.并查集(图文视频讲解)

js2030code

JavaScript LeetCode

2022-12-18:给定一个长度为n的二维数组graph,代表一张图, graph[i] = {a,b,c,d} 表示i讨厌(a,b,c,d),讨厌关系为双向的, 一共有n个人,编号0~n-1, 讨

福大大架构师每日一题

算法 rust 福大大

模块二-作业:朋友圈高性能架构

unique

架构训练营模块 2 作业

附加信息

架构训练营10期

有哪些工作是AI无法替代的(59/100)

hackstoic

AI AIGC

URI和URL的区别

穿过生命散发芬芳

url 12月月更

微信朋友圈之高性能架构设计

Geek_7d539e

微软发布了Axum_.NET_Abel Avram_InfoQ精选文章