我需要在不同的机器上并行运行 MonteCarlo 模拟。代码是用 c++ 编写的,但程序是使用 python 脚本设置和启动的,该脚本设置了很多东西,尤其是随机种子。函数 setseed 是一个 4 字节的无符号整数
使用一个简单的
import time
setseed(int(time.time()))
不是很好,因为我将作业提交到集群上的队列,它们保持等待几分钟然后它们开始,但是开始时间是不可预测的,可能是两个作业同时开始(秒),所以我切换到:
setseet(int(time.time()*100))
但我不开心。什么是最好的解决方案?也许我可以结合以下信息:时间、机器 ID、进程 ID。或者也许最好的解决方案是从 /dev/random (linux机器)读取?
如何从 /dev/random 读取 4 个字节?
f = open("/dev/random","rb")
f.read(4)
给我一个字符串,我要一个整数!