An apparatus, comprising: a plurality of processors; and a plurality of configurable communication elements coupled to the plurality of processors in an interspersed arrangement, wherein each configurable communication element of the plurality of configurable communication elements includes: a local memory coupled to a subset of the plurality of processors; and a plurality of routing engines, wherein each routing engine of the plurality of routing engines is configured to: receive one or more messages from a plurality of sources, wherein each message of the one or more messages includes one or more data words; assign each message of the one or more messages to a given destination of a plurality of destinations dependent upon configuration information; forward each message of the one or more messages to the destination assigned to the message; wherein the plurality of destinations includes: the local memory; and a set of routing engines comprising the plurality of routing engines included in a first subset of the plurality of configurable communication elements, wherein the set of routing engines comprises: a first subset of routing engines coupled to the routing engine via links in a first layer of an interconnection network; and a second subset of routing engines coupled to the routing engine via links in a second layer of the interconnection network; wherein the links in the first layer are separate and distinct from the links in the second layer. a plurality of processors; and a plurality of configurable communication elements coupled to the plurality of processors in an interspersed arrangement, wherein each configurable communication element of the plurality of configurable communication elements includes: a local memory coupled to a subset of the plurality of processors; and a plurality of routing engines, wherein each routing engine of the plurality of routing engines is configured to: receive one or more messages from a plurality of sources, wherein each message of the one or more messages includes one or more data words; assign each message of the one or more messages to a given destination of a plurality of destinations dependent upon configuration information; forward each message of the one or more messages to the destination assigned to the message; wherein the plurality of destinations includes: the local memory; and a set of routing engines comprising the plurality of routing engines included in a first subset of the plurality of configurable communication elements, wherein the set of routing engines comprises: a first subset of routing engines coupled to the routing engine via links in a first layer of an interconnection network; and a second subset of routing engines coupled to the routing engine via links in a second layer of the interconnection network; wherein the links in the first layer are separate and distinct from the links in the second layer. a local memory coupled to a subset of the plurality of processors; and a plurality of routing engines, wherein each routing engine of the plurality of routing engines is configured to: receive one or more messages from a plurality of sources, wherein each message of the one or more messages includes one or more data words; assign each message of the one or more messages to a given destination of a plurality of destinations dependent upon configuration information; forward each message of the one or more messages to the destination assigned to the message; receive one or more messages from a plurality of sources, wherein each message of the one or more messages includes one or more data words; assign each message of the one or more messages to a given destination of a plurality of destinations dependent upon configuration information; forward each message of the one or more messages to the destination assigned to the message; wherein the plurality of destinations includes: the local memory; and a set of routing engines comprising the plurality of routing engines included in a first subset of the plurality of configurable communication elements, wherein the set of routing engines comprises: a first subset of routing engines coupled to the routing engine via links in a first layer of an interconnection network; and a second subset of routing engines coupled to the routing engine via links in a second layer of the interconnection network; wherein the links in the first layer are separate and distinct from the links in the second layer. the local memory; and a set of routing engines comprising the plurality of routing engines included in a first subset of the plurality of configurable communication elements, wherein the set of routing engines comprises: a first subset of routing engines coupled to the routing engine via links in a first layer of an interconnection network; and a second subset of routing engines coupled to the routing engine via links in a second layer of the interconnection network; wherein the links in the first layer are separate and distinct from the links in the second layer. a first subset of routing engines coupled to the routing engine via links in a first layer of an interconnection network; and a second subset of routing engines coupled to the routing engine via links in a second layer of the interconnection network; wherein the links in the first layer are separate and distinct from the links in the second layer.