如何进行两台计算机并行计算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何进行两台计算机并行计算相关的知识,希望对你有一定的参考价值。

如何进行两台计算机并行计算?

一、空间并行
这种方式就是将需要计算的内容按参数或解空间进行划分,每台机器执行一份数值空间的运算,这是两台机器就是空间并行计算。
举例:两台机器分段穷举一个Rar的解压密码,或者尝试另一台计算机的远程登录密码。
二、时间并行
这种方式比较复杂,需要有一台代理设备来进行负载均衡,这台代理主要就是分解请求,并将分解后的请求分为奇偶帧发送给不同的设备,最后再汇聚结果进行反馈,这是负责运算的两台计算设备就是时间并行计算。
举例:服务器集群处理数据库运算、大规模多媒体处理。其实,现在的显卡SLI级联技术,就相当于在一台计算机上,用多块显卡采取时间并行计算的方式完成显示渲染的,每块显卡都可以当作是一台完整的计算机。
更专业的解释请参考百度百科“并行计算”词条。
http://baike.baidu.com/link?url=meQLl7nf2vcpkzn7r3LJYb3l-7lpVGblPFjP1hj2IM3YeGmL9kgE8g_RrTol1hyUKNi8hNDRQsyo4HeL1n-qt_
参考技术A http://www.mdbbs.org/redirect.php?goto=findpost&pid=34324&ptid=6966

并行分两种,分布式内存和共享内存的.
1)多核属于共享内存,并行用openmp合适! 估计你linux 下的gcc版本应该够高,支持openmp.
要并行,就写并行程序openmp的吧! openmp好学易上手!

2)多台机器,那你就分布式内存了!只能用mpi了!
安装mpich,搭建个集群吧!安装步骤网上到处都是。
mpi程序你要费心了,自己划分数据,还要互相通信!
参考技术B 并行计算首先需要两台机器物理连接,然后找相应的软件做运行平台,然后利用并行算法编写你的程序,在你的运行平台上编译和运行你的程序就可以了

两台都不能上公网的Ubuntu如何进行时钟同步

在安装OpenStack过程中,先安装了控制节点,并安装(sudo apt-get install ntp)启动了ntp服务,同时配置sudo vi /etc/nova/nova.conf,增加如下内容实现以本地时钟为准:

当安装了计算节点后,计算节点如何与控制进行时钟同步,走了如下弯路,最后算是搞定了吧。

 

起先认为:计算节点最好不要安装ntp服务了,否则可能会出现与控制节点时钟不同步的情况,不同步会导致各种奇怪的问题。但如果安装了,可以用如下命令永久停止ntp服务:

sudo update-rc.d if ntp remove

并修改ntpdate文件:sudo vi /etc/network/if-up.d/netdate,注释掉:

#invoke-rc.d --quiet $service start >/dev/null 2>&1 || true

此时用重启系统后用service --status-all查看所有服务状态,就会发现ntp的状态从+变为-了。

此时计算节点就要主动配置同步控制节点的时钟,命令为:sudo ntpdate 10.47.182.53 (这个地址是控制节点的地址)

如果想让ntpdate定时执行,可以sudo crontab -e打开定时任务编辑,增加一行:

30 7 * * * /usr/sbin/ntpdate 10.47.182.53

表示每天730执行一次ntpdate。用crontab -l可以查看定时任务列表。

再次注意!!!

后来一想,本计算节点将ntp的上级服务指向控制节点不就可以了吗。于是重新安装了ntp服务,安装后发现没有随系统启动一起启动,于是安装sudo apt-get install sysv-rc-conf,然后通过命令sudo sysv-rc-conf ntp on,将ntp服务配置为自动启动,然后修改sudo vi /etc/ntp.conf,增加如下配置:

此时不断用date命令查看时间,就会发现正在自动平滑地(关键!)向控制节点的时间靠拢。同步状态也能看到:

当然,控制节点因为也不能连接外网同步公网上的ntp服务器,只能自动手工配置时间了,命令如下:

sudo date $mouth$day$hour$min$year.$second

: 现在时间为20181019115536, 则命令如下:

sudo date 101911552018.36

这个时间通常在系统重启后会被重置为之前硬件保存的时间, 所以还要使用如下指令修改硬件时间:

sudo hwclock --systohc

这样就成功修改了系统当前时间, 重启查看即可。

 

以上是关于如何进行两台计算机并行计算的主要内容,如果未能解决你的问题,请参考以下文章

python并行计算

如何玩转 WebGL 并行计算

如何在 Azure ML 服务计算集群上并行工作?

如何实现C语言的多处理器并行计算

对集合进行并行计算方法选择的建议:stream的并行流,CompletableFuture

如何在 fasta 文件中并行化计算,其中每个处理器采用一个序列