Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:mfe:is [2019/02/18 15:39]
svsummer
teaching:mfe:is [2020/09/29 17:03] (current)
mahmsakr [Data modeling of spatiotemporal regions]
Line 18: Line 18:
 ===== Master Thesis in Collaboration with Euranova ===== ===== Master Thesis in Collaboration with Euranova =====
  
-Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found {{:teaching:​mfe:​euranova_masterthesis_2017.pdf|here}}.+Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found [[https://​research.euranova.eu/​wp-content/​uploads/​proposals-thesis-2019.pdf|here]].
  
  
Line 27: Line 27:
  
  
-===== Dynamic Query Processing on GPU Accelerators ===== 
  
-This master thesis is put forward in the context of the DFAQ Research Project: "​Dyanmic ​Processing ​of Frequently Asked Queries",​ funded by the Wiener-Anspach foundation.+===== Dynamic Query Processing ​in Modern Big Data Architectures =====
  
-Within this project, our lab is hence developing novel ways for processing ​"fast Big Data", i.e., processing of analytical ​queries ​where the underlying ​data is constantly being updatedThe analytics problems envisioned cover wide areas of computer science and include database aggregate queries, probabilistic inference, matrix chain computation,​ and building statistical models.+Dynamic Query Processing refers to the activity of processing queries ​under constant ​data updates. (This is also known as continuous querying)It is a core problem in modern analytic workloads.
  
-The objective of this master thesis is to build upon the novel dynamic processing algorithms being developed in the lab, and complement these algorithms by proposing dynamic evaluation algorithms that execute on modern GPU architectures, ​thereby exploiting their massive parallel processing capabilities.+Modern big data compute ​architectures ​such as Apache SparkApache Flink, and apache Storm support certain form of Dynamic Query Processing.
  
-Since our current development is done in the Scala programming languageprospective students should either know Scala, or being willing to learn it within the context of the master thesis. +In addition, ​our lab has recently proposed DYN, a new Dynamic Query Processing algorithm that has strong optimality guaranteesbut works in centralised setting.
- +
- +
-**Validation of the approach** Validation of master thesis'​ work should be done on two levels: +
-  * theoretical level; by proposing and discussing alternative ways to do incremental computation on GPU architecturesand comparing these from theoretical complexity viewpoint +
-  * an experimental level; by proposing a benchmark collection of CEP queries that can be used to test the obtained versions of the interpreter/​compiler,​ and report on the experimentally observed performance on this benchmark.+
  
 +The objective of this master thesis is to propose extensions to our algorithm that make it suitable for distributed implementation on one of the above-mentioned platforms, and compare its execution efficiency against the state-of-the art solutions provided by Spark, Flink, and Storm. In order to make this comparison meaningfull,​ the student is expected to research, survey, and summarize the principles underlying the current state-of-the art approaches.
  
 **Deliverables** of the master thesis project **Deliverables** of the master thesis project
-  ​* An overview of query processing ​on GPUs +     * An overview of the continuous ​query processing ​models of Flink, Spark and Storm 
-  * A definition ​of the analytics queries under consideration +     ​* A qualitive comparison ​of the algorithms used 
-  * A description of different possible dynamic evaluation algorithms ​for the analytical queries on GPU architectures+     ​* A proposal ​for generalizing DYN to the distributed setting
-  A theoretical comparison ​of these possibilities +     ​An implementation ​of this geneneralization by means of compiler ​that outputs a continous query processing plan 
-  * The implementaiton ​of the evaluation algorithm(s) (as an interpreter/​compiler) +     ​* A benchmark set of continuous ​queries and associated data sets for the experimental validation 
-  * A benchmark set of queries and associated data sets for the experimental validation +     ​* An experimental validation of the extension ​and state of the art
-  * An experimental validation of the compiler, ​and analysis ​of the results.+
  
  
 **Interested?​** Contact :  [[svsummer@ulb.ac.be|Stijn Vansummeren]] **Interested?​** Contact :  [[svsummer@ulb.ac.be|Stijn Vansummeren]]
  
- +**Status**: ​taken
-**Status**: ​available +
- +
-===== Multi-query Optimization in Spark ===== +
- +
-Distributed computing platforms such as Hadoop and Spark focus on addressing the following challenges in large systems: (1) latency, (2) scalability,​ and (3) fault tolerance. Dedicating computing resources for each application executed by Spark can lead to a waste of resources. Unified distributed file systems such as Alluxio has provided a platform for computing results among simultaneously running applications. However, it is up to the developers to decide on what to share. +
- +
-The objective of this master thesis is to optimize various applications running on a Spark platform, optimize their execution plans by autonomously finding sharing opportunities,​ namely finding the RDDs that can be shared among these applications,​ and computing these shared plans once instead of multiple times for each query. +
- +
-**Deliverables** of the master thesis project +
-  * An overview of the Apache Spark architecture. +
-  * Develop a performance model for queries executed by Spark. +
-  * An implementation that optimizes queries executed by Spark and identify sharing opportunities. +
-  * An experimental validation of the developed system. +
- +
-**Interested?​** Contact :  [[svsummer@ulb.ac.be|Stijn Vansummeren]] +
- +
-**Status**: available +
 ===== Graph Indexing for Fast Subgraph Isomorphism Testing ===== ===== Graph Indexing for Fast Subgraph Isomorphism Testing =====
  
Line 82: Line 58:
 **Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] **Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
  
-**Status**: ​available+**Status**: ​taken
  
  
Line 96: Line 72:
  
  
-=====A Generic Similarity Measure For Symbolic Trajectories===== +====== MFE 2019-2020 : Spatiotemporal Databases ====== 
-Moving object databases (MOD) are database systems that can store and manage moving object data. A moving object is a value that changes over time. It can be spatial (e.g., a car driving on the road network), or non-spatial (e.g., the temperature in Brussels). Using a variety of sensors, the changing values of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. There are two types of MODThe first is the trajectory database, that manages the history of movementThe second type, in contrast, manages ​the stream ​of current movement ​and the prediction ​of the near futureThis thesis belongs ​to the first type (trajectory databases). The research in this area mainly goes around proposing data persistency models and query operations for trajectory data+Moving object databases (MOD) are database systems that can store and manage moving object data. A moving object is a value that changes over time. It can be spatial (e.g., a car driving on the road network), or non-spatial (e.g., the temperature in Brussels). Using a variety of sensors, the changing values of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. A couple of prototypes have also been proposed, some of which are still active in terms of new releasesYet, a mainstream system ​is by far still missing. Existing prototypes are merely research. By mainstream we mean that the development builds on widely accepted tools, that are actively being maintained and developedA mainstream system would exploit ​the functionality ​of these tools, ​and would maximize ​the reuse of their ecosystemsAs a result, it becomes more closer ​to end users, and easily adopted in the industry.
  
-A sub-topic of MOD is the study of semantic trajectories. It is motivated by the fact that the semantic ​of the movement is lost during the observation processYou GPS logger, for instance, ​would record ​sequence of (lon, lat, time) that describe your trajectoryIt won't, however, store the purpose of your trip (workleisure…), the transportation mode (car, bus, on foot, …), and other semantics of your trip. Research works have accordingly emerged to extract semantics from the trajectory raw data, and to provide database persistency to semantic trajectories+In our group, we are building MobilityDB, a mainstream ​MOD. It builds on PostGIS, which is a spatial database extension ​of PostgreSQL. MobilityDB extends ​the type system of PostgreSQL and PostGIS with ADTs for representing moving object dataIt defines, for instance, ​the tfloat for representing ​time dependant floatand the tgeompoint for representing a time dependant geometry pointMobilityDB types are well integrated into the platformto achieve maximal reusabilityhence a mainstream development. For instance, the tfloat builds ​on the PostgreSQL double precision type, and the tgeompoint build on the PostGIS geometry(point) type. Similarly MobilityDB builds on existing operations, indexing, and optimization framework.
  
-Recently, Ralf Güting et alpublished a model called “symbolic trajectories”,​ which can be viewed as a representation ​of semantic trajectories:​ +This is all made accessible via the SQL query interfaceCurrently MobilityDB is quite rich in terms of types and functionsIt can answer sophisticated queries in SQLThe first beta version has been released as open source April 2019 (https://​github.com/​ULB-CoDE-WIT/​MobilityDB).
-Ralf Hartmut Güting, Fabio Valdés, ​and Maria Luisa Damiani2015Symbolic Trajectories. ACM Trans. Spatial Algorithms Syst. 1, 2, Article 7 (July 2015), 51 pages. +
-A symbolic trajectory is a very simple structure composed of a sequence of pairs (time interval, label). So, it is a time dependent label, where every label can tell something about the semantics of the moving object during its associated time interval. We think this model is promising because of its simplicity and genericness. ​  +
  
-The goal of this thesis ​is to implement a similarity operator for symbolic trajectories. There are three dimensions ​of similarity ​in symbolic trajectoriestemporal similarityvalue similarity, and semantic similarity. Such an operator should be flexible ​to express arbitrary combinations ​of themIt should accept ​pair of semantic trajectories ​and return a numerical value that can be used for clustering or ranking objects based on their similaritySymbolic trajectories are similar ​to time seriesexcept that labels are annotated by time intervals, rather than time pointsWe think that the techniques ​of time series similarity can be adopted ​for symbolic trajectoriesThis thesis should assess that, and implement a similarity measure based on time series similarity. The implementation is required ​to be done as an extension ​to PostGISWe have already implemented some temporal types and operations on top of PostGISwhere you can start from+The following ​thesis ​ideas contribute ​to different parts of MobilityDB. They all constitute innovative development,​ mixing both research and development. They hence will help developing the student skills ​in: 
 +  * Understanding the theory and the implementation of moving object databases. 
 +  * Understanding the architecture of extensible databasesin this case PostgreSQL. 
 +  * Writing open source software. 
 + 
 + 
 +=====JDBC driver for Trajectories===== 
 +An important, and still missing, piece of MobilityDB is Java JDBC driver, that will allow Java programs ​to establish connections with MobilityDB, and store and retrieve data. This thesis is about developing such a driver. As all other components ​of PostgreSQL, its JDBC driver is also extensibleThis documentation gives good explanation ​of the driver ​and the way it can be extended: 
 +https://​jdbc.postgresql.org/​documentation/​head/​index.html 
 +It is also helpful to look at the driver extension ​for PostGIS: 
 +https://​github.com/​postgis/​postgis-java 
 + 
 +As MobilityDB build on top of PostGIS, the Java driver will need to do the sameand build on top of the PostGIS driverMainly ​the driver will need to provide Java classes to represent all the types of MobilityDB, and access the basic properties. ​  
 + 
 +**Interested?​** 
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]] 
 + 
 +**Status**: taken 
 + 
 + 
 +=====Mobility data exchange standards===== 
 +Data exchange standards allow different software systems to integrate together. Such standards are essential in the domain of mobility. Consider ​for example the case of public transportationDifferent vehicles (tram, metro, bus) come from different vendors, and are hence equipped with different location tracking sensors. The tracking software behind these vehicle use different data formats. These software systems need to push real time information to different apps. To support the passengers, for example, there must be a mobile or a Web app to check the vehicle schedules and to calculate routesThis information shall also be open to other transport service providers ​and to routing apps. This is how google maps, for instance, is able to provide end to end route plans that span different means of transport. ​   
 + 
 +The goal of this thesis is to survey the available mobility data exchange standardsand to implement in MobilityDB import/​export functions for the relevant ones. Examples for these standards are: 
 +  * GTFS static, https://​developers.google.com/​transit/​gtfs/​ 
 +  * GTFS realtime, https://​developers.google.com/​transit/​gtfs-realtime/​ 
 +  * NeTEx static, http://​netex-cen.eu/​ 
 +  * SIRI, http://​www.transmodel-cen.eu/​standards/​siri/ ​  
 +  * More standards ​can be found on http://​www.transmodel-cen.eu/​category/​standards/​
  
