Background on Text No. 3

Message in Text, Part 3

Now you know what a clause is. You know that by picking out the verbs in a span of text, you likewise get your hands on the clauses of that same text-span.

However, what you don't yet know (though are about to find out) is (A) what else besides the verb makes the clause, and (B) how clauses figure in Message. Let's take (B) first, since it's answered quicker, and really it's your whole motivation even for caring about the answer to (A).

The clause is the smallest textual constituent contributing to Message. But this smallness in size does not correlate with smallness in importance. Much to the contrary, the clause is big in Message. VERY BIG. In fact, when measured against overall contribution to Message, the clause beats every other constituent of text, hands down. This is because there are just so many clauses in any text, and so the steady line-for-line contributions of each and every clause simply add up.

But there's one further reason why the clause is so big in Message, and this reason is actually much more important than clause quantity. The reason is this: The clause serves as a template for all other textual contributions to Message.

Every clause has an expected construction. Up front is located the topic, down back is located the information being given about that topic. These two locations, back and front, are locations with respect to the verb. Draw a circle round the verb, then look to its left, and there you'll see the front of the clause; return your eyes to the verb inside your circle, and then look to its right — that stretch of the clause is the back.

Here, have a look at this paragraph from the last post. The front of the clause is underlined, the back is left unchanged, and the verbs are boldfaced (but not all verbs — more on why in a future post).

{ HTM allows for the efficient implementation of parallel algorithms [27]. }1  { It is commonly used to elide expensive software synchronization mechanisms [16, 63]. }2  { Informally, for a CPU thread executing a hardware transaction, all other threads appear to be halted; }3  { whereas, from the outside, a transaction appears as an atomic operation. }4  { A transaction fails if the CPU cannot provide this atomicity due to resource limitations or conflicting concurrent memory accesses. }5  { In this case, all transactional changes need to be rolled back. }6  { To be able to detect conflicts and revert transactions, the CPU needs to keep track of transactional memory accesses. }7  { Therefore, transactional memory is typically divided into a read set and a write set. }8  { A transaction’s read set contains all read memory locations. }9  { Concurrent read accesses by other threads to the read set are generally allowed; }10  { however, concurrent writes are problematic }11  { and — depending on the actual HTM implementation and circumstances — likely lead to transactional aborts. }11'  { Further, any concurrent accesses to the write set necessarily lead to a transactional abort. }12

SOURCE: Strong and Efficient Cache Side-Channel Protection Using Hardware Transactional Memory (2017 USENIX). The content of the paper has not been changed, only enhanced in order to demonstrate just how that content is communicated.

Notice what's been revealed here. The topic is Transaction, and that topic, in all its many variations, appears up front in every clause. Here, let me tabulate this to give you a clearer view:

Core of the topic of each clause Words up front in each clause
Explanatory supplement to pin down the reference of those words
1. Transaction HTM
Hardware Transactional Memory
2. Transaction It
HTM
3. Transaction Informally, for a CPU thread executing a hardware transaction, all other threads
4. Transaction Whereas, from the outside, a transaction
5. Transaction A transaction
6. Transaction In this case, all transactional changes
7. Transaction To be able to detect conflicts and revert transactions, the CPU
8. Transaction Therefore, transactional memory
9. Transaction A transaction's read set
10. Transaction Concurrent read accesses by other threads to the read set
transactions in the other division memory
11. Transaction however, concurrent writes
transactions in the other division memory
11'. Transaction and - depending on the actual HTM implementation and circumstances - likely
12. Transaction Further, any concurrent accesses to the write set necessarily
transactions in that division of memory

My tabulation is really giving you a good clear look at one strand in the overall Message in the paper Strong and Efficient Cache Side-Channel Protection Using Hardware Transactional Memory.

But there's much more to see.

Remember, Message occurs throughout a text. For instance, you've seen that a clause divides nicely in three, into front, middle, and back. Let's have a closer look at that, because again, this architecture is really the architecture that serves as the template for nearly all of Message.

Take again the first sentence of the paragraph above:

|front HTM |middle allows for |back the efficient implementation of parallel algorithms [27].

Now notice what's possible here:

|front The efficient implementation of parallel algorithms |middle is allowed for |back by HTM [27].

And this isn't just a special feature of that one clause. Clauses No.7 and No.9 both permit the same reshuffling. In fact, clause No.7 can be reshuffled in four different ways:

ORIGINAL |front To be able to detect conflicts and revert transactions, the CPU |middle needs to keep track of |back transactional memory accesses.  

RESHUFFLING 01 |front The CPU |middle needs to keep track of |back transactional memory accesses in order to be able to detect conflicts and revert transactions.

RESHUFFLING 02 |front To be able to detect conflicts and revert transactions, transactional memory accesses |middle need to be kept track of |back by the CPU.

RESHUFFLING 03 |front Transactional memory accesses |middle need to be kept track of |back by the CPU in order to be able to detect conflicts and revert transactions.

And notice how each reshuffle varies the topic in ever so slight, yet really quite significant ways:

topic in ORIGINAL | Detection and CPU

topic in RESHUFFLING 01 | CPU

topic in RESHUFFLING 02 | Detection and transactional memory accesses

topic in RESHUFFLING 03 | Transactional memory accesses

Again, these are small variations, but add up such small variations across hundreds of sentences, and you have the ground-base of Message. It is in the clause that Message takes root.

So, you have seen, the clause is composed of three movable chunks, the front, the middle, and the back chunk. Actually, it's more accurate to say: The clause is composed of three basic functions. You have seen the one already, the function of representing change, which function is performed by the verb. Remember, change is the flow of the world, whether that flow occurs in events or is caused by a sentient being. The point is, reality doesn't stand still, and the grammar attempts to capture that change in verbs. This function of the verb is called Process.

Next, there is the function of participating in a Process, which function is typically performed by a noun. Have another look at clause No.1:

|participant HTM |process allows for |participant the efficient implementation of parallel algorithms [27].

There you see the two Participants in the Process allows for, and both are nouns, HTM and implementation.

Lastly, there is a third function in a clause, and this is the function of accompanying or enhancing the combined action of Participant and Process. This function is called the Circumstance, and the distinguishing feature of the Circumstance is that it neither participates nor happens or does. Basically, a Circumstance is not an event and is not an action, nor is a Circumstance anyone or anything participating in an event or action. Instead, the Circumstance surrounds the Process and Participant.

A Circumstance, therefore, is less involved in the Process than is the Participant, and this fact is reflected in the grammar. Circumstances are barred from filling the front of the clause. For example, take clause No.2, which has the Circumstance commonly. This Circumstance cannot, on its own, fill front position in the clause:

|front Commonly |middle is it used to elide |back expensive software synchronization mechanisms [16, 63].

That is the grammatical proof, if you will, for a Circumstance: On its own, it cannot take up the front of the clause. Conversely, any clausal constituent that can take up the front — that constituent is thus proven by the grammar to be a Participant.

So, that's it for this week. Read more about Message in the next post on Background in Text.

Please email comments or questions to daniel.shea∂kit.edu

This blog is for you.