With the increasing penetration of renewable energy resources, power systems face new challenges in power balancing and maintaining nominal frequency. This paper studies load control to handle these challenges. In particular, we propose a fully distributed automatic load control algorithm where only local measurements and local communication are needed. We prove that the control algorithm globally converges to an optimal operating point where users' disutility is minimized, nominal frequency is restored, tie-line power flow is maintained, and line thermal constraints are satisfied. We show that the convergence still holds even with inaccurate system parameters used in the control algorithm. Lastly, the effectiveness and optimality of the algorithm are demonstrated via numerical simulations.