UpBit:'Scalable'In0Memory' Updatable'Bitmap'Indexing

Similar documents
UpBit:'Scalable'In0Memory' Updatable'Bitmap'Indexing

Storage and Memory Hierarchy CS165

UKSM: Swift Memory Deduplication via Hierarchical and Adaptive Memory Region Distilling

Out-of-order Pipeline. Register Read. OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide)

CMPEN 411 VLSI Digital Circuits Spring Lecture 20: Multiplier Design

THE witech SOFTWARE VERSION MUST BE AT **15.02** OR HIGHER TO PERFORM THIS PROCEDURE.

CS 152 Computer Architecture and Engineering

Aftermarket Testing and OEM Build Information Integration. Scott Bolt Chief Engineer MAHLE Test Systems 25 April 2013

Web Information Retrieval Dipl.-Inf. Christoph Carl Kling

Replace your belt, ball screw or rack and pinion mechanism with a simple and economical linear servo motor actuator

CARBON REDUCTION COMMITMENT ENERGY EFFICIENCY SCHEME. Merging Reports

StepSERVO Tuning Guide

Electromagnetic Induction

DIGITAX ST UNIMOTOR 2000RPM COMBINATIONS

Enhancing Energy Efficiency of Database Applications Using SSDs

Computer Architecture ELE 475 / COS 475 Slide Deck 6: Superscalar 3. David Wentzlaff Department of Electrical Engineering Princeton University

CFX-750 Display with the Field-IQ System: Spraying /Strip Till/Anhydrous Application Quick Reference Card

Advanced Superscalar Architectures. Speculative and Out-of-Order Execution

CMPEN 411 VLSI Digital Circuits Spring Lecture 24: Peripheral Memory Circuits

Rotel RSX-1065 RS232 HEX Protocol

Capacity-Achieving Accumulate-Repeat-Accumulate Codes for the BEC with Bounded Complexity

rfactor AXFOR Paramétrage volant G25

Frequently Asked Questions: EMC Captiva 7.5

2.4G/5G ac Outdoor Access Point

Computer Architecture: Out-of-Order Execution. Prof. Onur Mutlu (editted by Seth) Carnegie Mellon University

SYNCHRONOUS DRAM. 128Mb: x32 SDRAM. MT48LC4M32B2-1 Meg x 32 x 4 banks

Factory Data: MOSFET Controls Supercapacitor Power Dissipation

Rotel RSX-1067 RS232 HEX Protocol

Lecture 31 Caches II TIO Dan s great cache mnemonic. Issues with Direct-Mapped

SDRAM AS4SD8M Mb: 8 Meg x 16 SDRAM Synchronous DRAM Memory. PIN ASSIGNMENT (Top View)

HIGH CONTINUOUS FORCE for precise and efficient linear motion systems

2048MB DDR2 SDRAM SO-DIMM

3242 G 024 BX4 CS/CC 24 3,6 18,2 77,3 1,6 / 12,4 9 / ball bearings, preloaded 0,015. stainless steel 370 electronically reversible

2232 S 024 BX4 CSD/CCD 24 12,4 6,4 67,7 2 / 17 4,1 / ball bearings, preloaded 0,015. stainless steel 77 electronically reversible

GuardMagic DLLS-DLLE programming tool manual v

Rotel RSX-1055 RS232 HEX Protocol

Fixing the Hyperdrive: Maximizing Rendering Performance on NVIDIA GPUs

INVERTER FOR HYDRAULIC LIFTS

Incremental encoders Solid shaft with clamping or synchro flange pulses per revolution programmable

EXPLOSION PROOF DIRECTIONAL CONTROL VALVE TYPE ED6 SERIE 5X USA NEC STANDARD

Automatic Electronic Sectionalizing

CONSTRUCTION TIRES PRODUCT CATALOGUE

REDUCING FUEL CONSUMPTION AND IMPROVING CHIP QUALITY BY ADJUSTING CHIPPER SETTINGS. Ângelo Conrado de Arruda Moura & Raffaele Spinelli

Viale Certosa, 8/B Pavia (Italy) INVERTER FOR HYDRAULIC LIFTS

