Cluster of Student

18 views
Skip to first unread message

Hao Xu

unread,
Jul 22, 2014, 5:45:06 PM7/22/14
to ustc...@googlegroups.com
不知道有没有对高性能计算感兴趣的孩子?暑假结束后想利用网络中心(科大云)的机子或者Freeshell搭建一些高性能计算的平台,先自用(同时试着提供给校内学生)。不知道有没有感兴趣的?
可能以数值计算 MATLAB Mathematica COMSOL 软件为主(因为我自己要给自己搭一套),或者提供些渲染,Hadoop之类的服务。区别于超算,或者freeshell给机子-队列那些跑MPI的主要是自己配置玩。以成熟软件的cluster为主?不知道有没有感兴趣的。
当然如果能找到提供CUDA的资源就更好了。
主要是自己的做做集群玩。。服务器可以从科大云那边拿问题估计不大。

Yan Wang

unread,
Jul 22, 2014, 6:32:16 PM7/22/14
to ustc...@googlegroups.com
好啊好啊~最近刚写了一篇相关的blog: https://grapeot.me/easy-and-cheap-cluster-building-on-aws.html

只用了4台机器,htop已经比较惊人了。。

Inline image 1


--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en

---
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hao Xu

unread,
Jul 22, 2014, 7:45:41 PM7/22/14
to ustc...@googlegroups.com
我的想法是我们可以试试提供更高层面的App级别的集群,然后做前端,用网页直接操作运行,然后尽量整合程序内置的cluster的功能。甚至连ipython东西都可以做出来。
因为很多时候我们的机器是要给不会linux的人用的,而这些人的特点是依赖于一些工具,比如matlab/mma,高阶点的可能玩玩scipy,我们可以试试提供这种平台。如果可以的话其实我现在就有一台独立的主机在网络中心,我们可以先做一个MATLAB和mathematica调配的,用node.js或者django来分配用户的计算资源什么的。不过matlab我没有这么玩过

在 2014年7月22日星期二UTC-4下午6时32分16秒,Yan Wang写道:

Zhang Cheng

unread,
Jul 22, 2014, 8:29:50 PM7/22/14
to USTC LUG

2014-07-23 7:45 GMT+08:00 Hao Xu <xuha...@gmail.com>:
我的想法是我们可以试试提供更高层面的App级别的集群,然后做前端,用网页直接操作运行,然后尽量整合程序内置的cluster的功能。甚至连ipython东西都可以做出来。
因为很多时候我们的机器是要给不会linux的人用的,而这些人的特点是依赖于一些工具,比如matlab/mma,高阶点的可能玩玩scipy,我们可以试试提供这种平台。如果可以的话其实我现在就有一台独立的主机在网络中心,我们可以先做一个MATLAB和mathematica调配的,用node.js或者django来分配用户的计算资源什么的。不过matlab我没有这么玩过

​我觉得有的时候不需要做的太抽象。

“不会用Linux”不代表“只能点鼠标,不会敲命令”。就好像(一个程序员)会用windows不代表就会用visual studio一样。
搞计算的,学两条简单的命令是没问题的(写代码的学命令很简单)。Linux难的地方在于系统维护,因为这需要非常广的知识面。比如怎么配置某个软件就很难,因为这往往不是简单的一两条命令,而要根据具体情况去判段。所以,只要能给他们提供一个稳定的、及时可用的环境就好了。通过命令行启动他们的程序是一件很简单的task,不一定需要通过网页来做。从命令行操作,他们可能还会看到更多有用的信息。



--
Cheng,
Best Regards

XuHao3e8

unread,
Jul 22, 2014, 8:44:39 PM7/22/14
to ustc...@googlegroups.com
嗯这倒也是…其实可以稍微结合做。
主要如果是以任务的形式给出就像是和超算重复了…我的想法是利用matlab或者mma内置的那些集群运算功能…我们只是提供这种服务…和资源掉配

发自我的 iPhone
--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en

---
You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/T-DgzG7rdI4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.

yi lu

unread,
Jul 22, 2014, 8:56:29 PM7/22/14
to ustc...@googlegroups.com
julia


You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.

Hao Xu

unread,
Jul 22, 2014, 9:30:37 PM7/22/14
to ustc...@googlegroups.com
这是个好东西。。可以试试提供这种环境

在 2014年7月22日星期二UTC-4下午8时56分29秒,timekeeper写道:

Bojie Li

