In-Memory Parallel Join Processing On Multi-Core Processors