Updated gear lash procedures for the compact gear train assembly have been added to the Series 60 Service Manual.

PULSE JET WITH CYCLONIC VALVE PROOF-OF-CONCEPT MODEL by John Tindall

OVERVIEW: This bulletin involves performing a Transmission Adaptation Learn procedure based on a subjective shift quality rating evaluation.

display on the wall or in a panel away from the inline sensor SE30 for easy meter reading.

Copyright Nistune Developments rev4

r) Technologies, Inc. Linear Stepper Motor Travel 144 inches [3.6 m] Velocity 80 inches / sec [2 m/s] Acceleration 1 G 1 G Peak Force 65 lbs [289 N] C

Errors with S1/S2/S3/S4 Safety cards

Config file is loaded in controller; parameters are shown in tuning tab of SMAC control center

Quick Tune provides assisted or fully automated tuning of the main fuel table. This feature greatly reduces fuel tuning time.

PS SERIES PNEUMATIC SEEDERS UNRIVALED PRECISION GLOBALLY ACCLAIMED PNEUMATIC SEEDERS TO COMPLIMENT ANY TASK

SigmaSelect Tutorial Application: Rotary table

Motor Types. Motor and Controls Introduction to Motors & Controls

Gravity Control Technologies Phase II - Manned Prototype

Control switch/load disconnect switch Series 8008

Lesson 8: A Compound Spur Gear Train

FUEL DELIVERY IGNITION ANGLE CONTROL BOOST CONTROL TECH INFO

Dual band 11ac Indoor Access Point Model: MMZ344

Setup of a multi-os platform based on the Xen hypervisor. An industral case study. Paolo Burgio

Index. Calculated field creation, 176 dialog box, functions (see Functions) operators, 177 addition, 178 comparison operators, 178

T-MAX SERIES Direct Drive Rotary Servo

Circuit Reliability Review

Quick Reference: Immobilizer III Service Procedures

Jaltest _18_Rev.00_ES

Drive Essentials. robot. -Andy Baker

The electrohydraulic brake

128Mb Synchronous DRAM. Features High Performance: Description. REV 1.0 May, 2001 NT5SV32M4CT NT5SV16M8CT NT5SV8M16CT

Programming Languages (CS 550)

The Mine of the Future. Trends

Supercal 539. Compact thermal energy meter

EXCERPTS FROM DEWDROP: AN ENERGY-AWARE RUNTIME FOR COMPUTATIONAL RFID

Fleet and truck environment

WGL Series. Wide Guide Linear Motor Stage. Zero backlash ironless linear motor. Choice of linear encoder resolutions of up to 1um

Design Specification. DDR2 UDIMM Enhanced Performance Profiles

Circuit Reliability Review

System of diesel Engine Performance Analysis (2 nd) SEPA II

Installation Instructions ISOBUS Liquid ECU

The Mine of the Future Current Mine Automation Trends

Direct-Mapped Cache Terminology. Caching Terminology. TIO Dan s great cache mnemonic. UCB CS61C : Machine Structures

Compact Syntax for Topic Maps (CTM) - initial work. Professor Sam G. Oh, Sung Kyun Kwan University; Gabriel Hopmans, Morpheus software;

Installation And Programming Manual of OPTIMA Eco Tec and OPTIMA Pro Tec OBD/CAN

Vehicle makes models and variants known or believed to be using this vehicle system, required diagnostic lead and degree of known compatibility.

BG45 BG65S BG75 Axial Parallel Axial Parallel Axial Parallel CASM-32 (LS/BS/BN) X X CASM-40 (LS/BS/BN) X X X X CASM-63 (LS/BN/BF) X X

SHUTTER D GARAGE & ROLLER SHUTTER

Suffix arrays, BWT and FM-index. Alan Medlar Wednesday 16 th March 2016

Workshop Training Notes

EE Architecture for Highly Electrified Powertrain

SGL Series. Single Guide Linear Motor Stage. Zero cogging and backlash ironless linear motor actuator. High speed and high acceleration

SECTION A DYNAMICS. Attempt any two questions from this section

Designing Drive Systems for Low Web Speeds

Centimetre-accurate, speed-triggered braking distance measurements with ADMA-Speed

