On the effective parallel programming of multi-core processors