1. A method of dividing a task amongst a plurality of nodes within a distributed computer, said method comprising: receiving requirements data indicating desired properties of a task group of nodes and interconnections between them, which properties lead to said task group being suited to said task or tasks of a similar type; calculating a task group topology in dependence upon said requirements data; and distributing said task amongst the plurality of nodes in accordance with the task group topology thus calculated.