I use this page to post articles related to technology topics, while the page Publications contains information about my past research on network optimization.
In engineering systems often is the case that considering together two different domains of choice (like the scheduling and the routing of packets in the Internet) allows to extend the capabilities and unlock performance potential. Yet, in many systems this is thoroughly avoided, and the reason could be the principle of “time-scale separation”.
In cloud computing we have pools of computing, memory, and network resources and we desire to allocate them to users in order to build applications. A generic way to allocate resources is by designing virtual networks, called slices, which are built by resource units from the available pools. For example, network functionality like rewalls, caches, and authentication can be performed by software middleboxes, called Virtual Network Functions (VNFs). The VNFs can run at dierent cloud locations on general purpose computing hardware, and trac can be steered among them remotely using Software Dened Networks (SDN). Combining these two enabling technologies, VNFs and SDN, it becomes possible to launch applications when-and-where, satisfying diverse and demanding requirements, in the form of network slices. In this lecture we give the denition of the Virtual Network Embedding problem, which can be used to determine the optimal resource allocation for virtual networks. We also provide a proof of the complexity of this problem in the case of splittable flows. Lecture Notes: Lecture Notes part 4 Lecture Slides: Lecture Slides part 4
This lecture focuses on “Load Balancing”: jobs arrive at a cloud computing system, and we must select for each one an available server. What are the best practices for routing these jobs? Three methodologies are analyzed (i) snapshot optimization using minimum makespan, (ii) dynamic policies for routing jobs, and (iii) the “power of 2 choices” approach. Lecture Notes: Lecture Notes part 3 Lecture Slides: Lecture Slides part 3
In this lecture, we examine the problem of “resource allocation and fairness”, choosing how to share finite resources among K users. Specifically, we go through (i) the welfare maximization problem, (ii) max-min fairness, proportional fairness and alpha fairness, and (iii) dominant resource fairness. Lecture Notes: Lecture Notes part 2 Lecture Slides: Lecture Slides part 2
In this lecture, we examine the problem of “resource planning”, reserving resources for unknown demand, a very common problem encountered in cloud computing and data centers. Specifically, we go through (i) the newsvendor model, (ii) stochastic planning to a demand forecast, and (iii) elastic planning using the framework of Online Convex Optimization. Lecture Notes: Lecture Notes part 1 Lecture Slides: Lecture Slides Part 1