unread,
Jul 22, 2014, 11:43:23 PM7/22/14
to USTC_LUG

几年前郭家华在少院做过类似的东西,用的是 sage,一个开源的科学计算软件,可以通过网页交互。跟 ipython 的网页前端是一个道理。

后来我做过一个自己用的简易网页和 nodejs 后端,每个浏览器 session 创建时启动一个 Mathematica 进程(命令模式),前后端的交互是一个简化的 web terminal。问题也很明显:不能上传数据文件;不能画图。现在想来,上传数据可以提供 FTP;画图就不能用命令行模式了,但 Mathematica 支持输出到 HTML,因此可以看看能不能折腾出图形输出来。

还可以尝试比较重量级,但用户体验更好的交互方式:用户可以远程桌面到这台机器,只显示 Mathematica 所在窗口,每个浏览器 session 对应操作系统里临时用户的一个登录 session。可以参考 http://www.browserstack.com/

作为公共服务的话,有必要考虑性能问题,比如每个浏览器 session 对应一个 Mathematica 进程,如果一个人打开了多个浏览器窗口,内存可能被撑爆。如果搞个用户登录,就能限制每个用户一个进程,这样还有个额外的好处,不小心关掉浏览器后重新打开可以继续工作。所有用户在一个 Mathematica 进程里估计是不可行的,因为不同用户定义的变量会发生冲突,我不知道 Mathematica/Matlab 有没有“命名空间”。

如果是 CUDA 的话,可能得搞一个任务排队机制了(回到了大型机时代),因为 CUDA 对 GPU 是独占的,不可能在同一台机器上同时运行两个 CUDA 任务。

SJ Zhu

unread,
Jul 23, 2014, 12:41:46 AM7/23/14
to USTCLUG-Group
cluster上装一个作业调度系统,如TORQUE。
前端实现任务提交,把用户的计算任务提交到TORQUE的队列里
(我没用过TORQUE,不知道它本身有没有Web提交的方式,也不是很清楚有没有对任务资源限制的功能)

其实可以自己写一个像TORQUE这样的作业调度系统,然后操作是基于Web的,还能做到资源限制。

至于说 “利用matlab或者mma内置的那些集群运算功能” 又不和超算重复。不知道你是指什么?
是说写一个matlab或者mma的Web前端?然后用户在Web里就能使用matlab?
这个估计很难实现吧,matlab有类似接口一样的东西吗?否则就要用户运行一次,主机上启动一次matlab,那不是很耗时间吗?
用matlab和mma这样的商业软件,也不知道调用麻不麻烦。

SJ Zhu

unread,
Jul 23, 2014, 12:45:33 AM7/23/14
to USTCLUG-Group
CUDA这个估计好写,
coursera上有一门CUDA的课,我上了几天就没坚持了。。
不过他们实现了一个CUDA的计算平台,像ACM一样。
CUDA校内资源估计很难搞到,不过AWS不是有GPU集群吗?

XuHao3e8

unread,
Jul 23, 2014, 12:48:49 AM7/23/14
to ustc...@googlegroups.com
其实我的意思,mma和matlab都有远程连接集群功能…我们可以试试提供这种online的服务器,网页仅仅用来掉配资源。
比如mma的并行计算可以直接parallelize[...]然后会自动调远程节点。
而这个过程是系统无关的。我想我们是否可以实现这种东西。
因为给一个shell然后bsub排队这种玩意有超算
发自我的 iPhone
> --
> -- 来自USTC LUG
> 请使用gmail订阅,不要灌水。
> 更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/T-DgzG7rdI4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.

XuHao3e8

unread,
Jul 23, 2014, 12:49:31 AM7/23/14
to ustc...@googlegroups.com
cuda坑有点多…比如会挂的线程同步………其实写个项目就会了………

发自我的 iPhone
--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en

---
You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/T-DgzG7rdI4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.

XuHao3e8

unread,
Jul 23, 2014, 12:52:31 AM7/23/14
to ustc...@googlegroups.com
AWS 比较贵……

发自我的 iPhone

> 在 2014年7月23日,上午12:45,SJ Zhu <zsj9...@gmail.com> 写道:
>
> --
> -- 来自USTC LUG
> 请使用gmail订阅,不要灌水。
> 更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/T-DgzG7rdI4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.

yi lu

unread,
Jul 23, 2014, 12:55:24 AM7/23/14
to ustc...@googlegroups.com


You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.

XuHao3e8

