I have spent almost the entire last decade in a fairly specialized product company, building high performance I/O systems. I had the opportunity to see storage technology evolve rapidly and decisively. Talking about storage and its developments felt like preaching to the choir.
This year, I have switched jobs. Being at a larger company with engineers from multiple backgrounds I was taken by surprise by the fact that although every one of my peers is certainly extremely bright, most of them carried misconceptions about how to best exploit the performance of modern storage technology leading to suboptimal designs, even if they were aware of the increasing improvements in storage technology.
As I reflected about the causes of this disconnect I realized that a large part of the reason for the persistence of such misconceptions is that if they were to spend the time to validate their assumptions with benchmarks, the data would show that their assumptions are, or at least appear to be, true.
Yet if you skim through specs of modern NVMe devices you see commodity devices with latencies in the microseconds range and several GB/s of throughput supporting several hundred thousands random IOPS. So where’s the disconnect?
In this article I will demonstrate that while hardware changed dramatically over the past decade, software APIs have not, or at least not enough. Riddled with memory copies, memory allocations, overly optimistic read ahead caching and all sorts of expensive operations, legacy APIs prevent us from making the most of our modern devices.
In the process of writing this piece I had the immense pleasure of getting early access to one of the next generation Optane devices, from Intel. While they are not common place in the market yet, they certainly represent the crowning of a trend towards faster and faster devices. The numbers you will see throughout this article were obtained using this device.
In the interest of time I will focus this article on reads. Writes have their own unique set of issues — as well as opportunities for improvements that I intend to cover in a later article.
http://moreylawfirm.com/jd/Te-v-Li-Fot.html
http://moreylawfirm.com/jd/Te-v-Li-Fot1.html
http://moreylawfirm.com/jd/Te-v-Li-Fot2.html
http://moreylawfirm.com/jd/Te-v-Li-Fot3.html
http://moreylawfirm.com/jd/Te-v-Li-Fot4.html
http://moreylawfirm.com/jd/Ce-v-Sp.html
http://moreylawfirm.com/jd/Ce-v-Sp01.html
http://moreylawfirm.com/jd/Ce-v-Sp02.html
http://moreylawfirm.com/jd/Ce-v-Sp03.html
http://moreylawfirm.com/jd/Ce-v-Sp04.html
http://moreylawfirm.com/jd/Qa-v-Si.html
http://moreylawfirm.com/jd/Qa-v-Si1.html
http://moreylawfirm.com/jd/Qa-v-Si2.html
http://moreylawfirm.com/jd/Qa-v-Si3.html
http://moreylawfirm.com/jd/Qa-v-Si4.html
http://moreylawfirm.com/jd/Sp-v-ke.html
http://moreylawfirm.com/jd/Sp-v-ke1.html
http://moreylawfirm.com/jd/Sp-v-ke2.html
http://moreylawfirm.com/jd/Sp-v-ke3.html
http://moreylawfirm.com/jd/Sp-v-ke4.html
http://moreylawfirm.com/nfc/L-v-a.html
http://moreylawfirm.com/nfc/L-v-b.html
http://moreylawfirm.com/nfc/L-v-c.html
http://moreylawfirm.com/nfc/L-v-d.html
http://moreylawfirm.com/nfc/L-v-e.html
http://moreylawfirm.com/nfc/L-v-f.html
http://moreylawfirm.com/nfc/L-v-g.html
http://moreylawfirm.com/nfc/L-v-h.html
http://moreylawfirm.com/nfc/L-v-i.html
http://moreylawfirm.com/nfc/M-v-a.html
http://moreylawfirm.com/nfc/M-v-b.html
http://moreylawfirm.com/nfc/M-v-c.html
http://moreylawfirm.com/nfc/M-v-d.html
http://moreylawfirm.com/nfc/M-v-e.html
http://moreylawfirm.com/nfc/M-v-f.html
http://moreylawfirm.com/nfc/M-v-g.html
http://moreylawfirm.com/nfc/M-v-h.html
http://moreylawfirm.com/nfc/M-v-i.html
http://moreylawfirm.com/nfc/Milan-v-Lille-diretta01.html
http://moreylawfirm.com/nfc/Milan-v-Lille-diretta02.html
http://moreylawfirm.com/nfc/Milan-v-Lille-diretta03.html
http://moreylawfirm.com/nfc/Milan-v-Lille-diretta04.html
http://moreylawfirm.com/nfc/Milan-v-Lille-diretta05.html
http://moreylawfirm.com/nfc/Milan-v-Lille-direct01.html
http://moreylawfirm.com/nfc/Milan-v-Lille-direct02.html
http://moreylawfirm.com/nfc/Milan-v-Lille-direct03.html
http://moreylawfirm.com/nfc/Milan-v-Lille-direct04.html
http://moreylawfirm.com/nfc/Milan-v-Lille-direct05.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-01.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-02.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-03.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-04.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-05.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-satv-01.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-satv-02.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-satv-03.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-satv-04.html
http://moreylawfirm.com/jd/Maccabi-v-Villarreal-Liv-satv-05.html
http://moreylawfirm.com/jd/Aviv-v-Villarreal-Liv-01.html
http://moreylawfirm.com/jd/Aviv-v-Villarreal-Liv-02.html
http://moreylawfirm.com/jd/Aviv-v-Villarreal-Liv-03.html
http://moreylawfirm.com/jd/Aviv-v-Villarreal-Liv-04.html
http://moreylawfirm.com/jd/Aviv-v-Villarreal-Liv-05.html
http://moreylawfirm.com/jd/Molde-v-Arsenal-Liv-01.html
http://moreylawfirm.com/jd/Molde-v-Arsenal-Liv-02.html
http://moreylawfirm.com/jd/Molde-v-Arsenal-Liv-03.html
http://moreylawfirm.com/jd/Molde-v-Arsenal-Liv-04.html
http://moreylawfirm.com/jd/Molde-v-Arsenal-Liv-05.html
http://moreylawfirm.com/jd/Arsenal-v-Molde-Liv-01.html
http://moreylawfirm.com/jd/Arsenal-v-Molde-Liv-02.html
http://moreylawfirm.com/jd/Arsenal-v-Molde-Liv-03.html
http://moreylawfirm.com/jd/Arsenal-v-Molde-Liv-04.html
http://moreylawfirm.com/jd/Arsenal-v-Molde-Liv-05.html
http://moreylawfirm.com/jd/M-v-A.html
http://moreylawfirm.com/jd/M-v-B.html
http://moreylawfirm.com/jd/M-v-C.html
http://moreylawfirm.com/jd/M-v-D.html
http://moreylawfirm.com/jd/M-v-E.html
http://moreylawfirm.com/jd/Wolfsberg-v-Dinamo-Zagreb-Live.html
http://moreylawfirm.com/jd/Wolfsberg-v-Dinamo-Zagreb-Live1.html
http://moreylawfirm.com/jd/Wolfsberg-v-Dinamo-Zagreb-Live2.html
http://moreylawfirm.com/jd/Wolfsberg-v-Dinamo-Zagreb-Live3.html
http://moreylawfirm.com/jd/Wolfsberg-v-Dinamo-Zagreb-Live4.html
http://moreylawfirm.com/jd/Wolfsberg-gegen-v-Dinamo-Zagreb-Im-Live.html
http://moreylawfirm.com/jd/Wolfsberg-gegen-v-Dinamo-Zagreb-Im-Live1.html
http://moreylawfirm.com/jd/Wolfsberg-gegen-v-Dinamo-Zagreb-Im-Live2.html
http://moreylawfirm.com/jd/Wolfsberg-gegen-v-Dinamo-Zagreb-Im-Live3.html
http://moreylawfirm.com/jd/Wolfsberg-gegen-v-Dinamo-Zagreb-Im-Live4.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live1.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live2.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live3.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live4.html
http://moreylawfirm.com/jd/National-v-Dog-Show-2020-Live.html
http://moreylawfirm.com/jd/National-v-Dog-Show-2020-Live1.html
http://moreylawfirm.com/jd/National-v-Dog-Show-2020-Live2.html
http://moreylawfirm.com/jd/National-v-Dog-Show-2020-Live3.html
http://moreylawfirm.com/jd/National-v-Dog-Show-2020-Live4.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live1.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live2.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live3.html
http://moreylawfirm.com/jd/Rangers-v-Benfica-Live4.html
http://moreylawfirm.com/jd/Nice-v-Slavia-Prague-En-Direct.html
http://moreylawfirm.com/nfc/Dundalk-v-Rapid-Wien-03.html
http://moreylawfirm.com/nfc/Dundalk-v-Rapid-Wien-02.html
http://moreylawfirm.com/nfc/Dundalk-v-Rapid-Wien-01.html
http://moreylawfirm.com/nfc/Lions-v-Texans-fot06.html
http://moreylawfirm.com/nfc/Lions-v-Texans-fot03.html
http://moreylawfirm.com/nfc/Lions-v-Texans-fot02.html
http://moreylawfirm.com/nfc/Lions-v-Texans-fot01.html
http://moreylawfirm.com/nfc/Antwerp-v-Linz3.html
http://moreylawfirm.com/nfc/Antwerp-v-Linz2.html
http://moreylawfirm.com/nfc/Antwerp-v-Linz1.html
http://moreylawfirm.com/nfc/LASK-v-Antwerpim3.html
http://moreylawfirm.com/nfc/LASK-v-Antwerpim2.html
http://moreylawfirm.com/nfc/LASK-v-Antwerpim1.html
http://moreylawfirm.com/nfc/LASK-v-Antwerp3.html
http://moreylawfirm.com/nfc/LASK-v-Antwerp2.html
http://moreylawfirm.com/nfc/LASK-v-Antwerp1.html
http://moreylawfirm.com/nfc/Gent-v-zvezda3.html
http://moreylawfirm.com/nfc/Gent-v-zvezda2.html
http://moreylawfirm.com/nfc/Gent-v-zvezda1.html
http://moreylawfirm.com/nfc/Gent-v-Rode3.html
http://moreylawfirm.com/nfc/Gent-v-Rode2.html
http://moreylawfirm.com/nfc/Gent-v-Rode1.html
http://moreylawfirm.com/nfc/Gent-v-Crvena3.html
http://moreylawfirm.com/nfc/Gent-v-Crvena2.html
http://moreylawfirm.com/nfc/Gent-v-Crvena1.html
http://moreylawfirm.com/us/t-v-l-on-n01.html
http://moreylawfirm.com/us/t-v-l-on-n02.html
http://moreylawfirm.com/us/t-v-l-on-n03.html
http://moreylawfirm.com/us/t-v-l-on-n04.html
http://moreylawfirm.com/us/t-v-l-on-n05.html
http://moreylawfirm.com/us/t-v-l-on-n06.html
http://moreylawfirm.com/us/t-v-l-on-n07.html
http://moreylawfirm.com/us/t-v-l-on-n08.html
http://moreylawfirm.com/us/w-v-c-on-n01.html
http://moreylawfirm.com/us/w-v-c-on-n02.html
http://moreylawfirm.com/us/w-v-c-on-n03.html
http://moreylawfirm.com/us/w-v-c-on-n04.html
http://moreylawfirm.com/us/w-v-c-on-n05.html
http://moreylawfirm.com/us/w-v-c-on-n06.html
http://moreylawfirm.com/us/w-v-c-on-n07.html
http://moreylawfirm.com/us/w-v-c-on-n08.html
http://moreylawfirm.com/us/Lions-v-Texans-Liv-tv1.html
http://moreylawfirm.com/us/Lions-v-Texans-Liv-tv2.html
http://moreylawfirm.com/us/Lions-v-Texans-Liv-tv3.html
http://moreylawfirm.com/us/Lions-v-Texans-Liv-tv4.html
http://moreylawfirm.com/us/Lions-v-Texans-Liv-tv5.html
http://moreylawfirm.com/us/L-v-b1.html
http://moreylawfirm.com/us/L-v-b2.html
http://moreylawfirm.com/us/L-v-b3.html
http://moreylawfirm.com/us/L-v-b4.html
http://moreylawfirm.com/us/L-v-b.html
http://moreylawfirm.com/us/L-v-h1.html
http://moreylawfirm.com/us/L-v-h2.html
http://moreylawfirm.com/us/L-v-h3.html
http://moreylawfirm.com/us/L-v-h4.html
http://moreylawfirm.com/us/L-v-h5.html
http://moreylawfirm.com/us/National-v-Dog-Show-Liv-tv1.html
http://moreylawfirm.com/us/National-v-Dog-Show-Liv-tv2.html
http://moreylawfirm.com/us/National-v-Dog-Show-Liv-tv3.html
http://moreylawfirm.com/us/National-v-Dog-Show-Liv-tv4.html
http://moreylawfirm.com/us/National-v-Dog-Show-Liv-tv5.html
http://moreylawfirm.com/ben/Milan-v-Lilla-Diretta-Tv4.html
http://moreylawfirm.com/ben/Milan-v-Lilla-Diretta-Tv3.html
http://moreylawfirm.com/ben/Milan-v-Lilla-Diretta-Tv2.html
http://moreylawfirm.com/ben/Milan-v-Lilla-Diretta-Tv1.html
http://moreylawfirm.com/ben/Milan-v-Lilla-Diretta-Tv.html
http://moreylawfirm.com/ben/National-Dog-Show-2020-v-On-Tv4.html
http://moreylawfirm.com/ben/National-Dog-Show-2020-v-On-Tv3.html
http://moreylawfirm.com/ben/National-Dog-Show-2020-v-On-Tv2.html
http://moreylawfirm.com/ben/National-Dog-Show-2020-v-On-Tv1.html
http://moreylawfirm.com/ben/National-Dog-Show-2020-v-On-Tv.html
http://moreylawfirm.com/ben/Tottenham-v-Ludogorets-Game-Tv4.html
http://moreylawfirm.com/ben/Tottenham-v-Ludogorets-Game-Tv3.html
http://moreylawfirm.com/ben/Tottenham-v-Ludogorets-Game-Tv2.html
http://moreylawfirm.com/ben/Tottenham-v-Ludogorets-Game-Tv1.html
http://moreylawfirm.com/ben/Tottenham-v-Ludogorets-Game-Tv.html
http://moreylawfirm.com/ben/Napoli-v-Rijeka-Game-Tv1.html
http://moreylawfirm.com/ben/Napoli-v-Rijeka-Game-Tv.html
http://moreylawfirm.com/ben/Napoli-v-Rijeka-Diretta-Tv2.html
http://moreylawfirm.com/ben/Napoli-v-Rijeka-Diretta-Tv1.html
http://moreylawfirm.com/ben/Napoli-v-Rijeka-Diretta-Tv.html
http://moreylawfirm.com/ben/Houston-Texans-v-Detroit-Lions-Game-Tv4.html
http://moreylawfirm.com/ben/Houston-Texans-v-Detroit-Lions-Game-Tv3.html
http://moreylawfirm.com/ben/Houston-Texans-v-Detroit-Lions-Game-Tv2.html
http://moreylawfirm.com/ben/Houston-Texans-v-Detroit-Lions-Game-Tv1.html
http://moreylawfirm.com/ben/Houston-Texans-v-Detroit-Lions-Game-Tv.html
http://moreylawfirm.com/nfc/AEK-v-Zor-Euro1.html
http://moreylawfirm.com/nfc/AEK-v-Zor-Euro2.html
http://moreylawfirm.com/nfc/AEK-v-Zor-Euro3.html
http://moreylawfirm.com/nfc/AEK-v-Zor-Euro4.html
http://moreylawfirm.com/nfc/AEK-v-Zor-Euro5.html
http://moreylawfirm.com/nfc/AEK-v-Zor1.html
http://moreylawfirm.com/nfc/AEK-v-Zor2.html
http://moreylawfirm.com/nfc/AEK-v-Zor3.html
http://moreylawfirm.com/nfc/AEK-v-Zor4.html
http://moreylawfirm.com/nfc/AEK-v-Zor5.html
http://moreylawfirm.com/nfc/AZ-Alkmaar-v-Real-Sociedad1.html
http://moreylawfirm.com/nfc/AZ-Alkmaar-v-Real-Sociedad2.html
http://moreylawfirm.com/nfc/AZ-Alkmaar-v-Real-Sociedad3.html
http://moreylawfirm.com/nfc/AZ-Alkmaar-v-Real-Sociedad4.html
http://moreylawfirm.com/nfc/AZ-Alkmaar-v-Real-Sociedad5.html
http://moreylawfirm.com/nfc/Bra-v-Lei-pt1.html
http://moreylawfirm.com/nfc/Bra-v-Lei-pt2.html
http://moreylawfirm.com/nfc/Bra-v-Lei-pt3.html
http://moreylawfirm.com/nfc/Bra-v-Lei-pt4.html
http://moreylawfirm.com/nfc/Bra-v-Lei-pt5.html
http://moreylawfirm.com/nfc/Lei-v-Bra1.html
http://moreylawfirm.com/nfc/Lei-v-Bra2.html
http://moreylawfirm.com/nfc/Lei-v-Bra3.html
http://moreylawfirm.com/nfc/Lei-v-Bra4.html
http://moreylawfirm.com/nfc/Lei-v-Bra5.html
http://moreylawfirm.com/nfc/Reial-Societat-v-AZ1.html
http://moreylawfirm.com/nfc/Reial-Societat-v-AZ2.html
http://moreylawfirm.com/nfc/Reial-Societat-v-AZ3.html
http://moreylawfirm.com/nfc/Reial-Societat-v-AZ4.html
http://moreylawfirm.com/nfc/Reial-Societat-v-AZ5.html
http://moreylawfirm.com/nfc/St-Liege-v-Lech-Poznan1.html
http://moreylawfirm.com/nfc/St-Liege-v-Lech-Poznan2.html
http://moreylawfirm.com/nfc/St-Liege-v-Lech-Poznan3.html
http://moreylawfirm.com/nfc/St-Liege-v-Lech-Poznan4.html
http://moreylawfirm.com/nfc/St-Liege-v-Lech-Poznan5.html
http://moreylawfirm.com/nfc/z-v-a1.html
http://moreylawfirm.com/nfc/z-v-a2.html
http://moreylawfirm.com/nfc/z-v-a3.html
http://moreylawfirm.com/nfc/z-v-a4.html
http://moreylawfirm.com/nfc/z-v-a5.html
http://moreylawfirm.com/nfc/a-v-aor1.html
http://moreylawfirm.com/nfc/a-v-aor2.html
http://moreylawfirm.com/nfc/a-v-aor3.html
http://moreylawfirm.com/nfc/a-v-aor4.html
http://moreylawfirm.com/nfc/a-v-aor5.html
http://moreylawfirm.com/nfc/b-v-eur1.html
http://moreylawfirm.com/nfc/b-v-eur2.html
http://moreylawfirm.com/nfc/b-v-eur3.html
http://moreylawfirm.com/nfc/b-v-eur4.html
http://moreylawfirm.com/nfc/b-v-eur5.html
http://moreylawfirm.com/nfc/Braga-v-Leicester-City-EUR01.html
http://moreylawfirm.com/nfc/Braga-v-Leicester-City-EUR02.html
http://moreylawfirm.com/nfc/Braga-v-Leicester-City-EUR03.html
http://moreylawfirm.com/nfc/Braga-v-Leicester-City-EUR04.html
http://moreylawfirm.com/nfc/Braga-v-Leicester-City-EUR05.html
http://moreylawfirm.com/nfc/c-v-eur1.html
http://moreylawfirm.com/nfc/c-v-eur2.html
http://moreylawfirm.com/nfc/c-v-eur3.html
http://moreylawfirm.com/nfc/c-v-eur4.html
http://moreylawfirm.com/nfc/c-v-eur5.html
http://moreylawfirm.com/nfc/Leicester-v-Braga-Live-001.html
http://moreylawfirm.com/nfc/Leicester-v-Braga-Live-002.html
http://moreylawfirm.com/nfc/Leicester-v-Braga-Live-003.html
http://moreylawfirm.com/nfc/Leicester-v-Braga-Live-004.html
http://moreylawfirm.com/nfc/Leicester-v-Braga-Live-005.html