Previous | Next --- Slide 13 of 79
Back to Lecture Thumbnails
jgrace

This seems kind of like the directory based approach for memory coherency where information about the status of each piece of data is stored in one place. This makes the system more scalable and reduces the overhead for synchronization.

jessiexu

I hold the opposite opinion regarding reducing the overhead for synchronization. Both data structures would require extra storage. If they are stored in cache, there's less cache available for other data; if they are in memory, it takes extra cycles to read them.

kasia4

How large do these transaction records become? If you have a program with a lot of data, do you start running into any issues with memory?

donquixote

At first I was gonna say I'd imagine you wouldn't run into memory issues because the size of the transaction record is a constant overhead. But a constant overhead could be bad in practice, e.g. if your transaction record is sized similarly to the data itself then your memory usage is 2x your actual data. I'm not sure I get what "pointer-sized" means here. It seems there would be a way around using too much memory for the txn records, but I can't think of anything.

Please log in to leave a comment.