This paper solves the joint power control and SIR assignment problem through distributed algorithms in the uplink of multi-cellular wireless networks. The 1993 Foschini-Miljanic distributed power control can attain a given fixed and feasible SIR target. In data networks, however, SIR needs to be jointly optimized with transmit powers in wireless data networks. In the vast research literature since the mid-1990s, solutions to this joint optimization problem are either distributed but suboptimal, or optimal but centralized. For convex formulations of this problem, we report a distributed and optimal algorithm. The main issue that has been the research bottleneck is the complicated, coupled constraint set, and we resolve it through a re-parametrization via the left Perron Frobenius eigenvectors, followed by development of a locally computable ascent direction. A key step is a new characterization of the feasible SIR region in terms of the loads on the base stations, and an indication of the potential interference from mobile stations, which we term spillage. Based on this load-spillage characterization, we first develop a distributed algorithm that can achieve any Pareto-optimal SIR assignment, then a distributed algorithm that picks out a particular Pareto-optimal SIR assignment and the associated powers through utility maximization. Extensions to power-constrained and interference-constrained cases are carried out. The algorithms are theoretically sound and practically implementable: we present convergence and optimality proofs as well as simulations using 3GPP network and path loss models.