Advertisement

The VLDB Journal

, Volume 23, Issue 5, pp 817–841 | Cite as

Processing of extreme moving-object update and query workloads in main memory

  • Darius ŠidlauskasEmail author
  • Simonas Šaltenis
  • Christian S. Jensen
Regular Paper

Abstract

The efficient processing of workloads that interleave moving-object updates and queries is challenging. In addition to the conflicting needs for update-efficient versus query-efficient data structures, the increasing parallel capabilities of multi-core processors yield challenges. To prevent concurrency anomalies and to ensure correct system behavior, conflicting update and query operations must be serialized. In this setting, it is a key concern to avoid that operations are blocked, which leaves processing cores idle. To enable efficient processing, we first examine concurrency degrees from traditional transaction processing in the context of our target domain and propose new semantics that enable a high degree of parallelism and ensure up-to-date query results. We define the new semantics for range and \(k\)-nearest neighbor queries. Then, we present a main-memory indexing technique called parallel grid that implements the proposed semantics as well as two other variants supporting different semantics. This enables us to quantify the effects that different degrees of consistency have on performance. We also present an alternative time-partitioning approach. Empirical studies with the above and three existing proposals conducted on modern processors show that our proposals scale near-linearly with the number of hardware threads and thus are able to benefit from increasing on-chip parallelism.

Keywords

Spatio-temporal indexing Concurrency Thread-level parallelism 

Notes

Acknowledgments

We thank the reviewers for their helpful comments. The research was supported in part by the Danish National Research Foundation grant DNRF84 through Center for Massive Data Algorithmics (MADALGO) and by a grant from the Obel Family Foundation.

Supplementary material

778_2014_353_MOESM1_ESM.pdf (103 kb)
Supplementary material 1 (pdf 102 KB)

