I have a statement that uses "at once". It is supposed to mean "in one sweep" but the longer I look at it, the more it sounds to me like "immediately". What would you suggest? Keep it or change it?

Consider a range of possibilities, where all metadata blocks are either allocated in one continuous range (called an extent), are divided into subsets, or are divided into individual blocks. First approach we shall call the extent approach and it requires that all blocks are read from a continuous area on disk at once and after changes are made all blocks are stored to another continuous area at once. Last approach we shall call block approach. It is prevalent in modern filesystems. Space is allocated eagerly and non-preemptively, one block at a time eventually leading to fragmentation of metadata.

For comparison, here is a different fragment from same document:

Consider a hybrid or rather a transitional approach. Initially all entries are loaded from one extent, kept in memory in entirety and the whole time, and occasionally stored to disk as one extent. If at some point amount of entries grows over a certain threshold, a transition to a B-tree representation is commenced, all entries (already in memory) are relocated into tree nodes and stored to disk in one sweep. The threshold can be chosen low enough so storing entire dictionary in one sweep is faster than analogous B-tree operation (few disk seeks). After transition, operations are carried out on the B-tree representation. If changes are being accumulated over some period of time then comparison is even more favorable. Intents (patches) can be stored to disk to persist individual operations instead of storing the entire dictionary every time. Intents are described in a later chapter on fsync.

  • 1
    Do you think that using "all at once" instead of just "at once" would adequately remove the ambiguity? – Sven Yargs Oct 31 '15 at 22:24
  • 1
    "in a single read" "in a single write" – Jim Nov 1 '15 at 0:34

The phrase "in one sweep" certainly removes any ambiguity that "at once" might cause, so you're better off standardizing on that.

  • To be honest, I do not like "in one sweep". Sweeping is something that should be done to the floor, not the hard disk. That is why I am asking for suggestions. But I do think this is most accurate word suggested so far. – ArekBulski Nov 1 '15 at 0:15

In your context I think it is wiser to be explicit. You need to distinguish between 'simultaneously' and 'immediately'.

...it requires that all blocks are read from a continuous area on disk simultaneously...


...it requires that all blocks are read from a continuous area on disk immediately...

depending on which you mean.

  • Simultaneously is the word I was missing. However, I am not sure it is the best word to use here. Hard disk does not process entire area simultaneously but sequentially, without pause or interleaving with other operations. Kind of a detail really. – ArekBulski Oct 31 '15 at 23:00
  • @ArekBulski, yes I had the same thought. I'm doubtful about 'at once' for the same reason. I think you need to say, "at one time" – chasly from UK Oct 31 '15 at 23:08
  • "at one time" could also mean unspecified moment, at some point in time? Another ambiguity. – ArekBulski Nov 1 '15 at 0:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.