必威app体育下载-必威app手机下载版

热门关键词: 必威app体育下载,必威app手机下载版
来自 生活爱好 2019-09-24 04:50 的文章
当前位置: 必威app体育下载 > 生活爱好 > 正文

9编译安装Erlang必威app手机下载版:

tilera 2019-01-11 09:39 分类:资讯 阅读()

转自

并行运算进入Tilera时代

这篇文章主要介绍了CentOS 6.5源码安装Erlang教程,本文讲解了源码编译安装的过程和遇到的一些错误处理方法,需要的朋友可以参考下

作者:徐鹤军 单位:上海泛腾电子有限公司

 

当多数计算机工程师还在为如何充分发挥当前多核CPU的实际运行效果而绞尽脑汁时,Tilera公司内含64颗物理计算核的众核CPU已经开始的商业应用。(WWW.NIuBb.NEt)这是一款专门为了高性能并行运算而诞生的具有革命性技术革新的CPU,采用当今最先进的两维iMesh构架,完全摒弃了传统多核CPU总线互联的结构,完全解决了传统多核CPU并行运算时常有的效率瓶颈,也为今后集成更多物理内核做好的基础构架。

Erlang目前已经是Fedora和Debian/Ubuntu软件仓库中的一部分。

下图为TileraPro64 64核CPU的示意图:

Erlang目前最新的版本是OTP 17.0。Erlang是一种编程语言,用于构建大规模、高可伸缩性、高可用性的软实时系统的编程语言。它已经在电信、金融、电子商务、网络电话和即时消息中得到应用。Erlang的运行时系统已经内建了对并发、分布式和容错的支持。

单颗TileraPro64 CPU集成了64颗866Mhz的计算内核,4个DDR2内存控制器,计算内核与内存之间的数据读写从此顺畅无比。尤其还集成了2个万兆网络控制器,摒弃了传统构架中的PCI-E总线的数据传输瓶颈。从此对于网络数据包能够真正达到了万兆级的处理能力。

OTP是Erlang库和设计原则的集合,提供了开发各种系统的中间件。它包含了自己的分布式数据库、面向其它编程语言的接口、调试和发布处理工具等。

必威app手机下载版 1

BEAM是Erlang代码执行所需的虚拟机。Erlang代码编译后的扩展名为.beam。ERTS是Erlang的运行时系统,他包括了BEAM、内核和标准库等组件。

tilera 并行运算进入Tilera时代

官方推荐从源码安装Erlang,因此下面开始从源码安装OTP 17.0。

每颗物理计算核都配有交换单元与多条总线连接,是内核之间的连接不再有瓶颈,数据交换更加通畅和实时。(WWw.NiUBB.Net]

下载OTP 17.0源码:

下图为TileraPro64 单颗计算内核的结构示意图:

复制代码代码如下:

必威app手机下载版 2

# tar zvxf otp_src_17.0.tar.gz
# mv otp_src_17.0/ otp
# cd otp
# ./configure --prefix=/home/erlang --without-javac

革命性的iMesh构架为Tilera 众核CPU高性能运算作好了技术基础,无怪乎Tilera众核CPU能比众多竞争者表现出更出色的性能。

报错:

下图为Tilera众核CPU与其他CPU的对比图标:

复制代码代码如下:

必威app手机下载版 3

configure: error: No curses library functions found
configure: error: /bin/sh '/root/otp/erts/configure' failed for erts

Compare Multi-core Processors

 

tilera 并行运算进入Tilera时代

# yum -y install ncurses-devel
# ./configure --prefix=/home/erlang --without-javac

多CPU的编程一直是困扰软件开发人员的技术瓶颈,当前的编程模式难以应对多CPU并行运算的效率,往往是随着的更多CPU加入运算队列,性能提升不明显甚至不升反降,多CPU反而成为累赘。(wwW.niuBb.Net)

报错

这时一门叫Erlang冷门编程语言开始引起大家的关注,20年前由Joe Armstrong 教授为爱立信通信公司的电话交换机系统开发的Erlang编程语言,以不同当前编程模式的设计模式,支持超大量级的并发线程。

复制代码代码如下:

Erlang社区的名人Ulf Wiger 采用Erlang语言在TileraPro64 众核CPU上实现了运算性能的线性提升,请看下图标:

*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
crypto         : No usable OpenSSL found
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
orber          : No C++ compiler found
ssh            : No usable OpenSSL found
ssl            : No usable OpenSSL found
*********************************************************************

国内

 

基于Tilera提供的良好软件开发环境,国内Erlang语言的先锋任职阿里淘宝网的余峰先生也在有上海泛腾电子科技有限公司提供的测试机上轻松实现了Erlang语言的编译和运行。下面是由余峰先生提供的编译过程:

