Let me first give the address of my own solution (not plan9, but planport):
https://github.com/vestein463/plan9port
under src/cmd/venti/srv/mventi.c

The implementation uses the original arena format, but does not need indexsects 
or bloom filter (bloom filter is not useful in this case as the trie 
implementation of the index is just effective enough) , but of course 
sufficient main memory to hold the index.

I read the directories of the arenas at startup. This takes  some 3 Minutes for 
80GB arenas.

The tricky thing is to avoid the storage (20 mostly useless bytes)  of the full 
scores in the index tree. If you read data, you expect the score to be present 
already on the arena partitition, so you only need the leading bytes of the 
score to find that. 

The other tricky thing is the decision whether to use 16-way or 8-way trie, 
because the last node will contain few entries, but the all of the upper ones 
are full or nearly full.


------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tb88459bd8ed4d095-Mdb8eefaae896b634360abdbf
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to