References

  1. 1.
    Akman, V., Franklin, W.R., Kankanhalli, M., Narayanaswami, C.: Geometric computing and the uniform grid data technique. CAD 21(7), 410–420 (1989)Google Scholar
  2. 2.
    Anderson, E., Tucek, J.: Efficiency matters!. SIGOPS Oper. Syst. Rev. 44(1), 40–45 (2010)CrossRefGoogle Scholar
  3. 3.
    Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. In: SIGMOD, pp. 1–10 (1995)Google Scholar
  4. 4.
    Bernstein, P.A., Goodman, N.: Multiversion concurrency control—theory and algorithms. ACM TODS 8(4), 465–483 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Boston (1987)Google Scholar
  6. 6.
    Brinkhoff, T.: A framework for generating network-based moving objects. GeoInformatica 6(2), 153–180 (2002)CrossRefzbMATHGoogle Scholar
  7. 7.
    Cha, S.K., Hwang, S., Kim, K., Kwon, K.: Cache-conscious concurrency control of main-memory indexes on shared-memory multiprocessor systems. In: VLDB, pp. 181–190 (2001)Google Scholar
  8. 8.
    Chakrabarti, K., Mehrotra, S.: Efficient concurrency control in multidimensional access methods. In: SIGMOD, pp. 25–36 (1999)Google Scholar
  9. 9.
    Chen, S., Jensen, C.S., Lin, D.: A benchmark for evaluating moving object indexes. PVLDB 1(2), 1574–1585 (2008)Google Scholar
  10. 10.
    Civilis, A., Jensen, C.S., Pakalnis, S.: Techniques for efficient road-network-based tracking of moving objects. IEEE TKDE 17(5), 698–712 (2005)Google Scholar
  11. 11.
    Dittrich, J., Blunschi, L., Salles, M.A.V.: Indexing moving objects using short-lived throwaway indexes. In: SSTD, pp. 189–207 (2009)Google Scholar
  12. 12.
    Dittrich, J., Blunschi, L., Vas Salles, M.: Movies: indexing moving objects by shooting index images. GeoInformatica 15(4), 727–767 (2011)CrossRefGoogle Scholar
  13. 13.
    Fekete, A., Liarokapis, D., O’Neil, E., O’Neil, P., Shasha, D.: Making snapshot isolation serializable. ACM TODS 30(2), 492–528 (2005)CrossRefGoogle Scholar
  14. 14.
    Fekete, A., O’Neil, E., O’Neil, P.: A read-only transaction anomaly under snapshot isolation. SIGMOD Rec. 33(3), 12–14 (2004)CrossRefGoogle Scholar
  15. 15.
    Gray, J., Reuter, A.: Transaction processing: concepts and techniques. Morgan Kaufmann Publishers, Burlington, MA (1993)zbMATHGoogle Scholar
  16. 16.
    Gray, J.N., Lorie, R.A., Putzolu, G.R.: Granularity of locks and degrees of consistency in a shared data base. In: VLDB, pp. 428–451 (1975)Google Scholar
  17. 17.
    Hwang, S., Kwon, K., Cha, S., Lee, B.: Performance evaluation of main-memory R-tree variants. In: SSTD, pp. 10–27 (2003)Google Scholar
  18. 18.
    Intel 64 and IA-32 Architectures Software Developers Manual, Volume 3A: System Programming Guide, Part 1 (2011)Google Scholar
  19. 19.
    Jensen, C.S., Lin, D., Ooi, B.C.: Query and update efficient B+-tree based indexing of moving objects. In: VLDB, pp. 768–779 (2004)Google Scholar
  20. 20.
    Jiang, J., Bao, H., Chang, E.Y., Li, Y.: MOIST: a scalable and parallel moving object indexer with school tracking. PVLDB 5(12), 1838–1849 (2012)Google Scholar
  21. 21.
    Kalashnikov, D., Prabhakar, S., Hambrusch, S.: Main memory evaluation of monitoring queries over moving objects. Distrib. Parallel Databases 15(2), 117–135 (2004)CrossRefGoogle Scholar
  22. 22.
    Kim, K., Cha, S.K., Kwon, K.: Optimizing multidimensional index trees for main memory access. In: SIGMOD, pp. 139–150 (2001)Google Scholar
  23. 23.
    Kornacker, M., Banks, D.: High-concurrency locking in R-trees. In: VLDB, pp. 134–145 (1995)Google Scholar
  24. 24.
    Kornacker, M., Mohan, C., Hellerstein, J.M.: Concurrency and recovery in generalized search trees. In: SIGMOD, pp. 62–72 (1997) Google Scholar
  25. 25.
    Kraftfahrt-Bundesamt (Federal Motor Transport Authority): Annual Report. Kraftfahrt-Bundesamt, Germany (2009)Google Scholar
  26. 26.
    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
  27. 27.
    Lehman, P.L., Yao, S.B.: Efficient locking for concurrent operations on B-trees. ACM TODS 6, 650–670 (1981)CrossRefzbMATHGoogle Scholar
  28. 28.
    Molka, D., Hackenberg, D., Schone, R., Muller, M.S.: Memory performance and cache coherency effects on an intel nehalem multiprocessor system. In: PACT, pp. 261–270 (2009)Google Scholar
  29. 29.
    Mouratidis, K., Papadias, D., Hadjieleftheriou, M.: Conceptual partitioning: an efficient method for continuous nearest neighbor monitoring. In: SIGMOD, pp. 634–645 (2005)Google Scholar
  30. 30.
    Ng, V., Kameda, T.: Concurrent access to R-trees. In: SSD, pp. 142–161 (1993)Google Scholar
  31. 31.
    Nguyen-Dinh, L.-V., Aref, W.G., Mokbel, M.F.: Spatio-temporal access methods: part 2 (2003–2010). IEEE Data Eng. Bull. 33(2), 46–55 (2010)Google Scholar
  32. 32.
    Nishimura, S., Das, S., Agrawal, D., Abbadi, A.E.: MD-HBase: a scalable multi-dimensional data infrastructure for location aware services. In: MDM, pp. 7–16 (2011)Google Scholar
  33. 33.
    Patel, J.M., Chen, Y., Chakka, V.P.: Stripes: an efficient index for predicted trajectories. In: SIGMOD, pp. 635–646 (2004)Google Scholar
  34. 34.
    POSIX.1-2008. The open group base specifications (2008)Google Scholar
  35. 35.
    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
  36. 36.
    Salzberg, B.: Grid file concurrency. Inf. Syst. 11(3), 235–244 (1986)MathSciNetCrossRefGoogle Scholar
  37. 37.
    Šidlauskas, D., Jensen, C. S., Šaltenis, S.: A comparison of the use of virtual versus physical snapshots for supporting update-intensive workloads. In: DaMoN, pp. 1–8 (2012)Google Scholar
  38. 38.
    Šidlauskas, D., Ross, K.A., Jensen, C.S., Šaltenis, S.: Thread-level parallel indexing of update intensive moving-object workloads. In: SSTD, pp. 186–204 (2011)Google Scholar
  39. 39.
    Š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
  40. 40.
    Šidlauskas, D., Šaltenis, S., Jensen, C.S.: Parallel main-memory indexing for moving-object query and update workloads. In: SIGMOD, pp. 37–48 (2012)Google Scholar
  41. 41.
    Song, S.I., Kim, Y.H., Yoo, J.S.: An enhanced concurrency control scheme for multidimensional index structures. IEEE TKDE 16(1), 97–111 (2004)MathSciNetGoogle Scholar
  42. 42.
    Stonebraker, M., Madden, S., Abadi, D.J., Harizopoulos, S., Hachem, N., Helland, P.: The end of an architectural era: (it’s time for a complete rewrite). In: VLDB, pp. 1150–1160 (2007)Google Scholar
  43. 43.
    Tao, Y., Papadias, D., Sun, J.: The TPR*-tree: an optimized spatio-temporal access method for predictive queries. In: VLDB, pp. 790–801 (2003)Google Scholar
  44. 44.
    Tzoumas, K., Yiu, M.L., Jensen, C.S.: Workload-aware indexing of continuously moving objects. PVLDB 1(2), 1186–1197 (2009)Google Scholar
  45. 45.
    Wolfson, O., Yin, H.: Accuracy and resource consumption in tracking and location prediction. In: SSTD, pp. 325–343 (2003)Google Scholar
  46. 46.
    Wu, W., Tan, K.-L.: iSEE: Efficient continuous k-nearest-neighbor monitoring over moving objects. In SSDBM, p. 36 (2007)Google Scholar
  47. 47.
    Xiong, X., Mokbel, M., Aref, W.: SEA-CNN: Scalable processing of continuous k-nearest neighbor queries in spatio-temporal databases. In: ICDE, pp. 643–654 (2005)Google Scholar
  48. 48.
    Yiu, M., Tao, Y., Mamoulis, N.: The B\(^{dual}\)-tree: indexing moving objects by space filling curves in the dual space. PVLDB 17(3), 379–400 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Darius Šidlauskas
    • 1
    Email author
  • Simonas Šaltenis
    • 2
  • Christian S. Jensen
    • 2
  1. 1.Department of Computer ScienceAarhus UniversityAarhusDenmark
  2. 2.Department of Computer ScienceAalborg UniversityAalborgDenmark

Personalised recommendations