Section: New Results
Energy and Network Optimization
This section describes four contributions on energy and network optimization.

One of the key challenges in Internet of Things (IoT) networks is to connect many different types of autonomous devices while reducing their individual power consumption. This problem is exacerbated by two main factors: first, the fact that these devices operate in and give rise to a highly dynamic and unpredictable environment where existing solutions (e.g., waterfilling algorithms) are no longer relevant; and second, the lack of sufficient information at the device end. To address these issues, we propose a regretbased formulation that accounts for arbitrary network dynamics: this allows us to derive an online power control scheme that is provably capable of adapting to such changes, while relying solely on strictly causal feedback. In so doing, we identify an important tradeoff between the amount of feedback available at the transmitter side and the resulting system performance: if the device has access to unbiased gradient observations, the algorithm's regret after $T$ stages is $O\left({T}^{1/2}\right)$ (up to logarithmic factors); on the other hand, if the device only has access to scalar, utilitybased information, this decay rate drops to $O\left({T}^{1/4}\right)$. The above is validated by an extensive suite of numerical simulations in realistic channel conditions, which clearly exhibit the gains of the proposed online approach over traditional waterfilling methods. This contribution appeared in [11].

Many businesses possess a small infrastructure that they can use for their computing tasks, but also often buy extra computing resources from clouds. Cloud vendors such as Amazon EC2 offer two types of purchase options: ondemand and spot instances. As tenants have limited budgets to satisfy their computing needs, it is crucial for them to determine how to purchase different options and utilize them (in addition to possible selfowned instances) in a costeffective manner while respecting their responsetime targets. In this paper, we propose a framework to design policies to allocate selfowned, ondemand and spot instances to arriving jobs. In particular, we propose a nearoptimal policy to determine the number of selfowned instances and an optimal policy to determine the number of ondemand instances to buy and the number of spot instances to bid for at each time unit. Our policies rely on a small number of parameters and we use an online learning technique to infer their optimal values. Through numerical simulations, we show the effectiveness of our proposed policies, in particular that they achieve a cost reduction of up to 64.51% when spot and ondemand instances are considered and of up to 43.74% when selfowned instances are considered, compared to previously proposed or intuitive policies. This contribution appeared in [13].

In [22], we consider the classical problem of minimizing offline the total energy consumption required to execute a set of n realtime jobs on a single processor with varying speed. Each realtime job is defined by its release time, size, and deadline (all integers). The goal is to find a sequence of processor speeds, chosen among a finite set of available speeds, such that no job misses its deadline and the energy consumption is minimal. Such a sequence is called an optimal speed schedule. We propose a linear time algorithm that checks the schedulability of the given set of n jobs and computes an optimal speed schedule. The time complexity of our algorithm is in $O(n$), to be compared with $O(nlog(n\left)\right)$ for the best known solutions. Besides the complexity gain, the main interest of our algorithm is that it is based on a completely different idea: instead of computing the critical intervals, it sweeps the set of jobs and uses a dynamic programming approach to compute an optimal speed schedule. Our linear time algorithm is still valid (with some changes) with an arbitrary power function (not necessarily convex) and arbitrary switching times

Network utility maximization (NUM) is an iconic problem in network traffic management which is at the core of many current and emerging network design paradigms  and, in particular, softwaredefined networks (SDNs). Thus, given the exponential growth of modernday networks (in both size and complexity), it is crucial to develop scalable algorithmic tools that are capable of providing efficient solutions in time which is dimensionfree, i.e., independentor nearlyindependenton the size of the system. To do so, we leverage a suite of modified gradient methods known as “mirror descent” and we derive a scalable and efficient algorithm for the NUM problem based on gradient exponentiation. We show that the convergence speed of the proposed algorithm only carries a logarithmic dependence on the size of the network, so it can be implemented reliably and efficiently in massively large networks where traditional gradient methods are prohibitively slow. These theoretical results are subsequently validated by extensive numerical simulations showing an improvement of several order of magnitudes over standard gradient methods in largescale networks. This contribution appeared in [31].

In the DNS resolution process, packet losses and ensuing retransmission timeouts induce marked latencies: the current UDPbased resolution process takes up to 5 seconds to detect a loss event. In [24], [24], we find that persistent DNS connections based on TCP or TLS can provide an elegant solution to this problem. With controlled experiments on a testbed, we show that persistent DNS connections significantly reduces worstcase latency. We then leverage a largescale platform to study the performance impact of TCP/TLS on recursive resolvers. We find that offtheshelf software and reasonably powerful hardware can effectively provide recursive DNS service over TCP and TLS, with a manageable performance hit compared to UDP.