Networks are populated with computing and storage resources. Following the trend of virtualization, those are mainly multi-tenant environments, in which various applications share the resources. In addition, applications have different, sometimes conflicting optimization goals that need to be considered when resources are allocated to them.
Allocation & placement. Resources are inherently constrained and therefore intelligent strategies for their allocation are required. Placing operators (i.e. functional parts) is an inherently complex program, in view of the heterogeneity of resources and applications. We develop heuristics to make this placement problem more tractable.
Transition. Many applications (e.g., where mobility is involved) require migrating computing resources (e.g. to maintain SLA constraints). Those migrations are challenging for a number of reasons. First, migrations entail an overhead due to, e.g., state transfer. Second, especially in highly dynamic environments like Edge Computing, we lack established cost and network models as the basis for global migration decisions. In view of these deficiencies, we develop local migration strategies that use reinforcement learning to adapt to uncertainties.