The rapid growth of spatial data volume and technological trends in storage capacity and processing power are fuelling many emerging spatial and spatio-temporal applications from a wide range of domains. Spatial join is widely used by many of the emerging spatial data analysis applications. However, spatial join processing on even a moderate sized dataset is very time consuming. At the same time, there is a rapid expansion in available processing cores, through multicore machines and Cloud computing. The confluence of these trends points to a need for effective parallelization of spatial query processing. Unfortunately, traditional parallel spatial databases are ill-equipped to deal with the performance heterogeneity that is common in the Cloud. In this talk I present two systems that I developed to parallelize spatial join queries in the Cloud and in a large main memory multicore machine.\\
With the proliferation of GPS-enabled mobile devices and sensors, Location Based Services (LBS) have become the most prominent among the spatio-temporal applications. These applications are characterized by high rate of location updates and many concurrent short running range queries. With a large number of devices, the rate of location update can easily surpass 1 million or more updates per second. Traditional relational databases may not be well-suited for this. As the era of "Internet of things" approaches, this issue is expected to get accentuated. In my talk I present a parallel in-memory spatio-temporal indexing technique to support the demands of LBS workloads. Our system achieves significantly better performance than existing approaches to indexing spatio-temporal data. I also present a parallel in-memory spatio-temporal topological join approach. Finally, I outline some of my ideas for future research.