Welcome to my website!

I use this page to post articles related to technology topics, while the page Publications contains information about my past research on network optimization.

Time-scale separation principle

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”.

Read the rest

Posted in articles | Comments Off on Time-scale separation principle

Cloud Computing Lecture 4 – Network Slicing

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 di erent cloud locations on general purpose computing hardware, and trac can be steered among them remotely using Software De ned 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 de nition 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

 

Posted in articles | Comments Off on Cloud Computing Lecture 4 – Network Slicing

Cloud Computing Lecture 3 – Load Balancing

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

 

Posted in articles | Comments Off on Cloud Computing Lecture 3 – Load Balancing

Cloud Computing Lecture 2 – Resource Allocation and Fairness

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

 

Posted in articles | Tagged | Leave a comment

Cloud Computing Lecture 1 – Resource Planning

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

Posted in articles | Tagged | Leave a comment