-  
-**Deliverables** of the master thesis project 
-  * Reporting on the state of art of semantic trajectory similarity measures. 
-  * Reporting on the state of art in time series similarity measures. 
-  * Assessing the application of time series similarity to symbolic trajectories. 
-  * Implementing symbolic trajectories on top of PostGIS. 
-  * Implementation and evaluating the proposed symbolic trajectory similarity operator. ​   
  
  
Line 121: Line 116:
 **Status**: available **Status**: available
  
 +=====Visualizing spatiotemporal data=====
 +Data visualization is essential for understanding and presenting it. starting with the temporal point, which is the database representation of a moving point object. Typically, it is visualized in a movie style, as a point that moves over a background map. The numerical attributes of this temporal point, such as the speed, are temporal floats. These can be visualized as function curves from the time t to the value v. 
 +
 +The goal of this thesis is to develop a visualization tool for the MobilityDB temporal types. The architecture of this tool should be innovative, so that it will be easy to extend it with more temporal types in the future. should be This tool should be integrated as an extension of a mainstream visualization software. A good candidate is QGIS (https://​www.qgis.org/​en/​site/​). The choice is however left open as part of the survey. ​  
 +
 +
 +**Interested?​**
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
 +
 +**Status**: available
 +
 +
 +=====Scalable Map-Matching=====
 +GPS trajectories originate in the form of a series of absolute lat/lon coordinates. Map-matching is the method of locating the GPS observations onto a road network. It transforms the lat/lon pairs into pairs of a road identifier and a fraction representing the relative position on the road. This preprocessing is essential to trajectory data analysis. It contributes to cleaning the data, as well as preparing it for network-related analysis. There are two modes of map-matching:​ (1) offline, where all the observations of the trajectory exist before starting the map-matching,​ and (2) online, where the observation arrive to the map-matcher one by one in a streaming fashion. Map-matching is known to be an expensive pre-processing,​ in terms of processing time. The growing amount of trajectory data (e.g., autonomous cars) call for map-matching methods that can scale-out. This thesis is about proposing such a solution. It shall survey the existing Algorithms, benchmark them, and propose a scale out architecture. ​  
 +
 +MobilityDB has types for lat/lon trajectories,​ as well as map-matched trajectories. the implementation of this thesis shall be integrated with MobilityDB. ​
 +
 +**Interested?​**
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
 +
 +**Status**: available
 
teaching/mfe/is.1550500789.txt.gz · Last modified: 2019/02/18 15:39 by svsummer