Vector Models for Data-Parallel Computing