Multicore challenges