A DSEL for Addressing the Problems Posed by Parallel Architectures