Principles and Practices of Interconnection Networks (The Morgan Kaufmann Series in Computer Architecture and Design)