{"id":424701,"date":"2017-09-12T22:09:45","date_gmt":"2017-09-13T05:09:45","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-research-item&p=424701"},"modified":"2018-10-16T20:15:26","modified_gmt":"2018-10-17T03:15:26","slug":"ambit-memory-accelerator-bulk-bitwise-operations-using-commodity-dram-technology","status":"publish","type":"msr-research-item","link":"https:\/\/www.microsoft.com\/en-us\/research\/publication\/ambit-memory-accelerator-bulk-bitwise-operations-using-commodity-dram-technology\/","title":{"rendered":"Ambit: In-Memory Accelerator for Bulk Bitwise Operations Using Commodity DRAM Technology"},"content":{"rendered":"

Many important applications trigger bulk bitwise operations,
\ni.e., bitwise operations on large bit vectors. In fact, recent
\nworks design techniques that exploit fast bulk bitwise operations
\nto accelerate databases (bitmap indices, BitWeaving)
\nand web search (BitFunnel). Unfortunately, in existing architectures,
\nthe throughput of bulk bitwise operations is limited
\nby the memory bandwidth available to the processing unit
\n(e.g., CPU, GPU, FPGA, processing-in-memory).<\/p>\n

To overcome this bottleneck, we propose Ambit, an
\nAccelerator-in-Memory for bulk bitwise operations. Unlike
\nprior works, Ambit exploits the analog operation of DRAM
\ntechnology to perform bitwise operations completely inside
\nDRAM, thereby exploiting the full internal DRAM bandwidth.
\nAmbit consists of two components. First, simultaneous activation
\nof three DRAM rows that share the same set of sense
\namplifiers enables the system to perform bitwise AND and OR
\noperations. Second, with modest changes to the sense amplifier,
\nthe system can use the inverters present inside the sense
\namplifier to perform bitwise NOT operations. With these
\ntwo components, Ambit can perform any bulk bitwise operation
\nefficiently inside DRAM. Ambit largely exploits existing
\nDRAM structure, and hence incurs low cost on top of commodity
\nDRAM designs (1% of DRAM chip area). Importantly,
\nAmbit uses the modern DRAM interface without any changes,
\nand therefore it can be directly plugged onto the memory bus.
\nOur extensive circuit simulations show that Ambit works
\nas expected even in the presence of significant process variation.<\/p>\n

Averaged across seven bulk bitwise operations, Ambit
\nimproves performance by 32X and reduces energy consumption
\nby 35X compared to state-of-the-art systems. When
\nintegrated with Hybrid Memory Cube (HMC), a 3D-stacked
\nDRAM with a logic layer, Ambit improves performance of
\nbulk bitwise operations by 9.7X compared to processing in
\nthe logic layer of the HMC. Ambit improves the performance
\nof three real-world data-intensive applications, 1) database
\nbitmap indices, 2) BitWeaving, a technique to accelerate
\ndatabase scans, and 3) bit-vector-based implementation of
\nsets, by 3X-7X compared to a state-of-the-art baseline using
\nSIMD optimizations. We describe four other applications that
\ncan benefit from Ambit, including a recent technique proposed
\nto speed up web search. We believe that large performance
\nand energy improvements provided by Ambit can
\nenable other applications to use bulk bitwise operations.<\/p>\n","protected":false},"excerpt":{"rendered":"

Many important applications trigger bulk bitwise operations, i.e., bitwise operations on large bit vectors. In fact, recent works design techniques that exploit fast bulk bitwise operations to accelerate databases (bitmap indices, BitWeaving) and web search (BitFunnel). Unfortunately, in existing architectures, the throughput of bulk bitwise operations is limited by the memory bandwidth available to the […]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"msr-content-type":[3],"msr-research-highlight":[],"research-area":[13552],"msr-publication-type":[193716],"msr-product-type":[],"msr-focus-area":[],"msr-platform":[],"msr-download-source":[],"msr-locale":[268875],"msr-post-option":[],"msr-field-of-study":[],"msr-conference":[],"msr-journal":[],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-424701","msr-research-item","type-msr-research-item","status-publish","hentry","msr-research-area-hardware-devices","msr-locale-en_us"],"msr_publishername":"","msr_edition":"IEEE\/ACM Annual International Symposium on Microarchitecture (MICRO)","msr_affiliation":"","msr_published_date":"2017-10-18","msr_host":"","msr_duration":"","msr_version":"","msr_speaker":"","msr_other_contributors":"","msr_booktitle":"","msr_pages_string":"","msr_chapter":"","msr_isbn":"","msr_journal":"","msr_volume":"","msr_number":"","msr_editors":"","msr_series":"","msr_issue":"","msr_organization":"","msr_how_published":"","msr_notes":"","msr_highlight_text":"","msr_release_tracker_id":"","msr_original_fields_of_study":"","msr_download_urls":"","msr_external_url":"","msr_secondary_video_url":"","msr_longbiography":"","msr_microsoftintellectualproperty":1,"msr_main_download":"424704","msr_publicationurl":"","msr_doi":"http:\/\/dx.doi.org\/10.1145\/3123939.3124544","msr_publication_uploader":[{"type":"file","title":"MICRO-50_347","viewUrl":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2017\/09\/MICRO-50_347.pdf","id":424704,"label_id":0},{"type":"doi","title":"http:\/\/dx.doi.org\/10.1145\/3123939.3124544","viewUrl":false,"id":false,"label_id":0}],"msr_related_uploader":"","msr_attachments":[],"msr-author-ordering":[{"type":"user_nicename","value":"visesha","user_id":36323,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=visesha"},{"type":"text","value":"Donghyuk Lee","user_id":0,"rest_url":false},{"type":"text","value":"Thomas Mullins","user_id":0,"rest_url":false},{"type":"text","value":"Hasan Hassan","user_id":0,"rest_url":false},{"type":"text","value":"Amirali Boroumand","user_id":0,"rest_url":false},{"type":"text","value":"Jeremie Kim","user_id":0,"rest_url":false},{"type":"text","value":"Michael A. Kozuch","user_id":0,"rest_url":false},{"type":"text","value":"Onur Mutlu","user_id":0,"rest_url":false},{"type":"text","value":"Phillip B. Gibbons","user_id":0,"rest_url":false},{"type":"text","value":"Todd C. Mowry","user_id":0,"rest_url":false}],"msr_impact_theme":[],"msr_research_lab":[],"msr_event":[],"msr_group":[],"msr_project":[],"publication":[],"video":[],"download":[],"msr_publication_type":"inproceedings","related_content":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/424701"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-research-item"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/424701\/revisions"}],"predecessor-version":[{"id":424707,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/424701\/revisions\/424707"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=424701"}],"wp:term":[{"taxonomy":"msr-content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-content-type?post=424701"},{"taxonomy":"msr-research-highlight","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-highlight?post=424701"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=424701"},{"taxonomy":"msr-publication-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-publication-type?post=424701"},{"taxonomy":"msr-product-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-product-type?post=424701"},{"taxonomy":"msr-focus-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-focus-area?post=424701"},{"taxonomy":"msr-platform","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-platform?post=424701"},{"taxonomy":"msr-download-source","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-download-source?post=424701"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=424701"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=424701"},{"taxonomy":"msr-field-of-study","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-field-of-study?post=424701"},{"taxonomy":"msr-conference","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-conference?post=424701"},{"taxonomy":"msr-journal","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-journal?post=424701"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=424701"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=424701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}