标签:可靠性 ip line new MPI IP 设计 mpiuser maxnode
导入库函数
import subprocess import numpy as np import os
同步每个节点暂停状态
n = 100 array=np.load('zong.npy') flag= array[-1][0:2] flag1 = int(flag[0]) flag2 = int(flag[1]) def bijiao(): maxflag=-100 maxnode=-1 for line in open("cpu_ip.txt"): line = line.replace("\n", '') IP.append(line) for ip in IP: if (subprocess.call('timeout 5s ping ' + ip + ' -c3', shell=True)): # 执行成功返回0 ping不通的执行 rmip.append(ip) else: os.system('scp mpiuser@'+str(ip)+':/home/mpiuser/mpii/zong.npy /home/mpiuser/chaxun.npy') a=np.load('/home/mpiuser/chaxun.npy') f = a[-1][0:2] b=f[1] #dangqianxunhuancishu if b>maxflag: maxflag=b maxnode=ip continue return maxflag,maxnode
确定节点当前状态并继续运算
while(flag2 < flag1): IP = [] # cpu_ip rmip = [] # 要删除的IP for line in open("cpu_ip.txt"): line = line.replace("\n", '') IP.append(line) for ip in IP: if (subprocess.call('timeout 5s ping ' + ip + ' -c3', shell=True)): # 执行成功返回0 ping不通的执行 rmip.append(ip) else: continue # 修改节点的进程数 pro_sum = flag1**2 + 1 # 总进程数 new_IP = [] for i in range(len(IP)): if (IP[i] not in rmip): new_IP.append([IP[i],0]) left_sum = pro_sum while left_sum >= len(new_IP): left_sum -= len(new_IP) for i in range(len(new_IP)): new_IP[i][1] += 1 if left_sum > 0: for i in range(left_sum): new_IP[i][1] += 1 f = open("mpi_config.txt", "w") print("open") for i in range(len(new_IP)): f.write("{}:{}\n".format(new_IP[i][0], new_IP[i][1])) f.close() maxflag,maxnode=bijiao() print('maxflag',maxflag) print('maxnode', maxnode) os.system('scp mpiuser@' + str(maxnode) + ':/home/mpiuser/mpii/zong.npy /home/mpiuser/mpii/') # kaobei for ip in IP: if ip not in rmip: if ip != maxnode: os.system('scp /home/mpiuser/mpii/zong.npy mpiuser@' + str(ip) + ':/home/mpiuser/mpii/zong.npy ') #faguoqu if (os.system("mpiexec -n 17 -f mpi_config.txt python3 mpi_helloworld.py")): print("unsuccess!restart!") array = np.load('zong.npy') flag = array[-1][0:2] flag1 = int(flag[0]) flag2 = int(flag[1]) else: print("success!") break
标签:可靠性,ip,line,new,MPI,IP,设计,mpiuser,maxnode 来源: https://www.cnblogs.com/shi-yi/p/16247414.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。