Anthony Atkielski wrote:
>
> Exactly ... but that's the magic of the variable address scheme. You only
> have to allocate disparate chunks in a fixed address scheme because the size
> of each chunk is limited by the length of an address field. But if the
> address field is variable, you can make any chunk as big as you want. If
> you have addresses of 4739124xx initially (Metropolis only had a few
> machines at first), and you run out of addresses after 473912498, you just
> make 473912499 point to "more addresses for Metropolis," and start
> allocating, say 4739124990001 through 4739124999998 (you always leave at
> least one slot empty so that it can point to "more addresses").
Seems like that's very inefficient. You're building a tree. You make the
tree deeper in places where you have more nodes.
Even with forward-looking allocations, the tree is going to lopside
toward a linear organization, and need to be rebalanced.
(e.g., renumbered).
> No matter how conservative they are, the finite length of the address field
> will eventually cause problems, and much sooner than anyone thinks.
And variable length addrs. will cause problems eventually too, but it'll
be harder to explain why.
Joe