{"title":"构建可靠的存储云:模型、基本权衡和解决方案","authors":"U. Kozat, Guanfeng Liang","doi":"10.1561/1300000051","DOIUrl":null,"url":null,"abstract":"Distributed storage has been an active research area for decades. With the proliferation of cloud computing, there has been a rejuvenated interest in two perspectives. The first perspective is seen through the lenses of the cloud providers: how should we build global storage services for cloud hosted services and applications at scale with high reliability and availability guarantees, but also in a cost effective way? The second perspective is seen through the lenses of the service providers that utilize public clouds: how can we achieve high I/O performance over cloud storage within a cost budget? In this manuscript, we first present various kinds of distributed storage systems, their operational characteristics and the key techniques to improve their performance. We then focus on cloud storage, exclusively. Cloud storage has massive scales with the promise to provide as much storage capacity as their tenants demand. Cloud providers also promise very high durability, availability, and I/O performance. In this context, we cover the fundamental tradeoffs between storage efficiency and network bandwidth as well as I/O throughput and latency. Erasure codes play an essential role in these tradeoffs and, thus, we also present their design and usage in the context of cloud storage broadly. We pay particular attention on various queuing models and the corresponding performance analysis in the presence of coded storage. We provide exact and approximate solutions under various settings and assumptions. We describe optimal or near-optimal scheduling and coding strategies that are established based on these analyses.","PeriodicalId":188056,"journal":{"name":"Found. Trends Netw.","volume":"16 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Building Reliable Storage Clouds: Models, Fundamental Tradeoffs, and Solutions\",\"authors\":\"U. Kozat, Guanfeng Liang\",\"doi\":\"10.1561/1300000051\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Distributed storage has been an active research area for decades. With the proliferation of cloud computing, there has been a rejuvenated interest in two perspectives. The first perspective is seen through the lenses of the cloud providers: how should we build global storage services for cloud hosted services and applications at scale with high reliability and availability guarantees, but also in a cost effective way? The second perspective is seen through the lenses of the service providers that utilize public clouds: how can we achieve high I/O performance over cloud storage within a cost budget? In this manuscript, we first present various kinds of distributed storage systems, their operational characteristics and the key techniques to improve their performance. We then focus on cloud storage, exclusively. Cloud storage has massive scales with the promise to provide as much storage capacity as their tenants demand. Cloud providers also promise very high durability, availability, and I/O performance. In this context, we cover the fundamental tradeoffs between storage efficiency and network bandwidth as well as I/O throughput and latency. Erasure codes play an essential role in these tradeoffs and, thus, we also present their design and usage in the context of cloud storage broadly. We pay particular attention on various queuing models and the corresponding performance analysis in the presence of coded storage. We provide exact and approximate solutions under various settings and assumptions. We describe optimal or near-optimal scheduling and coding strategies that are established based on these analyses.\",\"PeriodicalId\":188056,\"journal\":{\"name\":\"Found. Trends Netw.\",\"volume\":\"16 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-10-31\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Found. Trends Netw.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1561/1300000051\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Found. Trends Netw.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1561/1300000051","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Building Reliable Storage Clouds: Models, Fundamental Tradeoffs, and Solutions
Distributed storage has been an active research area for decades. With the proliferation of cloud computing, there has been a rejuvenated interest in two perspectives. The first perspective is seen through the lenses of the cloud providers: how should we build global storage services for cloud hosted services and applications at scale with high reliability and availability guarantees, but also in a cost effective way? The second perspective is seen through the lenses of the service providers that utilize public clouds: how can we achieve high I/O performance over cloud storage within a cost budget? In this manuscript, we first present various kinds of distributed storage systems, their operational characteristics and the key techniques to improve their performance. We then focus on cloud storage, exclusively. Cloud storage has massive scales with the promise to provide as much storage capacity as their tenants demand. Cloud providers also promise very high durability, availability, and I/O performance. In this context, we cover the fundamental tradeoffs between storage efficiency and network bandwidth as well as I/O throughput and latency. Erasure codes play an essential role in these tradeoffs and, thus, we also present their design and usage in the context of cloud storage broadly. We pay particular attention on various queuing models and the corresponding performance analysis in the presence of coded storage. We provide exact and approximate solutions under various settings and assumptions. We describe optimal or near-optimal scheduling and coding strategies that are established based on these analyses.