Alleviating the variability and communication overheads of irregular parallelism for many-core chips