Placement Strategies for Virtualized Network Functions in a NFaaS Cloud
Fourth IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb'16)
Enterprises that host services in the cloud need to protect their cloud resources using
network services such as firewalls and deep packet inspection systems. While middleboxes
have typically been used to implement such network functions in traditional enterprise networks,
their use in cloud environments by cloud tenants is problematic due to the boundary between
cloud providers and cloud tenants. Instead we argue that network function virtualization
is a natural fit in cloud environments, where the cloud provider can implement Network Functions
as a Service using virtualized network functions running on cloud servers,
and enterprise cloud tenants can employ these services to implement security
and performance optimizations for their cloud resources.
In this paper, we focus on placement issues in the design of a NFaaS cloud
and present two placement strategies---tenant-centric and service-centric---for deploying
virtualized network services in multi-tenant settings. We discuss several trade-offs of these two strategies.
We implement a prototype NFaaS testbed and conduct a series of experiments to show to quantify
the benefits and drawbacks of our two strategies.
Our results suggest that the tenant-centric placement provides lower latencies
while service-centric approach is more flexible for reconfiguration and capacity scaling.
Elastic Resource Management in Distributed Clouds
Ph.D. thesis, University of Massachusetts Amherst.
The ubiquitous nature of computing devices and their increasing reliance on remote
resources have driven and shaped public cloud platforms into unprecedented large-scale,
distributed data centers. Concurrently, a plethora of cloud-based applications are experiencing
multi-dimensional workload dynamics—workload volumes that vary along both
time and space axes and with higher frequency.
The interplay of diverse workload characteristics and distributed clouds raises several
key challenges for efficiently and dynamically managing server resources. First, current
cloud platforms impose certain restrictions that might hinder some resource management
tasks. Second, an application-agnostic approach might not entail appropriate performance
goals, therefore, requires numerous specific methods. Third, provisioning resources outside
LAN boundary might incur huge delay which would impact the desired agility.
In this dissertation, I investigate the above challenges and present the design of automated
systems that manage resources for various applications in distributed clouds. The
intermediate goal of these automated systems is to fully exploit potential benefits such as
reduced network latency offered by increasingly distributed server resources. The ultimate
goal is to improve end-to-end user response time with novel resource management
approaches, within a certain cost budget.
Centered around these two goals, I first investigate how to optimize the location and
performance of virtual machines in distributed clouds. I use virtual desktops, mostly serving
a single user, as an example use case for developing a black-box approach that ranks
virtual machines based on their dynamic latency requirements. Those with high latency
sensitivities have a higher priority of being placed or migrated to a cloud location closest
to their users. Next, I relax the assumption of well-provisioned virtual machines and
look at how to provision enough resources for applications that exhibit both temporal and
spatial workload fluctuations. I propose an application-agnostic queueing model that captures
the resource utilization and server response time. Building upon this model, I present
a geo-elastic provisioning approach—referred as geo-elasticity—for replicable multi-tier
applications that can spin up an appropriate amount of server resources in any cloud locations.
Last, I explore the benefits of providing geo-elasticity for database clouds, a popular
platform for hosting application backends. Performing geo-elastic provisioning for backend
database servers entails several challenges that are specific to database workload, and
therefore requires tailored solutions. In addition, cloud platforms offer resources at various
prices for different locations. Towards this end, I propose a cost-aware geo-elasticity that
combines a regression-based workload model and a queueing network capacity model for
In summary, hosting a diverse set of applications in an increasingly distributed cloud
makes it interesting and necessary to develop new, efficient and dynamic resource management
Flint: Batch-Interactive Data-Intensive Processing on Transient Servers
Procceedings of the Eleventh European Conference on Computer Systems (EuroSys'16)
Cloud providers now offer transient servers, which they may revoke at anytime, for significantly lower prices than on-demand servers, which they cannot revoke. Transient servers’ low price is particularly attractive for executing an emerging class of workload, which we call Batch-Interactive Data-Intensive (BIDI), that is becoming increasingly impor- tant for data analytics. BIDI workloads require large sets of servers to cache massive datasets in memory to enable low latency operation. In this paper, we illustrate the challenges of executing BIDI workloads on transient servers, where re- vocations (akin to failures) are the common case. To address these challenges, we design Flint, which is based on Spark and includes automated checkpointing and server selection policies that i) support batch and interactive applications and ii) dynamically adapt to application characteristics. We evaluate a prototype of Flint using EC2 spot instances, and show that it yields cost savings of up to 90% compared to using on-demand servers, while increasing running time by < 2%.
GeoScale: Providing Geo-Elasticity in Distributed Clouds
Proceedings of 2016 IEEE International Conference on Cloud Engineering (IC2E'16)
Distributed cloud platforms are well suited for serving a geographically diverse user base. However traditional cloud provisioning mechanisms that make local scaling decisions are not well suited for temporal and spatial workload fluctuations seen by modern web applications. In this paper, we argue the need of geo-elasticity and present GeoScale, a system to provide geo-elasticity in distributed clouds. We describe GeoScale’s model-driven proactive provisioning ap- proach and conduct an initial evaluation of GeoScale on Amazon’s distributed EC2 cloud. Our results show up to 31% improvement in the 95th percentile response time when compared to traditional elasticity techniques.
Analyzing the Efficiency of a Green University Data Center
Proceedings of 2016 ACM International Conference on Performance Engineering (ICPE'16)
Data centers are an indispensable part of today’s IT infrastructure.
To keep pace with modern computing needs, data centers continue
to grow in scale and consume increasing amounts of power. While
prior work on data centers has led to significant improvements in
their energy-efficiency, detailed measurements from these facilities’
operations are not widely available, as data center design is
often considered part of a company’s competitive advantage. However,
such detailed measurements are critical to the research community
in motivating and evaluating new energy-efficiency optimizations.
In this paper, we present a detailed analysis of a state-of-the-art
15MW green multi-tenant data center that incorporates
many of the technological advances used in commercial data centers.
We analyze the data center’s computing load and its impact on
power, water, and carbon usage using standard effectiveness metrics,
including PUE, WUE, and CUE. Our results reveal the benefits
of optimizations, such as free cooling, and provide insights
into how the various effectiveness metrics change with the seasons
and increasing capacity usage. More broadly, our PUE, WUE, and
CUE analysis validate the green design of this LEED Platinum data