How Do We Make Parallel Processing a Reality? Bridging the Gap Between Theory and Practice