Auto-tuning similarity search algorithms on multi-core architectures

dc.citation.epage620en_US
dc.citation.issueNumber5en_US
dc.citation.spage595en_US
dc.citation.volumeNumber41en_US
dc.contributor.authorGedik, B.en_US
dc.date.accessioned2016-02-08T09:34:59Z
dc.date.available2016-02-08T09:34:59Z
dc.date.issued2013en_US
dc.departmentDepartment of Computer Engineeringen_US
dc.description.abstractIn recent times, large high-dimensional datasets have become ubiquitous. Video and image repositories, financial, and sensor data are just a few examples of such datasets in practice. Many applications that use such datasets require the retrieval of data items similar to a given query item, or the nearest neighbors (NN or k -NN) of a given item. Another common query is the retrieval of multiple sets of nearest neighbors, i.e., multi k -NN, for different query items on the same data. With commodity multi-core CPUs becoming more and more widespread at lower costs, developing parallel algorithms for these search problems has become increasingly important. While the core nearest neighbor search problem is relatively easy to parallelize, it is challenging to tune it for optimality. This is due to the fact that the various performance-specific algorithmic parameters, or "tuning knobs", are inter-related and also depend on the data and query workloads. In this paper, we present (1) a detailed study of the various tuning knobs and their contributions on increasing the query throughput for parallelized versions of the two most common classes of high-dimensional multi-NN search algorithms: linear scan and tree traversal, and (2) an offline auto-tuner for setting these knobs by iteratively measuring actual query execution times for a given workload and dataset. We show experimentally that our auto-tuner reaches near-optimal performance and significantly outperforms un-tuned versions of parallel multi-NN algorithms for real video repository data on a variety of multi-core platforms. © 2013 Springer Science+Business Media New York.en_US
dc.identifier.doi10.1007/s10766-013-0239-8en_US
dc.identifier.issn0885-7458en_US
dc.identifier.urihttp://hdl.handle.net/11693/20774en_US
dc.language.isoEnglishen_US
dc.relation.isversionofhttp://dx.doi.org/10.1007/s10766-013-0239-8en_US
dc.source.titleInternational Journal of Parallel Programmingen_US
dc.subjectAuto - tuningen_US
dc.subjectNearest neighbor searchen_US
dc.subjectParallelizationen_US
dc.subjectAlgorithmic parametersen_US
dc.subjectAutotuningen_US
dc.subjectMulti - core platformsen_US
dc.subjectMulticore architecturesen_US
dc.subjectNear - optimal performanceen_US
dc.subjectParallelized versionen_US
dc.subjectIterative methodsen_US
dc.subjectKnobsen_US
dc.subjectLearning algorithmsen_US
dc.subjectOptimizationen_US
dc.subjectProgram processorsen_US
dc.subjectTunersen_US
dc.subjectComputer architectureen_US
dc.titleAuto-tuning similarity search algorithms on multi-core architecturesen_US
dc.typeArticleen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Auto-tuning similarity search algorithms on multi-core architectures.pdf
Size:
1.3 MB
Format:
Adobe Portable Document Format
Description:
Full printable version