MuPC cache is a noncoherent, direct mapped, write back cache. Each UPC thread caches remote references. The total cache size scales with the number of threads: Each thread has THREADS blocks of cache, each block holds cache lines only from the corresponding remote thread, and each block contains CACHE_TABLE_SIZE (default 256) cache lines of length CACHE_LINE_LENGTH (default 1024) bytes. (No thread makes use of its own cache block.) These values must be 0 or a power of 2. CACHE_TABLE_SIZE may range from 0 to 4096. CACHE_LINE_LENGTH may range from 0 to 65536. Setting either value to 0 turns caching off.