Archive

Posts Tagged ‘64’

如何在TILEPro64多核心板卡上编译和运行Erlang

November 2nd, 2010 21 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: 如何在TILEPro64多核心板卡上编译和运行Erlang

参考文章:
1. https://groups.google.com/group/erlang-programming/msg/2d61b1083a10a7b6

2. http://erlang.2086793.n4.nabble.com/How-to-Cross-compile-Erlang-OTP-R13B04-for-TileraPro64-td2119304.html

美国Tilera公司的众核服务器,单颗内核包含64颗CPU。硬件架构图:

卡长这样的:

Erlang已经可以在这款CPU上成功运行,我们可以参考Ulf Wiger在Multicore ☺ Message-passing Concurrency 文档中关于Erlang在Tilera上的性能图.

Erlang系统前2年就开始正式支持Tilera,一直用这个CPU来调整他的调度器,所以性能和基础的编译运行支持都很到位。

Linux内核2.6.36起就开始支持Tilera的CPU架构了,看起来前途不错。

最近 上海泛腾电子科技 开始在国内销售 Tilera机器, 我公司也得到一台样机,使得我有机会把玩下这个高科技!

该测试机是PCI-e的形式,是单板机,直接安装在PC机或者是服务器里,好处是可以通过主机的VGA口接显示器直接调试。当然也可以作为智能网卡来使用。构成一个与Host的异构结构,通过PCI-e总线进行通讯。

还需要相应的配套SDK: 目前有TileraMDE-2.1.2.112814 和 TileraMDE-3.0.alpha3.116173 二个版本, 来负责和板卡的通信。 推荐用2.0的,好像不容易出问题。

废话少说,让我们开始享受64核心快乐旅程吧!
Read more…

Post Footer automatically generated by wp-posturl plugin for wordpress.

Erlang 64位虚拟机halfword版本

July 27th, 2010 2 comments

原创文章,转载请注明: 转载自系统技术非业余研究

本文链接地址: Erlang 64位虚拟机halfword版本

在即将发布的R14B版本中,包括了64位机器下用的Halfword版本。 我们知道在64位Linux下,指针和size_t都变成64位的, 而Erlang的基础数据结构Eterm都是用的和体系相同的数据结构,那么在64位机器下,虽然CPU运算的速度增加了,但是内存的访问速度不会随着CPU的加快而加快。反而是在64位系统下,比如Erlang的List,访问的内存加倍了,总体的速度下降了百分几十。

为了解决这个问题,Erlang的团队推出了halfword-emulator, 通过修改Etrem指针的长度, 来达到节省内存,加速的目的。
我们可以在编译的时候通过 configure –enable-halfword-emulator 来启用这个VM.

half word 64-bit Erlang VM有以下特性
– 4 Gbytes process heaps (in total)
–max size of Erlang term 4 Gbytes
– ets tables and binaries in separate space can utilize the full 64 bit address space

但是需要注意的是,这个patch推出的时间不长,可能存在风险。 在提高速度的同时,也有不稳定的风险。 用户需要自己去评估。

Post Footer automatically generated by wp-posturl plugin for wordpress.

Categories: Erlang探索 Tags: , ,