fast burrows wheeler compression using all cores
play

Fast Burrows Wheeler Compression ! Using All-Cores " - PowerPoint PPT Presentation

Fast Burrows Wheeler Compression ! Using All-Cores " Aditya'Deshpande*''and'''P'J'Narayanan' Centre&for&Visual&Informa1on&Technology&& Interna1onal&Ins1tute&of&Informa1on&Technology& Hyderabad


  1. Fast Burrows Wheeler Compression ! Using All-Cores " Aditya'Deshpande*''and'''P'J'Narayanan' Centre&for&Visual&Informa1on&Technology&& Interna1onal&Ins1tute&of&Informa1on&Technology& Hyderabad & ASHES,'2015' & IIIT Hyderabad ! * Now at the University of Illinois at Urbana Champaign

  2. Outline ! ! What? & ! Use&all;cores&(CPU&+&GPU)&for&a&common&end;to;end&applica1on & ! Our&focus:& Burrows'Wheeler'Compression'(Bzip2)' ! How? & ! Use&fast&GPU&String&Sort&[Deshpande&and&Narayanan,&HiPC’13]& ! Domain&specific&techniques&for&GPU&BW&Compression& ! All;core&framework&to&use&both&CPU&and&GPU&together& ! Why?' ! Commodity&computers&have&mul1;core&CPU&+&many;core&GPU& ! All;core&end;to;end&applica1ons&help&end&user&leverage&them& both ' IIIT Hyderabad ! May 29, 2015 AsHES 2015

  3. Previous Work ! ! MulHIcore'CPUs &(Coarse/Task&Parallelism)&–& ! LU,&QR,&Cholesky&Decomposi1on,&Random&PDF&Generators&etc.& ! FFT,&PBzip2,&String&Processing,&Bioinforma1cs,&Data&Struct.&etc.& ! Intel&MKL&and&other&libraries& ! ManyIcore'GPUs &(Fine/Data&Parallelism)&–& ! Scan,&Sort,&Hashing,&SpMV,&Lists,&Linear&Algebra&etc.& ! Graph&Algorithms:&BFS,&SSSP,&APSP,&SCC,&MST&etc.& ! cuBLAS,&cuFFT,&NvPP,&Magma,&cuSparse,&CUDPP,&Thrust&etc.& & ! The&focus&is&typically&not& endItoIend &and/or& allIcore & applica1ons& IIIT Hyderabad ! May 29, 2015 AsHES 2015

  4. Burrows Wheeler Compression " End;users&compress/de;compress&files&on&daily&basis.&Best&compressor& BW&Compression&(or&Bzip2),&a&three&step&procedure:& & 1. Burrows'Wheeler'Transform' Suffix&sort&and&use&the&last&last&column& (Most&compute&intensive)& 2. MoveItoIFront'Transform' &Similar&to&run;length&encoding& (~10%'of'runHme)' 3. Huffman'Encoding' Standard&frequency&of&chars&based&encoding '(~10%'of'runHme)' Amenable' I meant what I said tt to'RLE' and I said what I meant IIIT Hyderabad ! edetttdomIIIIIIomeeddt sss From there to here eeehhhiniirrrrmmmhhhh from here to there wwwt t aaaoo aaaattrreeeefF nnaaan I said what I meant AWer'BWT' May 29, 2015 AsHES 2015 INPUT'

  5. Burrows Wheeler Transform " ! Input&String:& I,'S' Last"column"along"with"the"index"of"original"string" ! Sort&all&cyclic&shics&of& S' (i.e."4"since"I[4]=1)"is"the"BWT"OUTPUT" I[N]" I[N]" S[N]" 1" b" 6" a" b" a" n" a" n" ! Last&column&of&sorted&strings,& with&index&of&original&string& 2" a" 4" a" n" a" b" a" n" BWT" is&BWT& TRANSFORM" 3" n" 2" a" n" a" n" a" b" ! O(N) &strings&are&sorted,& 4" a" 1" b" a" n" a" n" a" each&with&length& O(N) & 5" n" 5" n" a" b" a" n" a" ! Suffix&sort&in&BWT&has& 6" a" 3" n" a" n" a" b" a" long&1es& 10 3 & to& 10 5 &characters& INPUT" OUTPUT"MATRIX" Last"column"can"be"easily"computed"by"offset" addiFon"even"if"we"output"this"shuffled"I[N]." ! Need&a&good&GPU&String&Sort& IIIT Hyderabad ! that&works&on&longer&1es& May 29, 2015 AsHES 2015

  6. Sorting ! ! Textbooks&teach&us&many&popular&sor1ng&methods& Quicksort " Mergesort " 29 " 12 " 39 " 42 " 37 " 12 " 29 " 37 " 39 " 42 " Radixsort " Data is always numbers! ! ! Real&data&is&beyond&just&numbers& ; Dic$onary*words &or& sentences* ; DNA*sequences ,& mul$6dimensional*db*records* IIIT Hyderabad ! ; File*Paths* Can we sort strings efficiently? ! May 29, 2015 AsHES 2015

  7. Irregularity in String Sorting ! ! Number'SorHng'(or'Fixed'Length'SorHng)' ! Fixed&Length&Keys&(8&to&128&bits)& ! Standard&containers:& float,*int,*double*etc* ! Keys&Fit&into&registers& ! Comparisons&take&O(1)&1me& FIXED'LENGTH'KEYS * ' ! String'SorHng'(or'Variable/Long'Length'SorHng)' ' ' ! Keys&have&no&restric1on&on&length& ! Itera1vely&load&keys&from&main&memory& ! Comparisons& not &O(1)&1me& IIIT Hyderabad ! ! Suffix&Sort& (1M*strings*of*1M*length!)* ' Variable&work&per&thread&and&arbitrary&memory& ' VARIABLE'LENGTH'KEYS * accesses:& IRREGULARITY & May 29, 2015 AsHES 2015 '

  8. ! Previous String Sort ! CPU ! GPU ! Thrust Merge Sort ! Multi-key Quicksort " [Satish et al., IPDPS’09] " [Bentley and Sedgewick, SODA’97] ! Fixed/Var. Merge Sort ! Burstsort ! [Davidson et al., InPar’12] " [Sinha et al., JEA’07] " Hybrid Merge Sort ! MSD Radix Sort " [Banerjee et al., AsHES’13] " [Kärkkäinen and Rantala, SPIRE’08] " IIIT Hyderabad ! Our String Sort [HiPC’13] ! (Radix Sort) ! May 29, 2015 AsHES 2015

  9. Merge Sort: Iterative Comparisons ! ! ! Repe11ve&loading&for&resolving&1es& in& every &merge&step& ! &Davidson&et&al.&show&that&& ****“AEer*every*merge*step* comparisons*are*between*more* similar*strings”* ! Previous&GPU&String&Sorts&are&based& on&Merge&Sort& Itera<ve&comparisons&=&High&Latency&Global& Memory&Access&=&Divergence& ! ' IIIT Hyderabad ! We'develop'a'Radix'Sort'based'String'Sort & May 29, 2015 AsHES 2015

  10. Radix Sort for String Sorting ! 0 " Future&Sorts&& Seg&ID&+&& 0 " kIchar&prefix& 0 " as&Keys& 0 " First'Sort * 0 " 1 " 1 " 1 " IIIT Hyderabad ! MSB'Segment'ID' k'char' (proxy&for&prefix) * prefix * May 29, 2015 AsHES 2015

  11. Results " & ! AWerISort'Tie'Length: &Indicates&difficulty&of&sor1ng&a&dataset& ! Suffix&sort&of&BWT&has&s1ll&higher&1es&and&requires&many&sort&steps& IIIT Hyderabad ! ! We&develop&domain;specific&sort&techniques&for&BWT& Code from cvit.iiit.ac.in May 29, 2015 AsHES 2015

  12. Modified String Sort for BWT " ! Doubling'MCU'length'of'String'Sort' ! MCU&length&determines&#sort&steps& ! Large&#sort&steps&for&long&1es&and&thus,&longer&run1me& " & IIIT Hyderabad ! ! Use&fixed&length&MCU&ini1ally,&then&double&to&reduce&sort&steps& ! 1.5&to&2.5x&speedup& May 29, 2015 AsHES 2015

  13. Modified String Sort for BWT " ! ParHal'GPU'Sort'and'CPU'Merge' ! Cyclically&shiced&strings&have&special&property& ! We&can&sort&only&2/3 rd &strings,&synthesize&rest&w/o&itera1ve&sort& ! Sort&all&(mod&3)&≠&0&strings&itera1vely& IIIT Hyderabad ! ! 1 st &char&of&(mod&3)&=&0&string,&rank&of&next&in&2/3 rd &sort&enough&to& sort&remaining&1/3 rd &strings& ! Non;itera1ve&overlapped&merge&also&possible& (CPU)' May 29, 2015 AsHES 2015

  14. Datasets GPU BWT " ! Datasets' ! Enwik8:' First&10 8 &bytes&of&English&Wikipedia&Dump&(96MB)& ! WikiIxml:' &Wikipedia&xml&dump&(151MB)& ! LinuxI2.6.11.tar:' Publicly&available&linux&kernel&(199&MB)& ! Silesia'Corpus:' Data;compression&benchmark&(208MB)& ! TieILength'vs.'Block'Size' IIIT Hyderabad ! May 29, 2015 AsHES 2015

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend