{"title":"将计算迁移到分布式内存缓存","authors":"Adam Schaub, Michael F. Spear","doi":"10.1145/2955193.2955202","DOIUrl":null,"url":null,"abstract":"Memcached and other in-memory distributed key-value stores play a critical role in large-scale web applications, by reducing traffic to persistent storage and providing an easy-to-access look-aside cache in which programmers can store arbitrary data. These caches typically have a narrow interface, consisting only of gets, sets, and compare-and-set. In the worst case, this interface can cause significant inefficiencies as clients get large data items, perform small changes, and then set the updated items back into the cache.\n We extend memcached to allow clients to execute code directly in the cache. An idealized evaluation on micro-benchmarks based on workload traces from a Cable/Internet service provider shows compelling performance, leading to a recommendation that further research be conducted to make in-cache fetch-and-phi safe and programmer-friendly, and that researchers consider whether a truly distributed cloud platform should make it easier for programmers to execute custom code at all levels of the software stack.","PeriodicalId":91161,"journal":{"name":"Proceedings. Data Compression Conference","volume":"28 1","pages":"10:1-10:6"},"PeriodicalIF":0.0000,"publicationDate":"2016-07-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Towards migrating computation to distributed memory caches\",\"authors\":\"Adam Schaub, Michael F. Spear\",\"doi\":\"10.1145/2955193.2955202\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Memcached and other in-memory distributed key-value stores play a critical role in large-scale web applications, by reducing traffic to persistent storage and providing an easy-to-access look-aside cache in which programmers can store arbitrary data. These caches typically have a narrow interface, consisting only of gets, sets, and compare-and-set. In the worst case, this interface can cause significant inefficiencies as clients get large data items, perform small changes, and then set the updated items back into the cache.\\n We extend memcached to allow clients to execute code directly in the cache. An idealized evaluation on micro-benchmarks based on workload traces from a Cable/Internet service provider shows compelling performance, leading to a recommendation that further research be conducted to make in-cache fetch-and-phi safe and programmer-friendly, and that researchers consider whether a truly distributed cloud platform should make it easier for programmers to execute custom code at all levels of the software stack.\",\"PeriodicalId\":91161,\"journal\":{\"name\":\"Proceedings. Data Compression Conference\",\"volume\":\"28 1\",\"pages\":\"10:1-10:6\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-07-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings. Data Compression Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2955193.2955202\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. Data Compression Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2955193.2955202","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards migrating computation to distributed memory caches
Memcached and other in-memory distributed key-value stores play a critical role in large-scale web applications, by reducing traffic to persistent storage and providing an easy-to-access look-aside cache in which programmers can store arbitrary data. These caches typically have a narrow interface, consisting only of gets, sets, and compare-and-set. In the worst case, this interface can cause significant inefficiencies as clients get large data items, perform small changes, and then set the updated items back into the cache.
We extend memcached to allow clients to execute code directly in the cache. An idealized evaluation on micro-benchmarks based on workload traces from a Cable/Internet service provider shows compelling performance, leading to a recommendation that further research be conducted to make in-cache fetch-and-phi safe and programmer-friendly, and that researchers consider whether a truly distributed cloud platform should make it easier for programmers to execute custom code at all levels of the software stack.