Theme

The thread: The threshold is the algorithm — page 3

Page 3 of 3, continuing the same thread in the same order.
246buckets read per insertionshare of keys in overflow, settled0.001%0.01%0.1%1%10%blind kicks, caps 2 to 64look, first with roomlook, the emptiesttwo levels (large dots)caps 0, 1, 2, 4 on the looks95% load, 16,384 entriesoverflow on a log scale What the machine does

A look that spreads the room

A cuckoo table's insertion that meets a full bucket can look at its residents' other buckets before moving anyone, and the look that stops at the first with room leaves 0.20% of keys in overflow at 95% load. Moving the resident to the emptiest of the eight instead was predicted to leave none, for one and a half more reads, by spreading the table's free slots rather than consuming them where they are found. It leaves 0.08% for 2.8 more reads, and at 97% load it barely helps. The room does spread, and spread room is still room a look cannot reach: one more level of looking, at fewer reads, leaves none.

246lookups for every insertion (log scale)bucket reads an operation0.10.3131030100blind kicks, cap of 2blind kicks, cap of 32look, first with room, cap 2look, the emptiest, cap 2two-level look95% load, stored keys asked for evenlycheapest: blind2, first2 What the machine does

Overflow holds the old keys

A cuckoo table that kicks blind under a cap of two leaves 9% of its keys in overflow, and every way of searching harder for room leaves fewer. Charged for its lookups as well as its insertions, the overflow was predicted to make a deeper search pay from ten lookups an insertion. It does not: blind kicks under a cap of two are the cheapest table up to thirty lookups an insertion when stored keys are asked for evenly, and at every mix measured when they are asked for by recency. Searching harder also moves keys into their second buckets, which every lookup pays for, and the keys a kick leaves in overflow are the old ones, not the new.

124.9128.8135.8the corners133.2the watch127.4count of 3128.9count of 3, silence124.9count of 5130.3count of 5, silence126.4count of 10135.8count of 10, silence132.9count of 20127.4count of 20, silence127.4cells a query; the grey rule is the cornersslows halfway, 1,000 → 10,000four maps, better window Two parameters

A switch that hears the traffic stop

A landmark watch switched off by a count of the traffic's stretch ends cannot see traffic slow down, because a slowing is the events stopping, and a count of events keeps its last reading. Letting the open spacing since the last stretch end into the reading, once it is longer than the recorded ones, was predicted to turn the watch back on within four thousand queries of a slowing and cost nothing on steady traffic. It costs nothing on steady traffic, and on ten stretch ends it hears the slowing late, after three to eleven thousand queries, because the silence is averaged with nine fast spacings. On five or three it hears it in time, and the switch on five comes within two cells of the best known policy on every stream.

124.5128.6135.8the corners133.2the watch127.4count, 3 ends128.9silence, 3 ends124.9override, 3 ends124.5count, 5 ends130.3silence, 5 ends126.4override, 5 ends125.9count, 10 ends135.8silence, 10 ends132.9override, 10 ends127.9cells a query; the rule is the watchslows halfway, 1,000 → 10,000four maps, better window Two parameters

A silence that overrules the count

A landmark watch switched to the corners by a count of the traffic's stretch ends heard a slowing only once the silence outweighed the fast spacings it was averaged with, about 5,900 queries on ten stretch ends. Letting an open spacing of 1,600 queries overrule the count outright was predicted to make the count's length stop mattering on the stream that slows. It hears the slowing within a thousand queries at every count from three to ten, and keeps the corners 8% of the slow half where the count kept them 65 to 75%; the counts still differ, by 3.4 cells a query, because the fast half is where a short count keeps the corners that pay. On the stream that speeds up the override is the cheapest switch at every count, and on steady traffic it is within a cell and a half of the silence.

All threads