Counting cliques in parallel without a cluster: engineering a fork/join algorithm for shared-memory platforms