MASS AIR FLOW (MAF) SENSOR, CHECKING - BOSCH

ARC-H: Adaptive replacement cache management for heterogeneous storage devices

Exercises with the maxon Selection Program

Good Winding Starts the First 5 Seconds Part 2 Drives Clarence Klassen, P.Eng.

4. If an obvious cause for an observed or reported concern is found, correct the cause (if possible) before proceeding to the next step.

CONTENT. Our Philosophy. Our competences. The PS 3200 series. The PS 3200 The PS 3200 X-1 The PS 3200 X-3 The outrigger table The sawing aggregate

Transcription:

UpBit:'Scalable'InMemory' Updatable'Bitmap'Indexing Manos&Athanassoulis Harvard&University Talk&at&CS65,&September&26 th,&26

Indexing'for'Analytical'Workloads Column&A 3 A= A=2 A=3 Specialized&indexing Compact&representation&of&query&result 2 3 Query&result&is&readily&available 2 Bitvectors Can&leverage&fast&Boolean&operators 3 2 Bitwise&AND/OR/NOT&faster&than&looping&over&meta&data 2

Bitmap'Indexing'Limitations Index&Size Column&A 3 A= A=2 A=3 SpaceQinefficient&for&large&domains 2 3 Addressed&by&bitvector&encoding/compression 2 core'idea:&run$length*encoding*in&prior&work 3 2 but$ Updating&encoded&bitvectors&is&very inefficient 3

4 3&zeros ending&pattern Update? &zeros ending&pattern flip*bit re$encode encode decode

Goal Bitmap&Indexing&with&efficient&Reads&&&Updates 5

Prior%Work:'Bitmap'Indexing'and'Deletes Update&Conscious&Bitmaps&(UCB),&SSDBM&27 A= A=2 A=3 EB efficient&deletes&by&invalidation existence&bitvector&(eb) 6

Prior%Work:'Bitmap'Indexing'and'Deletes efficient&deletes&by&invalidation existence&bitvector&(eb) reads? bitwise&and&with&eb updates? deleteqthenqappend 7 A= A=2 A=3 EB EB A=2 Update&Conscious&Bitmaps&(UCB),&SSDBM&27

Prior%Work:'Limitations Latency (ms) 45 4 35 3 25 2 5 5 Bitwise AND with EB Decode VB Update and Encode EB Decode EB n=m&tuples,&d=&domain&values,&5%&updates&/&5%&reads U R U R U R U R U R UCB st UCB K UCB K UCB 2K UCB 4K read&cost&increases&with&#updates why? bitwise&and&with&eb&is&the&bottleneck update&eb&is&costly&for&>>&#updates UCB&performance&does&not&scale&with&#updates single&auxiliary&bitvector& 8 repetitive&bitwise&operations

Bitmap'Indexing'for'Reads'&'Updates distribute&update&cost efficient&random&accesses&in&compressed&bitvectors queryqdriven&requse&results&of&bitwise&operations 9

Design'Element':'update'bitvectors A= UB one&per&value&of&the&domain initialized&to&s the&current&value&is&the&xor every&update&flips&a&bit&on&ub

Design'Element':'update'bitvectors A= UB one&per&value&of&the&domain initialized&to&s the&current&value&is&the&xor every&update&flips&a&bit&on&ub &distribute&the&update&burden

Updating'UpBit 2 &row&2&to& A= A=2 A=3 UB UB UB

Updating'UpBit 3 &row&2&to&. find&old&value&of&row&2&(a=2) A= A=2 A=3 UB UB UB

Updating'UpBit 4 &row&2&to&. find&old&value&of&row&2&(a=2) A= A=2 A=3 UB UB UB

Updating'UpBit 5 &row&2&to&. find&old&value&of&row&2&(a=2) 2. flip&bit&of&row&2&of&ub&of&a=2 A= A=2 A=3 UB UB UB

Updating'UpBit 6 &row&2&to&. find&old&value&of&row&2&(a=2) 2. flip&bit&of&row&2&of&ub&of&a=2 3. flip&bit&of&row&2&of&ub&of&a= A= A=2 A=3 UB UB UB can&we&speed&up&step&?

