{"id":521,"date":"2015-08-07T00:17:11","date_gmt":"2015-08-07T00:17:11","guid":{"rendered":"http:\/\/www.kurzweilai.net\/?p=256478"},"modified":"2015-08-07T00:17:46","modified_gmt":"2015-08-07T00:17:46","slug":"cheap-power-efficient-flash-memory-for-big-data-without-sacrificing-speed","status":"publish","type":"post","link":"https:\/\/hoo.central12.com\/fugic\/2015\/08\/07\/cheap-power-efficient-flash-memory-for-big-data-without-sacrificing-speed\/","title":{"rendered":"Cheap, power-efficient flash memory for big data without sacrificing speed"},"content":{"rendered":"<div id=\"attachment_256507\" class=\"wp-caption aligncenter\" style=\"width: 577px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;\"><a href=\"http:\/\/www.kurzweilai.net\/cheap-power-efficient-flash-memory-without-sacrificing-speed\/bluedbm-cluster\" rel=\"attachment wp-att-256507\"><img class=\"size-full wp-image-256507\" title=\"BlueDBM Cluster\" src=\"http:\/\/www.kurzweilai.net\/images\/BlueDBM-Cluster.jpg\" alt=\"\" width=\"567\" height=\"406\" \/><\/a><p style=' padding: 0 4px 5px; margin: 0;'  class=\"wp-caption-text\">A 20-node BlueDBM Cluster (credit: Sang-Woo Jun et al.\/ISCA 2015)<\/p><\/div>\n<p>There&#8217;s a big problem with big data: the huge RAM memory required. Now <a href=\"http:\/\/web.mit.edu\/\" >MIT<\/a> researchers have developed a new system called &#8220;BlueDBM\u201d that should make servers using flash memory as efficient as those using conventional RAM for several common big-data applications, while preserving their power and cost savings.<\/p>\n<p>Here&#8217;s the context: Data sets in areas such as genomics, geological data, and daily twitter feeds can be as large as 5TB to 20 TB. Complex data queries in such data sets require high-speed random-access memory (RAM). But that would require a huge cluster with up to 100 servers, each with 128GB to 256GBs of DRAM (dynamic random access memory).<\/p>\n<p>Flash memory (used in smart phones and other portable devices) could provide an alternative to conventional RAM for such applications. It\u2019s about a tenth as expensive, and it consumes about a tenth as much power. The problem: it\u2019s also a tenth as fast.<\/p>\n<p>But at the <a href=\"http:\/\/www.ece.cmu.edu\/calcm\/isca2015\/\" >International Symposium on Computer Architecture<\/a> in June, the MIT researchers, with colleagues at Quanta Computer, presented experimental evidence showing that if conventional servers executing a distributed computation have to go to disk for data even 5 percent of the time, their performance falls to a level that\u2019s comparable with flash anyway.<\/p>\n<p>In fact, they found that for a 10.5-terabyte computation, just 20 servers with 20 terabytes\u2019 worth of flash memory each could do as well as 40 servers with 10 terabytes\u2019 worth of RAM, and could consume only a fraction as much power. This was even without the researchers\u2019 new techniques for accelerating data retrieval from flash memory.<\/p>\n<p>\u201cThis is not a replacement for DRAM [dynamic RAM] or anything like that,\u201d says <a href=\"http:\/\/csg.csail.mit.edu\/Users\/arvind\/\" >Arvind<\/a>, the Johnson Professor of Computer Science and Engineering at MIT, whose group performed the new work. \u201cBut there may be many applications that can take advantage of this new style of architecture. Which companies recognize &#8212; everybody\u2019s experimenting with different aspects of flash. We\u2019re just trying to establish another point in the design space.\u201d<\/p>\n<p><strong>Technical details<\/strong><\/p>\n<p>The researchers were able to make a network of flash-based servers competitive with a network of RAM-based servers by moving a little computational power off of the servers and onto the chips that control the flash drives. By preprocessing some of the data on the flash drives before passing it back to the servers, those chips can make distributed computation much more efficient. And since the preprocessing algorithms are wired into the chips, they dispense with the computational overhead associated with running an operating system, maintaining a file system, and the like.<\/p>\n<p>With hardware contributed by some of their sponsors \u2014 Quanta, Samsung, and Xilinx \u2014 the researchers built a prototype network of 20 servers. Each server was connected to a field-programmable gate array, or FPGA, a kind of chip that can be reprogrammed to mimic different types of electrical circuits. Each FPGA, in turn, was connected to two half-terabyte \u2014 or 500-gigabyte \u2014 flash chips and to the two FPGAs nearest it in the server rack.<\/p>\n<p>Because the FPGAs were connected to each other, they created a very fast network that allowed any server to retrieve data from any flash drive. They also controlled the flash drives, which is no simple task: The controllers that come with modern commercial flash drives have as many as eight different processors and a gigabyte of working memory.<\/p>\n<p>Finally, the FPGAs also executed the algorithms that preprocessed the data stored on the flash drives. The researchers tested three such algorithms, geared to three popular big-data applications. One is image search, or trying to find matches for a sample image in a huge database. Another is an implementation of Google\u2019s <a href=\"https:\/\/en.wikipedia.org\/wiki\/PageRank\" >PageRank<\/a> algorithm, which assesses the importance of different Web pages that meet the same search criteria. And the third is an application called <a href=\"https:\/\/en.wikipedia.org\/wiki\/Memcached\" >Memcached<\/a>, which big, database-driven websites use to store frequently accessed information.<\/p>\n<p>FPGAs are about one-tenth as fast as purpose-built chips with hardwired circuits, but they\u2019re much faster than central processing units using software to perform the same computations. Ordinarily, either they\u2019re used to prototype new designs, or they\u2019re used in niche products whose sales volumes are too small to warrant the high cost of manufacturing purpose-built chips.<\/p>\n<p>But the MIT and Quanta researchers\u2019 design suggests a new use for FPGAs: A host of applications could benefit from accelerators like the three the researchers designed. And since FPGAs are reprogrammable, they could be loaded with different accelerators, depending on the application. That could lead to distributed processing systems that lose little versatility while providing major savings in energy and cost.<\/p>\n<p>\u201cMany big-data applications require real-time or fast responses,\u201d says Jihong Kim, a professor of computer science and engineering at Seoul National University. \u201cFor such applications, BlueDBM\u201d \u2014 the MIT and Quanta researchers\u2019 system \u2014 \u201cis an appealing solution.\u201d<\/p>\n<p>Relative to some other proposals for streamlining big-data analysis, \u201cThe main advantage of BlueDBM might be that it can easily scale up to a lot bigger storage system with specialized accelerated supports,\u201d Kim says.<\/p>\n<hr \/>\n<p><strong>Abstract of <em>BlueDBM: An Appliance for Big Data Analytics<\/em><\/strong><\/p>\n<p><strong><em><\/em><\/strong>Complex data queries, because of their need for random accesses, have proven to be slow unless all the data can be accommodated in DRAM. There are many domains, such as genomics, geological data and daily twitter feeds where the datasets of interest are 5TB to 20 TB. For such a dataset, one would need a cluster with 100 servers, each with 128GB to 256GBs of DRAM, to accommodate all the data in DRAM. On the other hand, such datasets could be stored easily in the flash memory of a rack-sized cluster. Flash storage has much better random access performance than hard disks, which makes it desirable for analytics workloads. In this paper we present BlueDBM, a new system architecture which has flashbased storage with in-store processing capability and a low-latency high-throughput inter-controller network. We show that BlueDBM outperforms a flash-based system without these features by a factor of 10 for some important applications. While the performance of a ram-cloud system falls sharply even if only 5%~10% of the references are to the secondary storage, this sharp performance degradation is not an issue in BlueDBM. BlueDBM presents an attractive point in the cost-performance trade-off for Big Data analytics.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&rsquo;s a big problem with big data: the huge RAM memory required. Now MIT researchers have developed a new system called &ldquo;BlueDBM&rdquo; that should make servers using flash memory as efficient as those using conventional RAM for several common big-data applications, while preserving their power and cost savings. Here&rsquo;s the context: Data sets in areas [&#8230;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47,43],"tags":[],"class_list":["post-521","post","type-post","status-publish","format-standard","hentry","category-computersinfotechui","category-news"],"_links":{"self":[{"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/posts\/521"}],"collection":[{"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/comments?post=521"}],"version-history":[{"count":1,"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/posts\/521\/revisions"}],"predecessor-version":[{"id":522,"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/posts\/521\/revisions\/522"}],"wp:attachment":[{"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/media?parent=521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/categories?post=521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoo.central12.com\/fugic\/wp-json\/wp\/v2\/tags?post=521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}