  Demand-aware communication networks are networks whose topology is optimized
toward the traffic they need to serve. These networks have recently been
enabled by novel optical communication technologies and are investigated
intensively in the context of datacenters. In this work, we consider networks
with one of the most common topologies~ -- a binary tree.
  We show that finding an optimal demand-aware binary tree network is NP-hard.
Then, we propose optimization algorithms that generate efficient binary tree
networks on real-life and synthetic workloads.
