kNN Query Processing Algorithm based on the Encrypted Index for Hiding Data Access Patterns

2016 ◽  
Vol 43 (12) ◽  
pp. 1437-1457
Author(s):  
Hyeong-Il Kim ◽  
Hyeong-Jin Kim ◽  
Youngsung Shin ◽  
Jae-woo Chang
2021 ◽  
Vol 14 (11) ◽  
pp. 2491-2504
Author(s):  
Pranjal Gupta ◽  
Amine Mhedhbi ◽  
Semih Salihoglu

We revisit column-oriented storage and query processing techniques in the context of contemporary graph database management systems (GDBMSs). Similar to column-oriented RDBMSs, GDBMSs support read-heavy analytical workloads that however have fundamentally different data access patterns than traditional analytical workloads. We first derive a set of desiderata for optimizing storage and query processors of GDBMS based on their access patterns. We then present the design of columnar storage, compression, and query processing techniques based on these desiderata. In addition to showing direct integration of existing techniques from columnar RDBMSs, we also propose novel ones that are optimized for GDBMSs. These include a novel list-based query processor, which avoids expensive data copies of traditional block-based processors under many-to-many joins, a new data structure we call single-indexed edge property pages and an accompanying edge ID scheme, and a new application of Jacobson's bit vector index for compressing NULL values and empty lists. We integrated our techniques into the GraphflowDB in-memory GDBMS. Through extensive experiments, we demonstrate the scalability and query performance benefits of our techniques.


2012 ◽  
Vol 20 (2) ◽  
pp. 89-114 ◽  
Author(s):  
H. Carter Edwards ◽  
Daniel Sunderland ◽  
Vicki Porter ◽  
Chris Amsler ◽  
Sam Mish

Large, complex scientific and engineering application code have a significant investment in computational kernels to implement their mathematical models. Porting these computational kernels to the collection of modern manycore accelerator devices is a major challenge in that these devices have diverse programming models, application programming interfaces (APIs), and performance requirements. The Kokkos Array programming model provides library-based approach to implement computational kernels that are performance-portable to CPU-multicore and GPGPU accelerator devices. This programming model is based upon three fundamental concepts: (1) manycore compute devices each with its own memory space, (2) data parallel kernels and (3) multidimensional arrays. Kernel execution performance is, especially for NVIDIA® devices, extremely dependent on data access patterns. Optimal data access pattern can be different for different manycore devices – potentially leading to different implementations of computational kernels specialized for different devices. The Kokkos Array programming model supports performance-portable kernels by (1) separating data access patterns from computational kernels through a multidimensional array API and (2) introduce device-specific data access mappings when a kernel is compiled. An implementation of Kokkos Array is available through Trilinos [Trilinos website, http://trilinos.sandia.gov/, August 2011].


2020 ◽  
Vol 13 (12) ◽  
pp. 1656-1671 ◽  
Author(s):  
Jizhe Xia ◽  
Sicheng Huang ◽  
Shaobiao Zhang ◽  
Xiaoming Li ◽  
Jianrong Lyu ◽  
...  

2013 ◽  
Vol 10 (4) ◽  
pp. 1-19
Author(s):  
Andrei Hagiescu ◽  
Bing Liu ◽  
R. Ramanathan ◽  
Sucheendra K. Palaniappan ◽  
Zheng Cui ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document