This work has been implemented for the course of Software Development for Information Systems, in Department of Informatics and Telecommunications, at University of Athens, Greece. It is based on Sigmod contest of 2018, and the Implementation is fully functional for the contest's requirements.
The Radix Hash Join algorithm has been implemented, using 2 hash functions, in order to create both buckets and indexes, using the 7 and 8 last bits of each numbers, for each one of these functions, respectively.
- There are comments throughout the code, for better explanation of program's functionality.
- The application is executed properly, using any number of threads.
- For more information (in greek) check Report.pdf.
The application runs in Linux, and requires gcc 5.4+, g++ and cmake.
- Download and open folder Software_Development.
- Open terminal in current folder.
- Run
./compile.sh
and then./runTestHarness.sh
or./run.sh
.
For unit testing framework CuTest has been used.
- Open the folder Software_Development/cutest-1.5/.
- Open terminal in current folder.
- Run
make
and after that./test
.
- Cagri Balkesen, Jens Teubner, Gustavo Alonso, and M. Tamer Özsu. Main-Memory Hash Joins on Multi-Core CPUs: Tuning to the Underlying Hardware. Proc. of the 29th International Conference on Data Engineering (ICDE 2013) , Brisbane, Australia, April 2013.
- Sigmod 2018