What happens when you work in a company that creates the technology of the future? One day you may need to introduce these new concepts and technologies to the world—by writing a book. That’s exactly what happened to some of our engineers. They recently shared their technological expertise in Programming Persistent Memory, a guide for educating developers and customers about persistent memory. We recently spoke to four contributors of the book. Below, they share how a global team of 22 engineers collaborated to create a comprehensive guide that is accessible to everyone from beginners to advanced developers.
Steve Scargall, Persistent Memory Cloud and Software Architect
Why did you decide to write Programming Persistent Memory?
Intel has the highest density of engineers and developers working on persistent memory technology, so we wanted to share our knowledge with the world. The persistent memory programming model has been described in many blogs, articles, and conferences. We decided to combine our knowledge of hardware, operating systems, and programming techniques into a book to create an easy reference for developers.
Who is the target audience?
The book is targeted at developers with beginner to proficient skill levels using programming languages such as C, C++, Java, and Python. The book is also useful to software, cloud, and hardware architects across a broad spectrum of sectors, including cloud service providers, independent software vendors, high performance compute, artificial intelligence, data analytics, big data, and more.
We cover a wide variety of topics in the book – from what persistent memory is and how it works, to describing our open source libraries in detail with lots of code examples. We also cover advanced topics such as designing data structures, concurrency, performance, and remote persistent memory using Remote Data Memory Access (RDMA), among others.
Who was involved in writing the book?
I am the primary author of the book, but I couldn’t have completed the project without the help and dedication of my colleagues from the United States, Poland, and Russia. Each of the 22 contributors provided content, code examples and assisted in reviewing the final manuscript.
Andy Rudoff, Lead Persistent Memory Software Architect
How did this book come to be?
We’d been talking about the need for a book for a long time. When we got to the point where we had written lots of content and kept updating it for specific needs, it finally pushed us to make time to organize it into book form.
What did you like the most about the project?
Getting it done! After working on pieces of the content for so long, it was amazing to see it as a single book. Now when I get commonly asked questions, I almost always reply with a link to the book and a section number containing the answer. That is very satisfying.
We’ve certainly had lots of great compliments on the book since it was published. Now people are always telling me they’ve read it.
Sergey Vinogradov, Software Development Engineer
With 22 co-authors involved, located across the world, how did you all collaborate to write the book?
Intel is a global company and it doesn’t matter where you are physically located. We had all been working together for several years on enabling the software ecosystem for persistent memory before we started work on the book. So, publishing the book was a natural decision because we already had a lot of experience and knowledge we would like to share.
I think our collaboration was very easy because we already knew each other. We collaborate a lot during our work and have met face-to-face at several conferences. First, Steve captured all the possible topics for the book from all of us. Then we met to discuss the structure of the book and content for each chapter to avoid duplication and make connections between chapters. After each of us created the draft of the chapter, Steve went through all of them and made them consistent with each other.
What did you like the most about the project?
I like that persistent memory is a new kind of technology that has not existed before. And we, as software developers, have been creating a new software ecosystem from scratch.
Piotr Balcer, Software Architect
Why did you and your team join the initiative?
Most progress in technology is evolutionary, where changes to products, while possibly significant, are usually incremental. And contrary to popular belief, most experienced technologists are generally conservative with the technology they use. Persistent memory is anything but evolutionary.
Our team was tasked with a very challenging job. First, we needed to convince developers that, yes, persistent memory exists and is very much real. Then we need to provide them with enough information and support to encourage them to try it out and use it in their products.
I think at the time when the book was first proposed, we all recognized the need to have a comprehensive source of information that we could share with everyone interested as a way of accomplishing our goals.
What did you like most about the project?
For me having a book on a shelf with my name as a contributor is deeply satisfying. I also appreciated that working on the book has forced the team to get outside of its comfort zone, which ultimately allowed us to grow as a team.
Want to check out the Programming Persistent Memory book? Download the eBook to learn how you can build the next generation application.