# yum list | grep ssl
# yum install openssl-devel
# ./configure --prefix=/home/erlang --without-javac

# wget %%R13B04后otp_build变了好像有点问题,编译不过去。

报错

# tar xzf otp_src_R13B03.tar.gz

复制代码代码如下:

# cd otp_src_R13B03

*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
orber          : No C++ compiler found
*********************************************************************

%%由于R13B03有个小小的bug会导致segment fault,我们需要对

 

tilera 并行运算进入Tilera时代

# yum list | grep ODBC
# yum install unixODBC-devel
# ./configure --prefix=/home/erlang --without-javac

erl_misc_utils.c打个patch,以下是要打patch的地方:

报错

# diff -Nau

复制代码代码如下:

otp_src_R13B04/erts/lib_src/common/erl_misc_utils.c{~,}

*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
orber          : No C++ compiler found
*********************************************************************

--- otp_src_R13B04/erts/lib_src/common/erl_misc_utils.c~

 

2009-11-20 14:32:23.000000000 +0100

# yum install gcc-c++
# ./configure --prefix=/home/erlang --without-javac
# make
# make install

+++ otp_src_R13B04/erts/lib_src/common/erl_misc_utils.c 2010-03-2915:53:28.000000000 +0200

安装完成!

@@ -373,8 +373,8 @@

 

return

测试Erlang是否安装正确

0;

复制代码代码如下:

memcpy

# /home/erlang/bin/erl
Erlang/OTP 17 [erts-6.0] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

topology,

 

cpuinfo-

Eshell V6.0  (abort with ^G)
1> EvenN = lists:filter (fun (N) -> N rem 2 == 0 end, lists:seq(1,100)).
[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,
 44,46,48,50,52,54,56,58|...]
2> halt().

>topology,

在PATH环境变量添加Erlang的bin路径,以便执行。

- cpuinfo->configured*sizeof(erts_cpu_topology_t));- return cpuinfo->configured;

 

+ cpuinfo->topology_size*sizeof(erts_cpu_topology_t));+ return cpuinfo->topology_size;

【安装总结】

}

从源码编译安装Erlang,有两个库或工具是必须的:
一是完整的GCC编译器环境
二是Ncurses开发库

%%源码算是准备完毕了

还有一些库或工具,如果没有它们,在编译配置时会出现警告信息,而且可能不能通过配置。这些库有:
1)OpenSSL开发库
2)ODBC开发库
3)Java编译器

%%开始编译前的环境准备

# export ERL_TOP=`pwd`

# eval ` env_cross $ERL_TOP/xcomp/erl-xcomp-

TileraMDE2.0-tilepro.conf`

# export TILERA_ROOT=/root/TileraMDE-2.1.2.112814/tilepro/ %%这个最好用2.x版本的

# export PATH=$TILERA_ROOT/bin:$PATH

# tile-monitor --pci -- uname -a %%验证板卡确实可用

Linux localhost 2.6.26.7-MDE-2.1.2.112814 #1 SMP Wed Sep 1 00:05:06 EDT 2010 tile GNU/Linux

%%开始交叉编译

# configure

# touch lib/crypto/SKIP && touch lib/ssl/SKIP && touch

lib/ssh/SKIP %%这几个模块用到了openssl, 编译不过去,忽略掉

# boot -a

# release -a /tmp/otp %%安装到/tmp/otp目录去

%%如果一切顺利,到这时候就编译完毕了。(WWw.NiuBB.NeT)

%%我们开始收获成果。

tilera 并行运算进入Tilera时代

# cd /tmp/otp

# `pwd`

# tile-monitor --pci --here -- bin/erl %%没出错的话,就说明我们成功了。(www.niuBb.NEt]

%%当然我们可以把otp系统上载到板卡去,方便日后使用

# $TILERA_ROOT/bin/tile-monitor --pci --upload /tmp/otp /tmp/otp --quit %% 放在板卡的/tmp/otp目录下

%%我们还可以定义个命令别名,方便我们执行命令

# tile_erl="$TILERA_ROOT/bin/tile-monitor --pci --resume --tunnel 2023 23 --env HOME=/tmp --tiles - all ^0 - -- /tmp/otp/bin/erl"# $tile_erl +sct L10-18,1-9,19-55,57,58,61c1-55,57,58,61 +sbt db -noshell +S 58 -s init stop

好吧到此为止,我们在目标机器上/tmp/otp目录下有个完整的erlang系统。

我们开个console连接到板载的linux系统去:Object 1

# /root/TileraMDE-

2.1.2.112814/tilepro/bin/tile-console

tile-console: Assuming '--pci'.

必威app手机下载版 4

本文由必威app体育下载发布于生活爱好,转载请注明出处:9编译安装Erlang必威app手机下载版:

关键词: