One of the many highlights of my recent visit to Japan was a dinner I had at Len (also called Ren). Len is a two Michelin starred restaurant in Tokyo and I managed to get a 6pm dinner reservation there on my second last night in Japan.
The meal was phenomenal. I love Japanese food, and in my mind this meal exemplified everything that attracts me towards Japanese cuisine – simplicity, elegance, and the freshness of ingredients.
Restaurants that “ruin” a food item for me hold a special place in my heart. By “ruin” here I mean that they serve me such a perfect version of the food item in question that subsequent versions I eat elsewhere will (most likely) pale in comparison. This first happened to me at Quince where I had the best mac and cheese I’d ever had in my life, and it happened again at Len, where I had the most sublime and incredible rice and eel I’ve ever tasted. This is a simple dish, but in its simplicity lies perfection.
I’ve had RARE, the newest album by Hundredth, on repeat for the past two days. In a departure from their previous metalcore style, RARE is a collection of ethereal shoegaze that is stunningly beautiful.
This research paper introduces readers to MemC3, which stands for Memcached with CLOCK and Concurrent Cuckoo Hashing. MemC3 is Memcached with modifications to make it faster and use less space. The researchers achieve the speed boost by allowing multiple reads and a single write to happen concurrently using their own concurrent implementation of Cuckoo Hashing. The space savings are gained by using the CLOCK algorithm to implement LRU cache eviction.
The authors begin by examining the existing use cases and design choices of Memcached. They notice that most Memcached use cases are read heavy, and that Memcached either (a) uses a single thread, or (b) (in newer versions) uses a single global lock. These two observations highlight areas where Memcached’s performance can be improved.
To improve the read and write performance and to enable concurrent operations the researchers replace Memcached hash table + linked list based cache with a 4-way set associate hash tablethat uses Cuckoo Hashing. I hadn’t heard of Cuckoo Hashing before reading this paper, and it is quite an interesting concept. To allow multiple readers and one writer the authors develop their own concurrent Cuckoo Hashing algorithm that combines lock striping and optimistic locking in a simple and easy to understand algorithm. This section (section 3.2) was the part of the paper that I enjoyed the most.
To save space and to implement an LRU cache eviction policy the authors use the CLOCK algorithm. The paper also describes how their cache eviction algorithm works safely with their concurrent cuckoo hashing algorithm.
The paper ends with an evaluation section that compares MemC3 and Memcached in a variety of configurations and workloads and shows that MemC3 almost always outperforms Memcached.
Lifting/workout injuries this year so far (listed in descending order of severity):
Pulled muscle in my lower left back.
Micro tear in my tricep in my right arm.
Pain in the region of my right knee.
Bruise on nose. This was a result of doing what I call a “jump clap push up”: it’s a clap push up in which you also lift your entire body up while you’re clapping, so your feet are lifted off the ground when you clap. I can typically do these without any problem, but because of injury #2 in this list I fell and my nose hit the ground. Hard. This happened before I knew that I had torn my tricep; I was trying to see if my arm had healed. Turns out it hadn’t.