Coding for solid state drives
Walter Bright via Digitalmars-d
digitalmars-d at puremagic.com
Sat Apr 25 13:16:32 PDT 2015
On 4/24/2015 10:24 PM, Vladimir Panteleev wrote:
> On Friday, 24 April 2015 at 08:27:06 UTC, Walter Bright wrote:
>> http://codecapsule.com/2014/02/12/coding-for-ssds-part-6-a-summary-what-every-programmer-should-know-about-solid-state-drives/
>>
>>
>> An interesting article. Anyone want to see if there are any modifications we
>> should make to std.stdio to work better with SSDs? (Such as changing the
>> buffer sizes.)
>
> This article seems to target operating system authors more than application
> programmers, as OS caches will invalidate most application-side changes.
>
> The HN comments are also mostly dismissive of this article:
> https://news.ycombinator.com/item?id=9431571
"The high-level optimizations are important: * Choose a good SSD * Read and
Write in "page" multiples and "page" aligned * Use lots of parallel IOs (high
queue depth) * Do not put unrelated data in the same "page"
A page used to be 4KB, SSDs are now switching to 8KB and will switch to 16KB
later on. Just pick a reasonable size around that (16KB if you can do it will
last you a while). Don't sweat the page multiples too much, the SSDs will most
likely have to handle 4KB pages for a long while due to databases and such so
they will keep some optimization around that size anyhow, it will make it easier
for them if you use a larger size.
I wouldn't heed any of the advice on single-threading, the biggest performance
boost comes from parallelism and writes are anyway buffered by the SSD (a good
SSD has a super-cap to have a good sized write cache)."
More information about the Digitalmars-d
mailing list