{"id":13075,"date":"2017-09-01T09:36:58","date_gmt":"2017-09-01T09:36:58","guid":{"rendered":"https:\/\/www.revoscience.com\/en\/?p=13075"},"modified":"2017-09-01T09:36:58","modified_gmt":"2017-09-01T09:36:58","slug":"making-data-centers-energy-efficient","status":"publish","type":"post","link":"https:\/\/www.revoscience.com\/en\/making-data-centers-energy-efficient\/","title":{"rendered":"Making data centers more energy efficient"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"color: #000000;\"><em><strong>Flash-memory system could reduce power consumption of data center \u201ccaches\u201d by 90 percent.<\/strong><\/em><\/span><\/p>\n<figure id=\"attachment_13076\" aria-describedby=\"caption-attachment-13076\" style=\"width: 639px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-13076\" src=\"https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg\" alt=\"\" width=\"639\" height=\"426\" title=\"\" srcset=\"https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg 639w, https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0-300x200.jpg 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><figcaption id=\"caption-attachment-13076\" class=\"wp-caption-text\">Researchers from CSAIL have devised a new system for data center caching that uses flash memory. In addition to costing less and consuming less power, a flash caching system could dramatically reduce the number of cache servers required by a data center.<br \/>Image: MIT News<\/figcaption><\/figure>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">CAMBRIDGE, Mass. &#8212;\u00a0Most modern websites store data in databases, and since database queries are relatively slow, most sites also maintain so-called cache servers, which list the results of common queries for faster access. A data center for a major web service such as Google or Facebook might have as many as 1,000 servers dedicated just to caching.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Cache servers generally use random-access memory (RAM), which is fast but expensive and power-hungry. This week, at the International Conference on Very Large Databases, researchers from MIT\u2019s Computer Science and Artificial Intelligence Laboratory (CSAIL) are presenting a new system for data center caching that instead uses flash memory, the kind of memory used in most smartphones.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Per gigabyte of memory, flash consumes about 5 percent as much energy as RAM and costs about one-tenth as much. It also has about 100 times the storage density, meaning that more data can be crammed into a smaller space. In addition to costing less and consuming less power, a flash caching system could dramatically reduce the number of cache servers required by a data center.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The drawback to flash is that it\u2019s much slower than RAM. \u201cThat\u2019s where the disbelief comes in,\u201d says Arvind, the Charles and Jennifer Johnson Professor in Computer Science Engineering and senior author on the conference paper. \u201cPeople say, \u2018Really? You can do this with flash memory?\u2019 Access time in flash is 10,000 times longer than in DRAM [dynamic RAM].\u201d<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">But slow as it is relative to DRAM, flash access is still much faster than human reactions to new sensory stimuli. Users won\u2019t notice the difference between a request that takes .0002 seconds to process \u2014 a typical round-trip travel time over the internet \u2014 and one that takes .0004 seconds because it involves a flash query.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\"><strong>Keeping pace<\/strong><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The more important concern is keeping up with the requests flooding the data center. The CSAIL researchers\u2019 system, dubbed BlueCache, does that by using the common computer science technique of \u201cpipelining.\u201d Before a flash-based cache server returns the result of the first query to reach it, it can begin executing the next 10,000 queries. The first query might take 200 microseconds to process, but the responses to the succeeding ones will emerge at .02-microsecond intervals.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Even using pipelining, however, the CSAIL researchers had to deploy some clever engineering tricks to make flash caching competitive with DRAM caching. In tests, they compared BlueCache to what might be called the default implementation of a flash-based cache server, which is simply a data-center database server configured for caching. (Although slow compared to DRAM, flash is much faster than magnetic hard drives, which it has all but replaced in data centers.) BlueCache was 4.2 times as fast as the default implementation.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Joining Arvind on the paper are first author Shuotao Xu and his fellow MIT graduate student in electrical engineering and computer science Sang-Woo Jun; Ming Liu, who was an MIT graduate student when the work was done and is now at Microsoft Research; Sungjin Lee, an assistant professor of computer science and engineering at the Daegu Gyeongbuk Institute of Science and Technology in Korea, who worked on the project as a postdoc in Arvind\u2019s lab; and Jamey Hicks, a freelance software architect and MIT affiliate who runs the software consultancy Accelerated Tech.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The researchers\u2019 first trick is to add a little DRAM to every BlueCache flash cache \u2014 a few megabytes per million megabytes of flash. The DRAM stores a table which pairs a database query with the flash-memory address of the corresponding query result. That doesn\u2019t make cache lookups any faster, but it makes the detection of cache misses \u2014 the identification of data not yet imported into the cache \u2014 much more efficient.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">That little bit of DRAM doesn\u2019t compromise the system\u2019s energy savings. Indeed, because of all of its added efficiencies, BlueCache consumes only 4 percent as much power as the default implementation.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\"><strong>Engineered efficiencies<\/strong><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Ordinarily, a cache system has only three operations: reading a value from the cache, writing a new value to the cache, and deleting a value from the cache. Rather than rely on software to execute these operations, as the default implementation does, Xu developed a special-purpose hardware circuit for each of them, increasing speed and lowering power consumption.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Inside a BlueCache server, the flash memory is connected to the central processor by a wire known as a \u201cbus,\u201d which, like any data connection, has a maximum capacity. BlueCache amasses enough queries to exhaust that capacity before sending them to memory, ensuring that the system is always using communication bandwidth as efficiently as possible.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">With all these optimizations, BlueCache is able to perform write operations as efficiently as a DRAM-based system. Provided that each of the query results it\u2019s retrieving is at least eight kilobytes, it\u2019s as efficient at read operations, as well. (Because flash memory returns at least eight kilobytes of data for any request, it\u2019s efficiency falls off for really small query results.)<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">BlueCache, like most data-center caching systems, is a so-called key-value store, or KV store. In this case, the key is the database query and the value is the response.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flash-memory system could reduce power consumption of data center \u201ccaches\u201d by 90 percent. CAMBRIDGE, Mass. &#8212;\u00a0Most modern websites store data in databases, and since database queries are relatively slow, most sites also maintain so-called cache servers, which list the results of common queries for faster access. A data center for a major web service such [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":13076,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43,17],"tags":[],"class_list":["post-13075","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer-science","category-research"],"featured_image_urls":{"full":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"thumbnail":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0-150x150.jpg",150,150,true],"medium":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"1536x1536":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"2048x2048":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"ultp_layout_landscape_large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"ultp_layout_landscape":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"ultp_layout_portrait":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",600,400,false],"ultp_layout_square":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",600,400,false],"newspaper-x-single-post":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"newspaper-x-recent-post-big":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",540,360,false],"newspaper-x-recent-post-list-image":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",95,63,false],"web-stories-poster-portrait":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",639,426,false],"web-stories-publisher-logo":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",96,64,false],"web-stories-thumbnail":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2017\/09\/MIT-Flash-Cache_0.jpg",150,100,false]},"author_info":{"info":["Amrita Tuladhar"]},"category_info":"<a href=\"https:\/\/www.revoscience.com\/en\/category\/computer-science\/\" rel=\"category tag\">Computer Science<\/a> <a href=\"https:\/\/www.revoscience.com\/en\/category\/news\/research\/\" rel=\"category tag\">Research<\/a>","tag_info":"Research","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts\/13075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/comments?post=13075"}],"version-history":[{"count":0,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts\/13075\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/media\/13076"}],"wp:attachment":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/media?parent=13075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/categories?post=13075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/tags?post=13075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}