Why I want to write this article?
The 3 variants of binary search algorithm confuses me frequently? Why do I need to set right = size or right = size -1? Why is the termination condition is left < right or left ≤ right?
So in this article I want to explore a little bit about the reason behind 3 main variant of binary search algorithm.
In this algorithm, we want to find exactly the index of the target in the sorted saerch array.
The (right + 1) return value means what is the index…
how do they leverage the characteristics of NVM e.g. non-volatile, byte-addressable
🤗 Assise tries to leverage the high speed of read and write operation of NVM, integrating it into a distributed file system. And it improves I/O performance.
Assise allocates storage size in a dynamic granularity in NVM instead of block allocation like tradition block storage device.
c++ servers have memory footprints that vary over time, causing heap fragmentation. c++ memory managers cannot move objects
To handle multiple requests simultaneously, current os tend to use huge pages
The paper tries to solve the problem that reducing fragmentation with huge pages
get the prediction of lifetime of the objects based on the object generating context
But we also want to avoid profiling in deployment because its overhead is too high compared to normal memory allocation.
feeding data consists of allocation’s full stack trace, a timestamp of the allocation, object size, alignment and the stack…