Previous | Next --- Slide 10 of 44
Back to Lecture Thumbnails
paraU

Here, a lot of memory is needed to store the directory info. If the cache line is 64 bytes and there are 64 processors. Then every 64 bytes in the memory needs at least 8 bytes in the directory. So we need to copy 1/8 of the whole memory into processor memories. How could it possibly be?

smklein

@paraU:

We spent a good portion of the latter half of this lecture discussing this issue. Some possible solutions included encoding cache directories as:

1) limited pointer schemes (linked lists of processors using each line),

2) bit vectors (2D arrays of processors vs number of lines in memory, where a single bit represents "present"),

3) sparse directories (pointers for each line being accessed in cache. A pointer points to processors N's cache (where N has the line), and inside the cache of processor N, there is a pointer to processor M's cache (where M has the line), etc...),

and more!