Skip to content

PJDL: Parallelizing Leapfrog Triejoin via Incremental Trie Construction and Dynamic Load Balancing

Notifications You must be signed in to change notification settings

MKMaS-GUET/PJDL

Repository files navigation

A parallel join system with dynamic load work.

The system is built based on the ADOPT. The main branch is a common version with a web interface, and you can checkout imdb branch to do benchmark of imdb.

Core Algorithm Description & Group Example

PJDL implements a parallel Leapfrog Triejoin with incremental result construction. Due to page limits in the demo paper, we provide the complete pseudo-code and implementation details in a separate document.

👉 Click here to read the Detailed Algorithm 👉 Click here to read the Group Example

This document includes:

  • Core Algorithm Pseudo-code (Parallel Framework & Incremental LFTJ)
  • Dynamic Grouping Strategy (Union-Find Logic)
  • Load Balancing Implementation (Work-Stealing Details)

How to build

JAVA_FILES=$(find . -name "*.java")
javac -encoding UTF-8 -d bin -sourcepath src/ -classpath lib/\* $JAVA_FILES

How to create db

cd bin
java tools.CreateDB db_name db_save_path

How to do some sql

java -classpath .:../lib/* -Xmx16G -XX:+UseConcMarkSweepGC console.SkinnerCmd db_save_path

Then you can input sqls or execute sql file. Like:

exec create.sql
load table_name PATH_TO_CSV_FILE , NULL;

How to run the program

There is a web page in src folder as the interface. If you want to run the webserver.By the way you should change the database path in code(server.WebServer).

cd bin
java -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 -Xmx256G -Xms256G -classpath .:../lib/* server.WebServer

If you wan to run the benchmarks.

cd bin
java -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 -Xmx256G -Xms256G -classpath .:../lib/* benchmark.BenchAndVerify database_path queries_folder_path

About

PJDL: Parallelizing Leapfrog Triejoin via Incremental Trie Construction and Dynamic Load Balancing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published