Common multicore programming problems