This document provides an overview of cache partitioning techniques (CPTs) in multicore processors. It begins with background on the motivation for CPTs due to increasing cache contention with more cores. It then covers various classifications of CPTs including granularity (way, set, block), static vs dynamic, strict vs pseudo, and hardware vs software control. It discusses challenges of CPTs like profiling overhead and complexity. It also covers techniques for profiling cache usage and determining optimal partitions. The goal of CPTs is to improve performance by reducing interference between applications sharing a cache.