Allocating Irregular Partitions in Mesh-Based On-Chip Networks