unread,
Jul 23, 2014, 12:55:25 AM7/23/14
to ustc...@googlegroups.com
我的想法是…需要配下环境…然后控制下用户权限……访问时间和cpu调度优先级什么的

发自我的 iPhone

> 在 2014年7月23日,上午12:45,SJ Zhu <zsj9...@gmail.com> 写道:
>
> --
> -- 来自USTC LUG
> 请使用gmail订阅,不要灌水。
> 更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/T-DgzG7rdI4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.

XuHao3e8

unread,
Jul 23, 2014, 12:57:05 AM7/23/14
to ustc...@googlegroups.com
嗯是的…我就是意思我们提供此类的远程host供一些试验性需求使用

发自我的 iPhone

SJ Zhu

unread,
Jul 23, 2014, 1:00:38 AM7/23/14
to USTCLUG-Group
在 2014年7月23日 下午12:48,XuHao3e8 <xuha...@gmail.com> 写道:
> 其实我的意思,mma和matlab都有远程连接集群功能…我们可以试试提供这种online的服务器,网页仅仅用来掉配资源。

这个意思啊。
那这个实现起来就感觉很受限了。
以matlab为例,可以试试给每个用户建一个MJS(Matlab Job
Scheduler),通过MJS来限制每个用户能开的Worker数,这样间接地来限制用户能使用的计算资源。并且matlab有命令行命令来控制MJS,所以这个就与前端交互很方便了。
PS:貌似Matlab的Distributed Computing Server很贵啊。。。支持256个Worker的license要RMB1500啊

yi lu

unread,
Jul 23, 2014, 1:01:33 AM7/23/14
to ustc...@googlegroups.com
好厉害,你这个做出来一定会很有用。btw,那个日志里的内容是我尝试过的。

XuHao3e8

unread,
Jul 23, 2014, 1:02:39 AM7/23/14
to ustc...@googlegroups.com
嗯…版权会是一个…很大的问题。。。

发自我的 iPhone

XuHao3e8

unread,
Jul 23, 2014, 1:03:25 AM7/23/14
to ustc...@googlegroups.com
其实我刚刚申请了julia的开发邮件列表…确实是个好东西……………

发自我的 iPhone

XuHao3e8

unread,
Jul 23, 2014, 1:04:15 AM7/23/14
to ustc...@googlegroups.com
开源方面其实可以把py的科学工具一套做掉…直接用ipython的cluster

发自我的 iPhone

> 在 2014年7月23日,上午1:00,SJ Zhu <zsj9...@gmail.com> 写道:
>

XuHao3e8

unread,
Jul 23, 2014, 1:05:25 AM7/23/14
to ustc...@googlegroups.com
其实是我最近要给自己配个mma以及comsol remote 然后想是否可以大家一起用………cuda方面是真没有资源……

发自我的 iPhone

在 2014年7月23日,上午1:01,yi lu <zhiwudazh...@gmail.com> 写道:

XuHao3e8

unread,
Jul 23, 2014, 1:12:18 AM7/23/14
to ustc...@googlegroups.com
或者我就从python的调度开始?

发自我的 iPhone

在 2014年7月23日,上午12:41,SJ Zhu <zsj9...@gmail.com> 写道:

--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en

---
You received this message because you are subscribed to a topic in the Google Groups "USTC_LUG" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ustc_lug/T-DgzG7rdI4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ustc_lug+u...@googlegroups.com.

Bojie Li

unread,
Jul 23, 2014, 1:46:19 AM7/23/14
to USTC_LUG
计算任务在各个节点上打算如何分布?
1. 如果每个任务都只能运行在一个节点上,那就跟 “集群” 没什么关系,只要有个调度器 round robin(或者采用其他策略)把任务分配到某个节点就行了。
2. 如果每个任务都可以使用所有节点的资源,也就是可以通过编程语言的 parallel 等结构进行并行化:
2a) 所有任务都提交到集群中的一个主节点,主节点可以调用从节点(多数集群是这样的)
2b) 集群中的每个节点是对等的,任务调度到任一个节点,它可以调用所有其他节点(各节点负载均衡)
不管是 2a) 还是 2b),只要在每个节点上安装好并行计算软件和相关的库就行了吧。不过,gridMathematica 和 MATLAB Distributed Computing Server 似乎都是要单独购买的(我没用过),而且只支持 2a) 模型。相比之下,ipython 之类的可能容易折腾一些。


You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages