June 7 - 11

Graphs, Simulations, and a project!

On Monday, I ran some simulations on the real simulator and graphed the results. My task was to replicate some graphs from the previously published journal article. After a little bit of struggling and some badly misplaced typos, I got results from the simulator and was able to graph them.

Then, I got a project of my own! Cesare explained my project to me on Monday. I'm implementing hybrid data on the simulator - so local transactional data is stored in a log, whereas shared transactional data is stored in the transactional cache. Right now, all of the data is stored on the transactional cache, so I just have to work on the shared data. I started by implementing the data structure for the log - a 2D array. I was thinking that it needed to be dynamically allocated, so I was making it more complicated than it needed to be (unfortunately, I tend to do that a lot.) After getting the structure of the log, I wrote a few methods to update the log, and reverse it in case of an abort. I ran a benchmark, and it seemed to be working! However, I realized that it wasn't working after trying to reverse the log. I made a mistake on saving and passing some pointers, but I did manage to fix it!

Debugging

Then came the debugging - the not so fun and slightly frustrating part. I spent most of Wednesday morning with Cesare, trying to figure out why a variable was getting written to the log about 30 times without incrementing. After looking at the output from the debug routine for a few hours, I realized that something was a little off. I pointed it out to Cesare, and it turned out that I was overwriting a pointer, so the data was being read before it was being written, and then being overwritten.

I ran a benchmark simulation to figure out if the logging method was working - and it turned out it was! It was very exciting to see the results of the logging methods in the statistics. Since I needed to recompile the code every time I wanted to compare no logging vs. logging simulations, Cesare suggested I add a switch in the command line for logging. This was a little more complicated than I originally thought it would be. I've only worked on getting switches from the command line in Python, which basically requires a line of code. In the simulator, I needed to add several different variables to different files in the simulator. On Friday morning, I found out that I had missed adding a line of code to a file, so the switch wasn't setting! Then, I started to work on moving the log from a simple array structure to being basically a simulated 2D array in the scratchpad memory. It had some bugs in it when I left work on Friday night (I had to make myself go home because I wanted to stay and solve the problem.) Hopefully it won't be too bad to figure out on Monday morning!


Weekends and Misc

Style Week!

My roommate, Julie, is working on starting her own company. She got my other roommate, Kristin, and I tickets to Providence Style Week. I was very excited to go, because I've never been to anything close to a runway fashion show before. It was fun! We watched two different fashion shows: one with women's clothing and another with purses and some.. very interesting men's wear. I definitely felt out of my element there. Kristin is getting her Ph.D. in neuroscience, so we were both discussing how we felt a little out of place. We all definitely had a great time though!


Kristin, Julie, and I at Style Week!

Boston

On Saturday, I went to Boston with Kristin and her sister, Kim. Boston is only about an hour train ride away from Providence! Unfortunately, it rained most of the day, so we couldn't do exactly what we had planned. (We wanted to walk the Freedom Trail and ride on the swan boats.) We did, however, have a lot of fun taking goofy pictures with statues, and getting amazing cannolis to eat on the train on the way back!