VirtualSoC: A Full-System Simulation Environment for Massively Parallel Heterogeneous System-on-Chip