论坛首页 综合技术论坛

ErLang、PVM释疑

浏览 25034 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-07  
看了ErLang关于分布式虚拟机的介绍,觉得跟过去的PVM似乎很像
但是目前的分布式计算的似乎还没有能够智能的判断节点状态和任务分解的方法,PVM号称可以做到这点,我没看到它相关的实现。
platform的LSF也是提出这种观点,把多个机器攒成一个vm,但是任务分解算法还是要用户提供,他最多负责根据任务属性分配节点,跟它提出的理念不太相同,不知道二位有没有见过可以透明做任务分派或分解的分布式平台?

关于ErLang的性能,ErLang说是通过进程间消息传递来进行并发控制的
这点倒是和csp很像,csp通过channel之间的message来进行并发控制,不过csp也没号称那么高的并发能力,当然,csp是基于vm的线程的,ErLang是一个线程里的模拟进程,看它的评测,差距不小啊,不知道T1和potian测试过ErLang没有?

目前ErLnag的应用主要在哪方面?看爱立信上说是做交换机控制的?

ErLang的开源项目不太多,就找到一个openroker,whl传说T1有个项目,不知道何时可以放出来给我们瞻仰一下
   发表时间:2006-09-07  
这里有OpenPoker作者自己写的blog

http://blog.mylkcn.net/senzung.php

我觉得Erlang应用的领域是超高并发,多个节点分布式运算(还提供了自动负载均衡和故障切换的能力)的。因此目前很热门的网络游戏的服务器端很适合使用Erlang来编写(目前网络游戏服务器端好像基本上是用C写的。)

至于web网页开发这个领域,Erlang好像也有一个框架可以支持。不过用Erlang开发web网页,那就是拿高射炮打蚊子了。而且Erlang的库其实还是很少的,特别是RDBMS支持不行。
0 请登录后投票
   发表时间:2006-09-07  
ErLang不是有一个数据库Mnesia 支持吗?
那篇文章我也看了,我怀疑他只是翻译而已
0 请登录后投票
   发表时间:2006-09-07  
flyingbug 写道
ErLang不是有一个数据库Mnesia 支持吗?
那篇文章我也看了,我怀疑他只是翻译而已


Mnesia不是关系数据库。
0 请登录后投票
   发表时间:2006-09-07  
robbin 写道
flyingbug 写道
ErLang不是有一个数据库Mnesia 支持吗?
那篇文章我也看了,我怀疑他只是翻译而已


Mnesia不是关系数据库。


哦....没有RDBMS支持确实是个问题
0 请登录后投票
   发表时间:2006-09-07  
引用
不知道二位有没有见过可以透明做任务分派或分解的分布式平台

Code Split 很有可能是一个NPComplete问题.


引用
哦....没有RDBMS支持确实是个问题

http://yarivsblog.com/articles/2006/08/30/many-to-many-relations-are-now-at-an-erlydb-near-you
0 请登录后投票
   发表时间:2006-09-07  
http://yarivsblog.com/articles/2006/08/29/introducing-erlydb-the-erlang-twist-on-database-abstraction

看了一下这个blog,ErlyDB确实有点意思,提供了RDBMS的Erlang数据库抽象层,而且用起来还挺像rails的ActiveRecord。就是现在还不成熟,仅仅是一个功能实现,没有优化过,而且仅仅支持MySQL。等它成熟吧。
0 请登录后投票
   发表时间:2006-09-07  
Erlang做web我目前没有太关心

其实Erlang实现个Rails并不太难,但是要想那么符合OO程序员的习惯,还是有一定难度的


Erlang的主要应用领域高并发(C80K而不是什么C10K问题)、高可靠性(容错和集群,99.9999999可用率之类的),真正的分布式应用(不是搞功能集中于一个系统的集群,或者通过效率低下的webservice在子系统之间协作)等等
0 请登录后投票
   发表时间:2006-09-08  
robbin 写道
这里有OpenPoker作者自己写的blog

http://blog.mylkcn.net/senzung.php

我觉得Erlang应用的领域是超高并发,多个节点分布式运算(还提供了自动负载均衡和故障切换的能力)的。因此目前很热门的网络游戏的服务器端很适合使用Erlang来编写(目前网络游戏服务器端好像基本上是用C写的。)

至于web网页开发这个领域,Erlang好像也有一个框架可以支持。不过用Erlang开发web网页,那就是拿高射炮打蚊子了。而且Erlang的库其实还是很少的,特别是RDBMS支持不行。


网络游戏是个不错的方向,eve online是用stackless python的轻量级线程实现的,在单一集群上已经突破30k并发用户了。不过网络游戏对数据库事务处理能力的要求不低呢,像wow都得去用oracle rac,不知道Mnesia这方面怎样。
0 请登录后投票
   发表时间:2006-09-08  
cookoo 写道

网络游戏是个不错的方向,eve online是用stackless python的轻量级线程实现的,在单一集群上已经突破30k并发用户了。不过网络游戏对数据库事务处理能力的要求不低呢,像wow都得去用oracle rac,不知道Mnesia这方面怎样。


有个ejabberd 在线聊天的Project 是ErLang + Mnesia。
http://ejabberd.jabber.ru/

Mnesia的并发事务处理问题不大,主要问题在于容量。
好像单表上限只有4GB。容量大了,可能需要动态分表,分区之类。
还有就是,由于是内存数据库,数据大了,比较吃内存。

stackless python有没有研究?炒一炒?让我们听听讲。
我也看过一段时间stackless python,不过,看到有消息说,发展停了一段时间。不知道现在如何。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics