/images/head.jpg

SPDK on Samsung 960 EVO NVMe SSD

Today, I started to play with Intel SPDK with a 250GB Samsung 960 EVO NVMe SSD. I was thinking that using SPDK might lead to better performance, than through traditional block device interface. However, using fio with 4KiB random read requests at the queue depth equal to 1, as it turned out, the difference is rather small. Metric SPDK /dev/nvme0n1 IOPS 12.8 K 11.6 K slat 0.18 usec – clat 77.

Great Books and Papers

Books A Philosophy of Software Design, John Ousterhout, Professor at Stanford University The Innovator’s Dilemma, Clayton Christensen UNIX - A History and a Memorior, Brian Kernighan, Professor at Princeton University HOW NOT TO BE WRONG, Jordan Ellenberg, Professor of Mathematics at the University of Wisconsin-Madison THINKING, FAST AND SLOW, Daniel Kahneman, Professor of Psychology Emeritus at Princeton University China’s Economy, Arthur R. Kroeber Papers There are some papers that are so well written that I really enjoyed reading them.

NV-Tree: Reducing Consistency Cost for NVM-based Single Level Systems

This paper introduces a new B+ tree variation that is optimized for NVM by reducing consistency cost from memory fence and cacheline flush operations. Consistency is guaranteed only for leaf nodes. Internal nodes are re-built from leaf nodes. Elements in leaf nodes are not sorted. A log-structure is used for leaf nodes to remove the need for frequent synchronization. Only appends are added to a leaf node. This also increases concurrency.

Reflection After Dissertation Defense

After six years in the PhD program, since August 2009, I finally defended my dissertation today. I feel grateful that I finally make it. I do think I am one of the luck ones: I have a really nice adviser and he gives me strong support to do research in areas which I am interested in. I feel grateful for all the help I have received from my advisor, committee members, office mates and co-workers.

Sketch Data Structures

Tonight, I went to attend a local meetup event. The talk was given by a faculty from my own department, Jeff Phillips, an assistant professor working in the area of big data analysis. The topic of his talk is about sketch data structure - data structures which uses a much smaller amount of memory to summarize the represented data.This is a cool technique and I am very interested to learn more.

KVM Notes

List storage pools virsh pool-list --details List all volumes for a pool vol-list --details POOLNAME To create a Qemu guest with a image in qcow2 format, we need to first create a storage pool first. virsh pool-define-as --name qcow2 --type dir --target /mnt/qemu-img virsh pool-start qcow2 To create a Qemu guest with bridged network sudo virt-install -n vm1 -r 1024 --disk path=/mnt/qemu-imgs/vm1.qcow2,bus=virtio,size=5,format=qcow2 -c /mnt/sda4/ubuntu-12.04.5-desktop-amd64.iso --network bridge=virbr0 --graphics vnc,listen=0.0.0.0 --noautoconsole -v