
NSF Org: |
CNS Division Of Computer and Network Systems |
Recipient: |
|
Initial Amendment Date: | September 18, 2014 |
Latest Amendment Date: | September 9, 2016 |
Award Number: | 1463126 |
Award Instrument: | Continuing Grant |
Program Manager: |
John Brassil
CNS Division Of Computer and Network Systems CSE Directorate for Computer and Information Science and Engineering |
Start Date: | October 1, 2014 |
End Date: | March 31, 2018 (Estimated) |
Total Intended Award Amount: | $344,901.00 |
Total Awarded Amount to Date: | $344,901.00 |
Funds Obligated to Date: |
FY 2014 = $97,669.00 FY 2015 = $95,659.00 FY 2016 = $99,341.00 |
History of Investigator: |
|
Recipient Sponsored Research Office: |
1109 GEDDES AVE STE 3300 ANN ARBOR MI US 48109-1015 (734)763-6438 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
MI US 48109-1274 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | Networking Technology and Syst |
Primary Program Source: |
01001314DB NSF RESEARCH & RELATED ACTIVIT 01001516DB NSF RESEARCH & RELATED ACTIVIT 01001415DB NSF RESEARCH & RELATED ACTIVIT |
Program Reference Code(s): |
|
Program Element Code(s): |
|
Award Agency Code: | 4900 |
Fund Agency Code: | 4900 |
Assistance Listing Number(s): | 47.070 |
ABSTRACT
The use of cloud computing services---services that host infrastructure on
which third-parties can run applications and store data---has skyrocketed in
the last few years. However, despite the growing number of cloud services, most
applications are deployed today on a single cloud service. This status quo has several
drawbacks---availability and performance offered by an application are limited
by the cloud service on which the application is deployed, and cost borne by
an application provider to meet performance goals is limited by the types and
pricing of resources offered by that service.
This research project will enable distributed applications to obtain better
availability and performance at lower cost by planning and managing application
deployments that span multiple cloud services. Recognizing the fact that different
components of an application have different characteristics, this project will
enable cost-effective multi-cloud deployments by matching the heterogeneity of
an application's components with the diversity of resources offered by
different cloud services. The research in this project involves three main
tasks---1) the development of algorithms to choose cost-effectively among the
myriad candidate configurations for deploying an application across cloud
services, 2) the design and implementation of a distributed measurement and
monitoring framework to dynamically reconfigure an application's deployment as
the state of cloud services and of the Internet change over time, and 3) the
development of tools and techniques that enable legacy applications
implemented for deployment on a single cloud service to be easily ported to
multi-cloud deployments. The research will involve significant
systems-building and experimentation with the proposed techniques applied to
deployments of popular applications on real cloud services.
Broader Impact:
In spite of the increasing popularity of cloud services, there remain several
concerns about their use. The algorithms and software systems developed as
part of this research may transform the ways in which application providers
use cloud services, thus easing concerns with respect to availability and
performance. The project also has a significant education component with the
introduction of new graduate and undergraduate classes, and public talks to
increase awareness about cloud services among small and non-profit businesses.
PROJECT OUTCOMES REPORT
Disclaimer
This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.
The goal of this project was to enable better performance, availability, and cost-effectiveness for web services deployed in the cloud. Specifically, our goal was to harness the benefits of spreading an application's deployment across the data centers of multiple cloud providers, as opposed to the default practice of using a single cloud provider.
Intellectual Merit:
The research contributions made in this project are primarily on three fronts.
First, we demonstrated that distributing an application's data across multiple cloud providers can offer better cost versus performance tradeoffs, than when using a single provider, for two reasons: 1) the union of data centers in multiple providers offers a greater geographical density of data centers, thereby requiring fewer copies of every data item to meet latency bounds or making previously infeasible latency bounds achievable, and 2) the discrepancies in pricing across providers, if exploited judiciously, can lead to significant cost savings without any performance penalties.
Second, by conducting a large-scale measurement study of popular cloud providers, Amazon Web Services and Microsoft Azure, we showed that there is significant latency variance when using their storage services, owing to the multi-tenant nature of these services. Our analysis of these measurements revealed that the variance in latencies stems from many sources: latency on Internet paths, latency within the data center network, and even latency within the storage service. Therefore, to cost-effectively overcome the latency variance inherent to cloud storage services, we showed that it is key to combine the use of multiple forms of redundancy (e.g., store copies of an object in multiple data centers and issue multiple requests to each copy). Utilizing multiple cloud providers proved to be key here so that, for an object stored in one data center, redundant requests can be issued to copies stored in a nearby data center from a different provider than a distant data center from the same provider.
Third, to make the benefits of multi-cloud storage accessible to a broad class of applications, we demonstrated how to enable globally consistent replication of data across data centers without requiring any support from applications or from cloud providers. Though multiple cloud providers have no incentive to sync data across each other's data centers, we showed that it is feasible to match the performance that would be feasible if there hypothetically existed a geo-distributed storage service that spans providers. Key to achieving this property was our redesign of existing protocols for executing reads and writes on replicated data without sacrificing data consistency. By accounting for the limited interface offered by cloud storage within each data center, our new replication protocol enables a client-side library to efficiently perform globally consistent accesses of data which is replicated across the data centers of multiple cloud providers.
Broader Impact:
The work done on this project formed the core of one PhD student's dissertation. The findings from this project have been communicated to the research community via several top-tier conference publications as well as to the industry via talks at cloud service providers such as Microsoft, Google, and Nutanix. Moreover, we have publicly shared several measurement datasets gathered as part of our work, so that other researchers can also benefit from our measurements.
The PI created a new undergraduate class on distributed systems at the University of Michigan. All of the lecture materials from this class have been posted on a public website for the benefit of students and instructors at other institutions. The PI also gave lectures on distributed computing at Big Data Summer Institutes organized at the University of Michigan.
Last Modified: 06/30/2018
Modified by: Harsha V Madhyastha
Please report errors in award information by writing to: awardsearch@nsf.gov.