Codesign of the Stanford FLASH Multiprocessor