Parallel Computer Architecture project at Purdue where I implemented Last-Touch Prediction, a self-invalidation scheme, to a MESI cache/directory coherence protocol in gem5. A 10% average improvement in program execution time was achieved for benchmarks in the SPLASH benchmark suite.