July 26 - 30

Debugging... and more debugging

I've spent the past week debugging the simulator. On Monday, I was able to finish debugging count. In order to place the private data directly into the transactional/victim cache (tcache), I also needed to handle writing the private data to the tcache in case of a tcache hit. (I needed to handle a read cache hit into the tcache as well, or so I thought at first.) After I finished debugging count, I ran a few other, more complicated benchmarks to see if my fixes worked with them as well. Instead of working, I had made the problem worse! One benchmark, patricia, which worked before I made the changes, stopped working. (Of course, exactly the opposite of what I wanted to happen!)

Since the changes that I made definitely caused some sort of error, I started to go back over my code. At first, I thought that it might be a good idea to call the read and write trans method if the private data was already in the tcache. This would be a much easier solution because I wouldn't have to worry about working around every possible missing case when dealing with transactional data. I started calling read and write trans in case of cache hit, but then realized that calling those methods was actually a really bad idea - a lot more private data was getting marked as transactional. So, I reverted back to handling each case myself.

Then, I just started going through my code very, very carefully. I found out that I wasn't calling a necessary function that saves the data that has been read from memory. Unfortunately, after I fixed that problem (or, after I thought that I had correctly fixed the problem), patricia still didn't work. Needless to say, I left work on Wednesday pretty frustrated, and wasn't sure where to go next. Luckily, on Thursday morning, I decided to take another look. I noticed that I wasn't getting the data from the correct index. After fixing this problem, everything worked!!!!

I showed the changes that I made to Cesare. He pointed out that I should be marking the private data in the cache as normal data, not transactional. Since we're writing all private data to the log, marking the private data as transactional (saved during an abort in a transaction) would be redundant. I set out to make this change to the simulator. Now, unfortunately, when the data is marked as normal, only certain simulations work. (This is definitely progress, though!) I'm not sure what's causing the current bug that I'm getting, but it's only happening in certain benchmarks. (Some benchmarks that didn't work at all now work, which is great!) Hopefully, I'll be able to find the bug soon!

Only 1 week left...

I can't believe that I only have 1 week left in Providence! My summer (and DREU) have gone by ridiculously fast!
Weekend and Misc

Trivia

On Wednesday night I went to pub trivia with Julie and some of her friends. It was really fun! It reminded me of Hamilton's trivia nights - the trivia game was formatted in exactly the same way. I even managed to answer a few questions (something that I usually can't pull off at trivia nights - my summer team at Hamilton always shot for the random fourth prize (yay Antonio McNealson!))

Pecha Kecha

On Thursday night I went to an event in Providence called Pecha Kecha with Julie. Pecha Kecha consists of about 8 different presentations. Each presentation is consists of 20 slides, and each slide is 20 seconds long. This week's theme was nature. One really cool presentation was about a team from RISD (Rhode Island School of Design) that built a moon rover for a NASA competition. They brought the final product with them - it was really, really cool!

Duck & Bunny and Waterfire

Duck & Bunny is a restaurant in Providence that Julie has been talking about literally since I came here. We decided that I had to go before I left! On Saturday night, we went out to dinner at the Duck and Bunny. They have really good crepes (mine was bree and pear), and are apparently famous for their cupcakes. I ordered a mini brownie-mint cupcake - it was delicious! The decor there is a little eclectic, but really cute. There are several different rooms in the restaurant. The paintings in our room were copies of famous paintings, but the paintings included either a duck or a bunny in some way. After eating at the Duck & Bunny, we went to Waterfire! (I've now been there for my first and last weekends in Providence.) The Rhode Island Philharmonic Orchestra was playing at Waterfire, so we listened to them. Then, we ended up meeting up with Julie's friend Charlie and all talked and watched the river. It was a great last weekend in Providence!