Discussions of the Parallel Programming book
 help / color / mirror / Atom feed
* Feedback on Chapter 9
@ 2016-07-21 14:56 Akira Yokosawa
  2016-07-23 11:06 ` Akira Yokosawa
  0 siblings, 1 reply; 3+ messages in thread
From: Akira Yokosawa @ 2016-07-21 14:56 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

Hi Paul,

I have a few comments on Chapter 9.

1st one is on the description of Figure 9.5.
When one reads the following,

> The ``ideal'' trace was generated by running the sequential code
> shown in Figure 9.2.

one might wonder, "Wait, why a sequential code scales with the number
of CPUs (threads)?"

Of course, route_lookup() of Figure 9.2 can be run concurrently on
multiple CPUs. But it might not be obvious for a novice reader.
Maybe you can make this as a Quick Quiz.

2nd one is for Figure 9.33.

Here, RCU QSBR (quiescent-state-based-reclamation) is mentioned.
However, there seems to be no explanation of what actually it is.
Do you plan to add some explanation or reference?

                                           Thanks, Akira


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Feedback on Chapter 9
  2016-07-21 14:56 Feedback on Chapter 9 Akira Yokosawa
@ 2016-07-23 11:06 ` Akira Yokosawa
  2016-07-25  0:36   ` Paul E. McKenney
  0 siblings, 1 reply; 3+ messages in thread
From: Akira Yokosawa @ 2016-07-23 11:06 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

On 2016/07/21 23:56:25 +0900, Akira Yokosawa wrote:
> Hi Paul,
> 
> I have a few comments on Chapter 9.
> 
> 1st one is on the description of Figure 9.5.
> When one reads the following,
> 
>> The ``ideal'' trace was generated by running the sequential code
>> shown in Figure 9.2.
> 
> one might wonder, "Wait, why a sequential code scales with the number
> of CPUs (threads)?"
> 
> Of course, route_lookup() of Figure 9.2 can be run concurrently on
> multiple CPUs. But it might not be obvious for a novice reader.
> Maybe you can make this as a Quick Quiz.
> 
> 2nd one is for Figure 9.33.
> 
> Here, RCU QSBR (quiescent-state-based-reclamation) is mentioned.
> However, there seems to be no explanation of what actually it is.
> Do you plan to add some explanation or reference?

It seems like it is (essentially) the same as "RCU Based on Quiescent
States" described in Section 9.5.5.9, isn't it? 

If it is, it might be enough to just add a reference to the section
and use a consistent abbreviation.

Also, Quick Quiz 9.72 is essentially the same as Quick Quiz 9.26, isn't it?
It seems like we need some more tweaks to improve overall consistency.

And here are some additional feedback regarding Chapter 9:

* In Answer of Quick Quiz 9.28, SRCU and "RCU Classic" appear for the first
  time (if you are reading Chapter 9 from the beginning) without any
  explanation of what they are.

* Just after Quick Quiz 9.30, discussion on LKML is mentioned. "git blame"
  shows that this sentence was there in the initial commit in 2008.
  we need a reference here. Also, Section 9.2 is mentioned as a summary
  of the discussion, but Section 13.2 seems like where the summary exists
  now.

                                          Thanks, Akira

>
>                                            Thanks, Akira
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Feedback on Chapter 9
  2016-07-23 11:06 ` Akira Yokosawa
@ 2016-07-25  0:36   ` Paul E. McKenney
  0 siblings, 0 replies; 3+ messages in thread
From: Paul E. McKenney @ 2016-07-25  0:36 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Sat, Jul 23, 2016 at 08:06:16PM +0900, Akira Yokosawa wrote:
> On 2016/07/21 23:56:25 +0900, Akira Yokosawa wrote:
> > Hi Paul,
> > 
> > I have a few comments on Chapter 9.

Thank you for the review and comments!

> > 1st one is on the description of Figure 9.5.
> > When one reads the following,
> > 
> >> The ``ideal'' trace was generated by running the sequential code
> >> shown in Figure 9.2.
> > 
> > one might wonder, "Wait, why a sequential code scales with the number
> > of CPUs (threads)?"
> > 
> > Of course, route_lookup() of Figure 9.2 can be run concurrently on
> > multiple CPUs. But it might not be obvious for a novice reader.
> > Maybe you can make this as a Quick Quiz.

I like that idea, but I already have a pair of Quick Quizzes there, so
I added the following:

	which works only because this is a read-only workload.

With a bit more context:

	The "ideal" trace was generated by running the sequential
	code shown in Figure 9.2, which works only because this is a
	read-only workload.

> > 2nd one is for Figure 9.33.
> > 
> > Here, RCU QSBR (quiescent-state-based-reclamation) is mentioned.
> > However, there seems to be no explanation of what actually it is.
> > Do you plan to add some explanation or reference?
> 
> It seems like it is (essentially) the same as "RCU Based on Quiescent
> States" described in Section 9.5.5.9, isn't it? 

Good point, but Figure 9.19 is an earlier example.  I added the
definition in the discussion of this figure, and then a backwards
reference from the discussion of Figure 9.33 to both Figure 9.19
and the section it appears in.

> If it is, it might be enough to just add a reference to the section
> and use a consistent abbreviation.
> 
> Also, Quick Quiz 9.72 is essentially the same as Quick Quiz 9.26, isn't it?
> It seems like we need some more tweaks to improve overall consistency.

I am happy having them both, given that this is often a point of
confusion.  What tweaks would you like to see?  (I should probably
remove the "WTF?", if that is your concern.)

> And here are some additional feedback regarding Chapter 9:
> 
> * In Answer of Quick Quiz 9.28, SRCU and "RCU Classic" appear for the first
>   time (if you are reading Chapter 9 from the beginning) without any
>   explanation of what they are.

I changed the SRCU primitives into RCU primitives, and then changed
"RCU Classic" into "RCU QSBR".

> * Just after Quick Quiz 9.30, discussion on LKML is mentioned. "git blame"
>   shows that this sentence was there in the initial commit in 2008.
>   we need a reference here. Also, Section 9.2 is mentioned as a summary
>   of the discussion, but Section 13.2 seems like where the summary exists
>   now.

Good catch!  I removed the "LKML" and updated the reference to
Section 13.2, as you suggested.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-07-25  0:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-21 14:56 Feedback on Chapter 9 Akira Yokosawa
2016-07-23 11:06 ` Akira Yokosawa
2016-07-25  0:36   ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox