Large scale distributed systems typically comprise hundreds to
millions of entities that have only a partial view of resources. How
to fairly and efficiently share such resources between entities in a
distributed way has thus become a critical question. A possible answer
resorts to Lagrangian optimization and distributed gradient
descent. Under certain conditions, the resource sharing problem can be
formulated as a global optimization problem, which can be solved by a
distributed self-stabilizing demand and response algorithm. In the
last decade, this technique has been applied to design network
protocols (variants of TCP, multi-path network protocols, wireless
network protocols) and even distributed algorithms for smart grids. In this talk,I will present the basics of this technique as well as the key underlying assumptions and its limitations.