Thread-Level Parallel Indexing of Update Intensive Moving-Object Workloads

  • Darius Šidlauskas
  • Kenneth A. Ross
  • Christian S. Jensen
  • Simonas Šaltenis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6849)


Modern processors consist of multiple cores that each support parallel processing by multiple physical threads, and they offer ample main-memory storage. This paper studies the use of such processors for the processing of update-intensive moving-object workloads that contain very frequent updates as well as contain queries.

The non-trivial challenge addressed is that of avoiding contention between long-running queries and frequent updates. Specifically, the paper proposes a grid-based indexing technique. A static grid indexes a near up-to-date snapshot of the data to support queries, while a live grid supports updates. An efficient cloning technique that exploits the memcpy system call is used to maintain the static grid.

An empirical study conducted with three modern processors finds that very frequent cloning, on the order of tens of milliseconds, is feasible, that the proposal scales linearly with the number of hardware threads, and that it significantly outperforms the previous state-of-the-art approach in terms of update throughput and query freshness.


Global Navigation Satellite System Range Query Object Query Load Imbalance Grid Cell Size 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akman, V., Franklin, W.R., Kankanhalli, M., Narayanaswami, C.: Geometric computing and the uniform grid data technique. Computer Aided Design 21(7), 410–420 (1989)CrossRefGoogle Scholar
  2. 2.
    Beckmann, N., Kriegel, H.-P., Schneider, R., Seeger, B.: The R*-tree: an efficient and robust access method for points and rectangles. In: SIGMOD, pp. 322–331 (1990)Google Scholar
  3. 3.
    Biveinis, L., Šaltenis, S., Jensen, C.S.: Main-memory operation buffering for efficient R-tree update. In: VLDB, pp. 591–602 (2007)Google Scholar
  4. 4.
    Chen, S., Jensen, C.S., Lin, D.: A benchmark for evaluating moving object indexes. PVLDB 1(2), 1574–1585 (2008)Google Scholar
  5. 5.
    Cieslewicz, J., Ross, K.A., Satsumi, K., Ye, Y.: Automatic contention detection and amelioration for data-intensive operations. In: SIGMOD, pp. 483–494 (2010)Google Scholar
  6. 6.
    Dittrich, J., Blunschi, L., Salles, M.A.V.: Indexing moving objects using short-lived throwaway indexes. In: Mamoulis, N., Seidl, T., Pedersen, T.B., Torp, K., Assent, I. (eds.) SSTD 2009. LNCS, vol. 5644, pp. 189–207. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Finkel, R.A., Bentley, J.L.: Quad trees: a data structure for retrieval on composite keys. Acta Informatica 4(1), 1–9 (1974)CrossRefzbMATHGoogle Scholar
  8. 8.
    Hwang, S., Kwon, K., Cha, S., Lee, B.: Performance evaluation of main-memory R-tree variants. In: Hadzilacos, T., Manolopoulos, Y., Roddick, J., Theodoridis, Y. (eds.) SSTD 2003. LNCS, vol. 2750, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Jensen, C., Tiesyte, D., Tradisauskas, N.: The COST Benchmark-Comparison and evaluation of spatio-temporal indexes. Database Systems for Advanced Applications, 125–140 (2006)Google Scholar
  10. 10.
    Kim, K., Cha, S.K., Kwon, K.: Optimizing multidimensional index trees for main memory access. In: SIGMOD, pp. 139–150 (2001)Google Scholar
  11. 11.
    Lee, M.L., Hsu, W., Jensen, C.S., Cui, B., Teo, K.L.: Supporting frequent updates in R-trees: a bottom-up approach. In: VLDB, pp. 608–619 (2003)Google Scholar
  12. 12.
    Nievergelt, J., Hinterberger, H., Sevcik, K.C.: The grid file: An adaptable, symmetric multikey file structure. ACM TODS 9(1), 38–71 (1984)CrossRefGoogle Scholar
  13. 13.
    Rastogi, R., Seshadri, S., Bohannon, P., Leinbaugh, D.W., Silberschatz, A., Sudarshan, S.: Logical and physical versioning in main memory databases. In: VLDB, pp. 86–95 (1997)Google Scholar
  14. 14.
    Severance, D.G., Lohman, G.M.: Differential files: their application to the maintenance of large databases. ACM TODS 1(3), 256–267 (1976)CrossRefGoogle Scholar
  15. 15.
    Smith, J.M., Maguire, G.Q.: Effects of copy-on-write memory management on the response time of UNIX fork operations, vol. 1, pp. 255–278. University of California Press, Berkeley (1988)Google Scholar
  16. 16.
    Song, M., Kitagawa, H.: Managing frequent updates in R-trees for update-intensive applications. IEEE TKDE 21(11), 1573–1589 (2009)Google Scholar
  17. 17.
    Tropf, H., Herzog, H.: Multidimensional range search in dynamically balanced trees. Angewandte Informatik 23(2), 71–77 (1981)Google Scholar
  18. 18.
    Tzoumas, K., Yiu, M.L., Jensen, C.S.: Workload-aware indexing of continuously moving objects. PVLDB 1(2), 1186–1197 (2009)Google Scholar
  19. 19.
    Šidlauskas, D., Šaltenis, S., Christiansen, C.W., Johansen, J.M., Šaulys, D.: Trees or grids? Indexing moving objects in main memory. In: GIS, pp. 236–245 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Darius Šidlauskas
    • 1
  • Kenneth A. Ross
    • 2
  • Christian S. Jensen
    • 3
  • Simonas Šaltenis
    • 1
  1. 1.Aalborg UniversityDenmark
  2. 2.Columbia UniversityUSA
  3. 3.Aarhus UniversityDenmark

Personalised recommendations