因此,我正在研究云上的负载平衡,其中我将有多个任务或cloudlet,它们将在不同的vm上运行。我创建了Cloudlet,如下所示:
cloudlets = {}
cloudlets_no = 400
a = ""
for x in range(cloudlets_no):
a = "cloudlet_id_{}".format(x)
cloudlets[a] = 1000 + (random.randint(0,100))
sorted_keys = []
sorted_cloudlets = sorted(cloudlets, key=cloudlets.__getitem__)
for k in sorted_cloudlets:
sorted_keys.append(k)
print "{} : {}".format(k, cloudlets[k])
现在要在虚拟机(最初是单个虚拟机)上执行这些任务
start = time.time()
for x in sorted_keys:
rem = cloudlets[x]
while rem != 0:
rem -= 1
end = time.time()
现在的问题是我想创建多个vm,我想同时运行它们,这就是为什么我需要同时运行多个循环。有什么方法可以实现这一点或任何其他可能的解决办法。你知道吗
感谢您的帮助。你知道吗
您要研究的“常规”主题领域是线程。你知道吗
线程允许您的代码分支,并同时运行多组指令。这是一个需要详细讨论的复杂主题,但基本思想是每个处理线程都是独立运行的,并且与其他线程同时运行(您的操作系统负责如何在硬件上实际实现这一点)。你知道吗
在python中,负责线程的主要模块有:
线程-https://docs.python.org/2/library/threading.html#module-threading
多处理-https://docs.python.org/2/library/multiprocessing.html#module-multiprocessing
当然这里有太多的东西要提,但希望有足够的关键字在这个答案,让你开始研究。你知道吗
相关问题 更多 >
编程相关推荐