IDE не хранит весь индекс в памяти. Когда создаётся дерево, то вам на каждый узел нужно вызывать alloc. Операция не очень быстрая. В итоге приходим к тому, что нам нужно выделять память страницами. Желательно страницы уметь связывать зависимостями. Чтобы если дерево зависит от нескольких страниц при освобождении дерева освобождать все страницы. Так же надо по умному располагать эти деревья по страницам. Мороки много)
почему то по прочтении текста вспомнилась Intel PUMA (DARPA HIVE) — может там чего накопали, может какие-то публикации есть, которые можно притянуть к обычному x86_64 ?