Basic asynchronous hashmap with Miniasync library

Basic asynchronous hashmap with Miniasync library

Miniasync library provides a framework for the composition and execution of asynchronous tasks in C. To accommodate different user-defined tasks and various types of data that they take in, libminiasync makes use of macros. Using libminiasync for the first time can be challenging. There are multiple …

Read More
Upcoming asynchronous interfaces in PMDK libraries

Upcoming asynchronous interfaces in PMDK libraries

In the previous article, I wrote about a new upcoming Xeon platform feature, Data Streaming Accelerator (DSA) - a memory-to-memory DMA engine, and what opportunities and challenges it presents. I outlined the approach we are taking in Persistent Memory Development Kit (PMDK) to expose asynchronous …

Read More
Leveraging asynchronous hardware accelerators for fun and profit

Leveraging asynchronous hardware accelerators for fun and profit

One of the greatest benefits of Persistent Memory is that it’s directly accessible by the CPU. But that can also be one of its downsides for specific use cases. For example, if you want to use PMem as an ultra-fast storage device with low access latency. PMem as storage impedance mismatch The …

Read More
Disaggregated Memory - In pursuit of scale and efficiency

Disaggregated Memory - In pursuit of scale and efficiency

A software person perspective on new upcoming interconnect technologies. Existing Server Landscape Servers are expensive. And difficult to maintain properly. That’s why most people turn to the public cloud for their hosting and computing needs. Dynamic virtual server instances have been key to …

Read More
Static code analysis of the PMDK

Static code analysis of the PMDK

Introduction In the PMDK team, we focus on the quality of our codebase. One of the standard practices in the software development is a static code analysis, which improves the overall project quality and fixes bugs in the early stage of development. Since there is no silver bullet for avoiding bugs, …

Read More