Abstract-One grand challenge in Software Defined Networking (SDN) is to select appropriate locations for controllers to shorten the latency between controllers and switches in wide area networks. In the literature, the majority of approaches are focused on the reduction of packet propagation latency, but propagation latency is only one of the contributors of the overall latency between controllers and their associated switches. In this paper, we explore and investigate more possible contributors of the latency, including the end-to-end latency and the queuing latency of controllers. In order to decrease the end-to-end latency, the concept of network partition is introduced and a Clustering-based Network Partition Algorithm (CNPA) is then proposed to partition the network. The CNPA can guarantee that each partition is able to shorten the maximum end-to-end latency between controllers and switches. To further decrease the queuing latency of controllers, appropriate multiple controllers are then placed in the subnetworks. Extensive simulations are conducted under two real network topologies from the Internet Topology Zoo. The results verify that the proposed algorithm can remarkably reduce the maximum latency between controllers and their associated switches.