I will assume you work on an OpenFlow-based network.
An OpenFlow switch can connect to multiple controllers and a controller can be in one of three possible states regarding the control of a switch: equal, master, and slave. A switch can have multiple controllers in an equal state, but only one controller in the master state (the other controllers will automatically fallback to the slave state).
You can start your research by searching for SDN controller load balancing and partitioning on Google Scholar and Scopus.
Mininet and docker will become your best friends. With these tools, you can build complex topologies without the need for expensive hardware equipment or real testbeds.