Zero Assignment Parallel Processor. A virtual tree machine architecture in which a process tree is dynamically mapped onto a fixed, strongly connected network of processors communicating by message passing. The basic operation of each node is to apply a divide and conquer function which takes four arguments: (1) a function ' primitive' which takes a problem description (PD) and returns true if it can be solved without division, (2) a function ' solve' which takes a primitive PD and returns its solution, (3) a function ' divide' which takes a PD and returns a list of PDs of smaller problems and (4) a function ' combine' which returns the solution to a problem by combining a list of solutions of subproblems. each node has a copy of the code and one is given the initial problem description. Task distribution is by process stealing in which a process constructs a descriptor for each subtask and idle (lightly loaded) processors can steal a descriptor from a physically connected neighbour.