Mastodon Feed: Post

Mastodon Feed

dysfun@treehouse.systems ("gaytabase") wrote:

i did also get fairly far with making avx-512 insert routines for the HOT when i last touched it. i think it might even be possible to do the core of the insert and delete procedures in constant time for each node layout. the original insert procedure from the HOT paper is a branchy, loopy mess (and lo and behold, it advertises itself for read-mostly workloads!), but fortunately it seems largely amenable to simdification if you've got avx512 (and thus predication) available.

if everyone had avx-512, the code required to implement the HOT in C would probably be quite small. you might not even hate to maintain it. but already you're going to need a portable branchy loopy mess, so that's two versions. throw in support for a few more cpus, each with harshly increasing restrictions on what you can do and it becomes a mess quite quickly.