Periodic Reporting for period 2 - FANC (A Faster Approach to Network Control) Reporting period: 2021-01-01 to 2021-12-31 Summary of the context and overall objectives of the project This project is about network control (NC) algorithms, a subclass of control algorithms used extensively in network resource allocation problems. In the last years, NC algorithms have been designed at the same pace as new services were available (e.g. video streaming, VoIP). However, the increasing complexity of data networks and the diversity of services offered are making NC algorithms slow and complicated to design, and as a result, less effective in practice. In this project, we want to move away from the slow and complex approach used nowadays in NC (i.e. making a new mathematical model and algorithm for each problem) and move towards a simpler, faster, and more accessible approach that is more effective in practice. Or, in short, a Faster Approach to Network Control (FANC). We will achieve this by combining mathematics and software. Specifically, we will (i) develop a unified theoretical framework that abstracts previous approaches in the literature, and (ii) design a software package that allows us to use the mathematical framework in a high-level or ‘black box’ approach. The software package will provide a simple language to describe/model new NC problems, and it will generate a software controller tailored to the specific problem. Work performed from the beginning of the project to the end of the period covered by the report and main results achieved so far The first version of the theoretical framework was published at the conference AISTATS 2020 and focused on online convex optimization problems. The technical tools developed in the paper (conjugate duality approach) are the foundations of the complete version of the theoretical framework, which we completed in May 2021. The final version of the framework improves upon previous work as it obtains optimal convergence rates for smooth and strongly convex functions and allows us to model multiple machine learning and networking applications easily. We showed the generality and simplicity of our framework with two timely applications (federated learning and finite-sum problems). The theoretical results can also be used for other applications developed during the action (e.g. maximum lifetime routing in IoT networks, online distributed analytics, and fast-scheduling for crossbar switches).We have developed a software package in Julia (Acceleration.jl) to solve machine learning and networking problems. The software package contains the new algorithm proposed in the unifying theoretical framework and other algorithms presented in previous work. The package works as follows. Users can load a problem included in the software package (e.g. support vector machine, federated learning) and then feed the problem to a first-order convex optimization algorithm. An advantage of our software package is that it can use multiple subroutines for computing gradients without changing the main algorithm. For example, in distributed learning problems, a user can choose a subroutine for computing gradients that reduces the communication overhead (i.e. the number of bits transmitted over a network).The list of applications published in individual articles is the following:- Maximum-lifetime IoT analytics.- Network Flow Optimization for Multi-Grade Service Chains. - Online Distributed Analytics at the Edge with Multiple Service Grades. - Measurement-driven Analysis of an Edge-Assisted Object Recognition System. - Dynamic Scheduling for IoT Analytics at the Edge. - Birkhoff's Decomposition Revisited: Sparse Scheduling for High-Speed Circuit Switches. - Model Pruning Enables Efficient Federated Learning on Edge Devices. Progress beyond the state of the art and expected potential impact (including the socio-economic impact and the wider societal implications of the project so far) The theoretical results are important for researchers working in control theory as they simplify existing approaches. In particular, our theoretical approach decouples the applications from the mathematical algorithm, and as a result, we can use the new algorithm to solve multiple control applications. The software package is relevant for practitioners who want to solve/model control problems but do not want to build algorithms from scratch for every application. With our approach, users only need to select an application, feed their data, and then our software package generates an optimized algorithm for solving the problem.