A masterless approach binds multiprocessor building blocks to partitions of a
computer
system using identifiers and indicators. A number of building blocks communicate
among each other to determine a partition to which each building block is to be
partitioned. For each unique partition to which one or more of the building blocks
is to be partitioned, the building blocks communicate among each other to determine
building block uniqueness, and then each of the building blocks joins the partition.
The building blocks share with one another their logical port identifiers, which
uniquely identify the building block within a partition. A commit indicator of
each building block indicates that the building block has committed itself to the
partition and that its identifiers cannot be changed. A partition protect indicator
is set by one building block of a partition, preventing changes to the commit indicators
of other building blocks wishing to join the partition except by that one building
block, effectively protecting the partition. Building block protect indicators
protect the building blocks themselves.