EM-C: Programming with Explicit Parallelism and Locality for EM-4 Multiprocessor