AccelerateWithOptane / lab

Request access to Optane powered bare metal infrastructure for performance-testing and analysis purposes
15 stars 3 forks source link

Request for access to the Accelerate With Optane Community Lab for my "User Mode Virtual Memory" library #12

Open technovelist opened 6 years ago

technovelist commented 6 years ago

If you are interested in filing a request for access to the Accelerate With Optane Community Lab for performance testing, optimization, and analysis, please fill out the details below. Contact Avi Deitcher at avi@packet.net with questions.

Name, email, company, job title

Steve Heller steve@steveheller.org Chrysalis Software Corporation President and Chief Consultant

Project Title and brief description

Project Title: User Mode Virtual Memory Library Brief Description: This library provides C++ programmers with the ability to use a persistent storage device such as the Optane to hold variables as though they were in memory, including both fixed- and variable-length data. See attached file SimpleUMVM.zip for an example program illustrating the variable-length string vector implementation. SimpleUMVM.zip

How does the open source community benefit from your work?

I would like Intel to buy my library and make it open source.

Is the code that you’re going to run 100% open source? If so, what is the URL or URLs where it is located?

Not at present.

Does the infrastructure provided meet your testing needs (see: https://www.acceleratewithoptane.com/access/)?

Yes. Right now I'm using an Optane SSDPED1D280GA for testing but I would like a larger device to test very large datasets.

What performance-focused articles has your project published before?

None in this incarnation. I have written about earlier versions of this library in several of my books, specifically "Efficient C/C++ Programming: Smaller, Faster, Better, 2nd Edition. Boston: AP Professional, 1994." and "Optimizing C++. Upper Saddle River, NJ: Prentice Hall, 1998."

Is your project intensely interested in performance, especially where disk I/O is concerned? Have you written about it or shared results of testing? Please share anything that shows your focus.

Yes, I am EXTREMELY interested in performance and have spent several man-years optimizing and extending this library to the point where it is approaching the limits of the existing Optane technology, especially with respect to the seek time of 5-10 microseconds per block.

I have used Intel's VTune Amplifier as well as the native Visual Studio 2017 performance tools to find hotspots down to the instruction level.

An example of my library's performance is that I can create an Optane-based string-to-string map consisting of 10 million strings of 10 Kbytes each, deleting half of the elements in batches of 1 million elements each, then read them all back and compare them, in a total of about 20 minutes.

Please state your contributions to the open source community and any other relevant initiatives

I haven't contributed anything to the open source community as of yet.

Feel free to brag a little bit about yourself! See attached resume. shresume.zip

Would you be willing to share your analysis and results publicly?

We are interested in blog posts, meetups and conference presentations. Accelerate With Optane would be more than happy to host your blog posts or link to them, and may coordinate performance-oriented meetups and conferences. Are you open to sharing?

Yes, absolutely.

Are you interested in testing Intel Optane SSDs with Intel Memory Drive Technology (IMDT)?

IMDT extends system memory transparently by integrating Intel Optane SSD capacity into the memory subsystem. The systems provided have 192GB of DRAM but can be enabled with 1.47TB of software-defined memory while leaving one Intel Optane SSD still available for fast storage/caching usage. Check here for more information on IMDT.

While that sounds interesting in general, my library manages the data transfer itself so that wouldn't be applicable here.