Combined Network and Compute Optimization

Cloud Computing, networked applications, software as a service (SaaS), Platform as a service (PaaS), and Infrastructure as a Service (IaaS), are just a few of the terms used to describe situations where multiple computation entities interact with one another across a network. Such "networked applications", used between a consumer and a data center, or those running in, or between multiple data centers make use of both compute and network resources. Individually or in aggregate these applications can use significant amounts of network and compute resources incurring costs and running up against resource capacity constraints. Hence, significant cost and utilization gains may be achievable via optimal configuration and control of such services.

Why is this problem challenging and interesting? First of all many different entities may be involved with the delivery of a networked application. In the figure below we can see several of these including:

  • Application provider
  • Data center provider
  • Network Provider
  • Cross Stratum Optimizer (Global Load Balancer, Scheduler, etc...)

Each of these could be owned or operated by different business or organizational entities. This can significantly impact the willingness of an entity to share information useful for cross stratum optimization. Hence one of the key areas we have researched into is that of the efficiency and information hiding aspects of interface between the network and the optimizing entity --shown as the Network as a Service (NaaS) interface in the above figure --.

The second reason network/compute optimization is challenging is the theoretically difficult nature of the resulting optimization problems. We say "theoretically hard" since advances in optimization techniques have lead to very good solutions to such problems. In the following pages we provide an overview of network/compute optimization by looking first at specific examples of network/compute optimization: (a) Video on demand delivery, and (b) scheduled remote backup, discuss some related general network optimization techniques, and mention network visualization technologies. A pdf document with much of this content along with considerations for standards is available here.

Please note that this is a work in progress and we will be updating these pages as time allows and questions or comments come in. The section on graph visualization requires a modern browser for SVG rendering, further sections utilize JavaScript for display and interaction with the network graphs.