From: Keith Henson (firstname.lastname@example.org)
Date: Tue Mar 16 2004 - 07:49:22 MST
At 08:25 AM 16/03/04 -0500, Ben wrote:
>For Novamente, we chose C++ because we
>were paranoid about scalability to deal effectively with massive amounts
Xanada hypertext took a similar approach for similar reasons.
About 80% of the code was written in Smalltalk and autoconverted to
C++. The rest was raw C++.
The version I worked on had fixed size pointers but the general design had
been worked out in variable sized numbers they called "tumblers."
A high fraction of the design effort had been put into "log scaling" where
access slowed as the log of the absolute size of the data store. The fan
out in the (7? 8?) dimension tree was about one additional disk read for
each factor of a hundred. I.e., an 8k disk block contained about 100
pointers, most reduced to "stubs" that pointed to other disk blocks. The
really active parts of the tree maintaining code were involved in packing
and unpacking these disk blocks and cleaning up the mess this made of memory.
This was a long time ago in computer terms, but the general problem of
expensive, fast memory vs low cost slow memory is still with us.
There are people who understand the Xanadu details much better than I
do. The problem is that they developed a large number of special terms
that make discussion nearly impossible to follow.
This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:46 MDT