## My reading list March 2021

### Computer Performance

#### MIT Course

• Performance Engineering of Software System: Useful resources. I’ve read next 4 chapters:

• Measurement and Timing: Next-time, when benchmark software, using Min, Avg, and Geometric Mean are fair.

• Storage Allocation: This section introduces about Heap, Stack and Garbage Collector. Stack is very efficient.,

• Parallel Storage Allocation: For multi-thread system, using jemalloc and supermalloc provide better performance. Default in C code only provides about 0.97M/s for 32 threads, while jemalloc and supermalloc provide 38.2 M/s and 131.7 M/s, respectively.

• The Clik Runtime System: I don’t know much about Clik, so I only skim through this chapter. The novelty of stealing is nice, which proves the efficiency of Clik.

• Caching and Cache-Efficient Algorithm: Visit matrix multiplication again, with 2 level caches, 3 level caches, and parameter tunning for multiple matrix vector size. I think in my usage, SIMD implementation, the parameter is easy to grab, since it should be multiple of 2, and within the range of total available registers.

• Cache Oblivious Algorithm: The demonstration of Merge Sort can be cache friendly, however I don’t understand further.