下面是一个简单的方法来做到这一点。 P>
-
创建工作要做一个共同的共享队列。此应用程序 将填补这一队列的工作要做。 p> li>
-
创建一个从队列中获得一个项目,做的工作的应用程序。 p> li> OL>
这是单生产者多消费者的设计。它运作良好,可以与并行进程淹没你的机器。 P>
要使用内置的队列类,你需要用队列在某种 多处理的API。 http://docs.python.org/library/queue.html 。就个人而言,我喜欢创建一个小的基于HTTP的Web服务器处理队列中。每个应用程序都做了 GET获取下一个作品。 P>
您可以使用工具,如RabbitMQ的创造一个非常好的共享队列。 http://nathanborror.com/posts/2009/may/20/working-django-and-rabbitmq/
您可能能够使用http://hjb.python-hosting.com/ 尽量使用JMS队列 p>
您将需要一个小的应用程序创建和使用的工作填补了队列中。 P>
只要你喜欢,创建应用程序的多个副本。例如: P>
这将运行应用程序的10个并发拷贝。所有10个正在试图从一个单一的队列中取得的工作。他们将使用所有可用的CPU资源,操作系统将很好地安排它们。 P>
同伴,节点到节点同步装置必须为O(n *(N-1)/ 2)中的所有节点之间的通信路径。 P>
“两相邻节点”是指你还有2 * N通信路径和工作一直以“某种方式”在节点间细流。如果节点都与最初播种工作,后来有人做了很多的规划来平衡工作负载。如果你打算做多少规划,为什么要问这些节点在所有同步? P>
如果该队列不小心平衡开始与超过每连节点可以是缓慢的。每个奇数节点可能要快。奇数节点完成第一,从两个节点连检查工作,并在这些节点是(a)没有做过和(b)没有更多的工作要做,无论是。现在怎么办?一半节点在工作,一半是闲置的。所有因工作在初次分配计划不周。 P>
主从意味着你有n个通讯路径。此外,均衡是自动的,因为所有的空闲节点都有工作的平等机会。有一个偏初次分配中没有这样的事,导致整体性能下降。 P>
使用多处理模块 P>