ArticleslgStudy

science

Shardmap

Shardmap is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Shardmap rather than just read about it. In short: Shardmap is a directory index design by Daniel Phillips who created the HTree and PHTree tree data structures and the Tux3 file system. A Shardmap index consists of a scalable number of index shards.

Key takeaways

  • Shardmap belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Shardmap to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Shardmap from memory before moving on to harder problems.

Reference excerpt

Shardmap is a directory index design by Daniel Phillips who created the HTree and PHTree tree data structures and the Tux3 file system. A Shardmap index consists of a scalable number of index shards. Each shard entry maps a hash key to the logical block number of a directory entry block known to contain a name that hashes to that key. Each shard is represented as an unsorted fifo on disk and a small hash table in memory. Shardmap scales in two ways:

Rehash a cached shard to a larger number of hash buckets Reshard a stored shard fifo to divide it into multiple, smaller shards. These operations are staggered to avoid latency spikes. The reshard operation imposes a modest degree of write multiplication on the Shardmap design, asymptotically approaching a factor of two. The key ideas of Shardmap are:

The representation of directory data is not the same on media as it is in cache. On media we have fifos, but in cache we have hash tables. Updating a fifo is cache efficient. Only the tail block of the fifo needs to be present in cache. The cache footprint of the media image of a shardmap is therefore just one disk block per shard. A small fifo on media is easily loaded and converted to an efficient hash table shard on demand. Once in cache, index updates are performed by updating the cached hash table and appending the same entries to the final block of the shard fifo. The shardmap implementation in the Tux3 file system uses SipHash hash function designed by Jean-Philippe Aumasson and Daniel J. Bernstein.

See also Dirhash

External links https://lkml.org/lkml/2013/6/18/869 on the Linux kernel mailing list (LKML)

Worked examples

Example 1 — a first encounter with Shardmap

Start with the simplest possible case. Write down what Shardmap claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Shardmap before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Shardmap ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Shardmap

In research
Shardmap appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Shardmap in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Shardmap is common in secondary-school and first-year university syllabi. It links to neighbouring topics Database index techniques, so understanding it makes those chapters shorter.
In everyday life
Look for Shardmap outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Shardmap in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Shardmap means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Shardmap out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Shardmap in simple terms?

Shardmap is a directory index design by Daniel Phillips who created the HTree and PHTree tree data structures and the Tux3 file system. A Shardmap index consists of a scalable number of index shards.

Why does Shardmap matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Shardmap?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Shardmap.

Tags

  • Database index techniques

Keep exploring