When we are mapping nodes to processors we work with ( ranges) of processors at each step, denoted [a, b]. So we begin with processors [1, n], where n is the total number of processors involved in the computation. We assume that we have a subdividing function Subsection(r, p, q) that divides r into q subsections and returns the pth. We also need another function Lastsection(r, p, q) , that divides r into q sub sections and returns the sections as one combined range. We assume that the directions in each level are numbered so that the directions that do not commute with any of the others are placed first. We take a path p and calculate which processor to allocate it to.