Design'Element'2:'fence'pointers efficient&access&of&compressed&bitvectors fence'pointers row&3 row&6 7

Updating'UpBit 8 &row&2&to&. find&old&value&of&row&2&(a=2) A= A=2 A=3 UB UB UB

Updating'UpBit (with'fence'pointers) 9 &row&2&to&. find&old&value&of&row&2&(a=2) using&fence&pointers A= A=2 A=3 UB UB UB row&2

Querying 2

Querying'UpBit 2 &A&=&2 Return&the&XOR&of&A=2&and&UB A= A=2 A=3 UB UB UB

Querying'UpBit &A&=&2 Return&the&XOR&of&A=2&and&UB A=2 UB A=2 can&we&requse&the&result? 22

Design'Element'3:'querydriven'merging A=2 UB A=2 UB maintain&high&compressibility&of&ub query2driven'merging on&query& A=2 23

UpBit supports'very'efficient'updates n=m&tuples,&d=&domain&values k&queries&(varying&%&of&updates) Update Latency (ms) 35 3 25 2 5 5 In-place UCB UpBit Read Latency (ms) 35 3 25 2 5 5 Read-optimized UCB UpBit % update 5% update % update updates:&5q29x&faster&than&ucb 5Q5x&faster&than&inQplace % update 5% update % update only&8%&read&overhead&over&optimal 3x&faster&reads&than&UCB 24

UpBit offers'robust'reads Update Latency (ms) 35 3 25 2 5 5 Read Latency (ms) 45 4 35 3 25 2 5 5 In-place UCB UpBit 5 5 2 25 3 35 4 % update 5% update % update updates:&5q29x&faster&than&ucb 5Q5x&faster&than&inQplace Read Latency (ms) 35 3 25 2 5 # updates (thousands) 5 n=m&tuples,&d=&domain&values 5%/5%&update/read&queries UCB UpBit Ideal In-place UCB UpBit % update 5% update % update only&8%&read&overhead&over&optimal 3x&faster&reads&than&UCB 25

More'details' ' Tuning: how&frequent&to&merge&ub&to&the&index? Tuning:'what&is&the&optimal&granularity&of&fence&pointers? Optimizations: multiqthreaded&reads&and&updates Performance: full&query&analysis&(scientific&data&and&tpch)

Tuning when&to&merge?&(during&reads) inqplace&updates?&(fence&pointers) how&frequently&to&merge? how&frequent&fence&pointers? Update Latency (ms).7.6.5.4.3.2. Update Read 5 2 5 2 5 Merging threshold merge&back&every&q2&updates 4 2 8 6 4 2 Read Latency (ms) Latency (ms) 35 3 25 2 5 5 Read Update Memory length = 6 length = 5 length = 4 length = 3 length = 2 length = length = no FP length = 7 2 - -2-3 -4-5 -6-7 27 fence&pointers&every& 4 Q 5& values Space Overhead (ratio)

Memory'Consumption Space Overhead (MB) 35 3 25 2 5 5 Value Bitmaps Update Bitmaps Fence Pointers Existence Bitmap n&=&m,&d&=&&distinct&domain&values UpBit UpBit-FP UCB In-place Compressed UpBit UpBit-FP UCB In-place Uncompressed update&bitvectors:&small&memory&footprint&when&compressed 28

UpBit vs.'scan Latency (ms) 5 4 3 2 M M n&=&b,&d&=&&distinct&domain&values&(range) n&=&b,&d&vary&for&equality:&,,, M.5 B UpBit (range query) UpBit (equality query) Scan.% % % % we&have&the&classical&crossover&of&index&vs.&scan Selectivity shifts&when&the&query&needs&to&or&multiple&bitvectors&(range) 29

UpBit:'achieving'scalable'updates distribute&the&update&burden& update'bitvectors Thanks! efficient&bitvector&accesses fence'pointers avoid&redundant&bitwise&operations query2driven'merging'of'ub http://daslab.seas.harvard.edu/rum/ 3

Building'Access'Methods every&access&method &is&optimizing&for&the&tradeoff&between Tree Index Bitmap'Index Reads Updates Memory this&balance&forms&a&threeqway&tug&of&war 3