All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] SMPDesign: Remove duplicate item
@ 2023-04-11 16:28 Alan Huang
  2023-04-12  0:16 ` Akira Yokosawa
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Huang @ 2023-04-11 16:28 UTC (permalink / raw)
  To: paulmck, akiyks; +Cc: perfbook, Alan Huang

Signed-off-by: Alan Huang <mmpgouride@gmail.com>
---
 SMPdesign/criteria.tex | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/SMPdesign/criteria.tex b/SMPdesign/criteria.tex
index d3d84506..bc4d3a77 100644
--- a/SMPdesign/criteria.tex
+++ b/SMPdesign/criteria.tex
@@ -145,7 +145,7 @@ parallel program.
 	The larger the gap between the number of CPUs
 	and the actual speedup, the less efficiently the
 	CPUs will be used.
-	Similarly, the greater the desired efficiency, the smaller
+	Similarly, the greater the desired efficiency, the bigger
 	the achievable speedup.
 \item	If the available synchronization primitives have
 	high overhead compared to the critical sections
@@ -157,11 +157,6 @@ parallel program.
 	using asymmetric primitives
 	(see \cref{chp:Deferred Processing}),
 	or by using a coarse-grained design such as \IXh{code}{locking}.
-\item	If the critical sections have high overhead compared
-	to the primitives guarding them, the best way
-	to improve speedup is to increase parallelism
-	by moving to reader/writer locking, \IXh{data}{locking}, asymmetric,
-	or data ownership.
 \item	If the critical sections have high overhead compared
 	to the primitives guarding them and the data structure
 	being guarded is read much more often than modified,
-- 
2.34.1


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

* Re: [PATCH] SMPDesign: Remove duplicate item
  2023-04-11 16:28 [PATCH] SMPDesign: Remove duplicate item Alan Huang
@ 2023-04-12  0:16 ` Akira Yokosawa
  2023-04-12  1:15   ` Alan Huang
  0 siblings, 1 reply; 5+ messages in thread
From: Akira Yokosawa @ 2023-04-12  0:16 UTC (permalink / raw)
  To: Alan Huang; +Cc: perfbook, paulmck, Akira Yokosawa

Hi Alan,

On Tue, 11 Apr 2023 12:28:05 -0400, Alan Huang wrote:
> Signed-off-by: Alan Huang <mmpgouride@gmail.com>
> ---
>  SMPdesign/criteria.tex | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/SMPdesign/criteria.tex b/SMPdesign/criteria.tex
> index d3d84506..bc4d3a77 100644
> --- a/SMPdesign/criteria.tex
> +++ b/SMPdesign/criteria.tex
> @@ -145,7 +145,7 @@ parallel program.
>  	The larger the gap between the number of CPUs
>  	and the actual speedup, the less efficiently the
>  	CPUs will be used.
> -	Similarly, the greater the desired efficiency, the smaller
> +	Similarly, the greater the desired efficiency, the bigger
>  	the achievable speedup.

I might not be fully woken up, but this change doesn't make
sense to me.

>  \item	If the available synchronization primitives have
>  	high overhead compared to the critical sections
> @@ -157,11 +157,6 @@ parallel program.
>  	using asymmetric primitives
>  	(see \cref{chp:Deferred Processing}),
>  	or by using a coarse-grained design such as \IXh{code}{locking}.
> -\item	If the critical sections have high overhead compared
> -	to the primitives guarding them, the best way
> -	to improve speedup is to increase parallelism
> -	by moving to reader/writer locking, \IXh{data}{locking}, asymmetric,
> -	or data ownership.

You mean, this and the next item says the same thing?
I don't think so.

Item 4:

    If the critical sections have high overhead compared to
    the primitives guarding them, the best way to improve
                                                  ^^^^^^^
    speedup is to increase parallelism by moving to reader/writer
    ^^^^^^^
    locking, data locking, asymmetric, or data ownership.
             ^^^^^^^^^^^^^                ^^^^^^^^^^^^^^

Item 5:

    If the critical sections have high overhead compared to
    the primitives guarding them and the data structure being
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    guarded is read much more often than modified, the best way
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    to increase parallelism is to move to reader/writer locking
    or asymmetric primitives.

Are you sure they are duplicates ???

        Thanks, Akira

>  \item	If the critical sections have high overhead compared
>  	to the primitives guarding them and the data structure
>  	being guarded is read much more often than modified,


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

* Re: [PATCH] SMPDesign: Remove duplicate item
  2023-04-12  0:16 ` Akira Yokosawa
@ 2023-04-12  1:15   ` Alan Huang
  2023-04-12  2:51     ` Akira Yokosawa
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Huang @ 2023-04-12  1:15 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook, paulmck

>> -	Similarly, the greater the desired efficiency, the smaller
>> +	Similarly, the greater the desired efficiency, the bigger
>> 	the achievable speedup.
> 
> I might not be fully woken up, but this change doesn't make
> sense to me.

The original sentence means (to me) If we get greater efficiency use of CPUs,
we get smaller speedup.

If I misunderstood, please correct me.

>    If the critical sections have high overhead compared to
>    the primitives guarding them, the best way to improve
>                                                  ^^^^^^^
>    speedup is to increase parallelism by moving to reader/writer
>    ^^^^^^^
>    locking, data locking, asymmetric, or data ownership.
>             ^^^^^^^^^^^^^                ^^^^^^^^^^^^^^
> 
> Item 5:
> 
>    If the critical sections have high overhead compared to
>    the primitives guarding them and the data structure being
>                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    guarded is read much more often than modified, the best way
>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    to increase parallelism is to move to reader/writer locking
>    or asymmetric primitives.
> 
> Are you sure they are duplicates ???


If the critical sections have high overhead compared to the primitives guarding them,
It means that the overhead of primitives is relative small, but the aim of data locking and data ownership 
is to reduce the overhead of primitives. 

Thanks,
Alan



> 2023年4月12日 上午8:16,Akira Yokosawa <akiyks@gmail.com> 写道:
> 
> Hi Alan,
> 
> On Tue, 11 Apr 2023 12:28:05 -0400, Alan Huang wrote:
>> Signed-off-by: Alan Huang <mmpgouride@gmail.com>
>> ---
>> SMPdesign/criteria.tex | 7 +------
>> 1 file changed, 1 insertion(+), 6 deletions(-)
>> 
>> diff --git a/SMPdesign/criteria.tex b/SMPdesign/criteria.tex
>> index d3d84506..bc4d3a77 100644
>> --- a/SMPdesign/criteria.tex
>> +++ b/SMPdesign/criteria.tex
>> @@ -145,7 +145,7 @@ parallel program.
>> 	The larger the gap between the number of CPUs
>> 	and the actual speedup, the less efficiently the
>> 	CPUs will be used.
>> -	Similarly, the greater the desired efficiency, the smaller
>> +	Similarly, the greater the desired efficiency, the bigger
>> 	the achievable speedup.
> 
> I might not be fully woken up, but this change doesn't make
> sense to me.
> 
>> \item	If the available synchronization primitives have
>> 	high overhead compared to the critical sections
>> @@ -157,11 +157,6 @@ parallel program.
>> 	using asymmetric primitives
>> 	(see \cref{chp:Deferred Processing}),
>> 	or by using a coarse-grained design such as \IXh{code}{locking}.
>> -\item	If the critical sections have high overhead compared
>> -	to the primitives guarding them, the best way
>> -	to improve speedup is to increase parallelism
>> -	by moving to reader/writer locking, \IXh{data}{locking}, asymmetric,
>> -	or data ownership.
> 
> You mean, this and the next item says the same thing?
> I don't think so.
> 
> Item 4:
> 
>    If the critical sections have high overhead compared to
>    the primitives guarding them, the best way to improve
>                                                  ^^^^^^^
>    speedup is to increase parallelism by moving to reader/writer
>    ^^^^^^^
>    locking, data locking, asymmetric, or data ownership.
>             ^^^^^^^^^^^^^                ^^^^^^^^^^^^^^
> 
> Item 5:
> 
>    If the critical sections have high overhead compared to
>    the primitives guarding them and the data structure being
>                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    guarded is read much more often than modified, the best way
>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    to increase parallelism is to move to reader/writer locking
>    or asymmetric primitives.
> 
> Are you sure they are duplicates ???
> 
>        Thanks, Akira
> 
>> \item	If the critical sections have high overhead compared
>> 	to the primitives guarding them and the data structure
>> 	being guarded is read much more often than modified,


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

* Re: [PATCH] SMPDesign: Remove duplicate item
  2023-04-12  1:15   ` Alan Huang
@ 2023-04-12  2:51     ` Akira Yokosawa
  2023-04-12 10:40       ` Alan Huang
  0 siblings, 1 reply; 5+ messages in thread
From: Akira Yokosawa @ 2023-04-12  2:51 UTC (permalink / raw)
  To: Alan Huang; +Cc: perfbook, paulmck, Akira Yokosawa

On Wed, 12 Apr 2023 09:15:12 +0800, Alan Huang wrote:
>>> -	Similarly, the greater the desired efficiency, the smaller
>>> +	Similarly, the greater the desired efficiency, the bigger
>>> 	the achievable speedup.
>>
>> I might not be fully woken up, but this change doesn't make
>> sense to me.
> 
> The original sentence means (to me) If we get greater efficiency use of CPUs,
> we get smaller speedup.
> 
> If I misunderstood, please correct me.

My version of interpretation of the sentence:

   Similarly, if our goal is greater efficiency, we might end up
   in a smaller speedup in the end.

One extreme approach for the greatest efficiency might be not to
parallelize at all, to use a single CPU, and to get a negative
speedup (i.e., speed down).

> 
>>    If the critical sections have high overhead compared to
>>    the primitives guarding them, the best way to improve
>>                                                  ^^^^^^^
>>    speedup is to increase parallelism by moving to reader/writer
>>    ^^^^^^^
>>    locking, data locking, asymmetric, or data ownership.
>>             ^^^^^^^^^^^^^                ^^^^^^^^^^^^^^
>>
>> Item 5:
>>
>>    If the critical sections have high overhead compared to
>>    the primitives guarding them and the data structure being
>>                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>    guarded is read much more often than modified, the best way
>>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>    to increase parallelism is to move to reader/writer locking
>>    or asymmetric primitives.
>>
>> Are you sure they are duplicates ???
> 
> 
> If the critical sections have high overhead compared to the primitives guarding them,
> It means that the overhead of primitives is relative small, but the aim of data locking and data ownership 
> is to reduce the overhead of primitives.

Well, I think Paul's motivation of special casing read-mostly
data comes from his expertise in RCU.

I'd like to respect his motivation.

Anyway, this list is more of a guideline of approaches to
parallel-programming design considerations.
Why do you want it to be so precise ???

        Thanks, Akira

> 
> Thanks,
> Alan
> 
[...]

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

* Re: [PATCH] SMPDesign: Remove duplicate item
  2023-04-12  2:51     ` Akira Yokosawa
@ 2023-04-12 10:40       ` Alan Huang
  0 siblings, 0 replies; 5+ messages in thread
From: Alan Huang @ 2023-04-12 10:40 UTC (permalink / raw)
  To: Akira Yokosawa, paulmck; +Cc: perfbook

> One extreme approach for the greatest efficiency might be not to
> parallelize at all, to use a single CPU, and to get a negative
> speedup (i.e., speed down).

But we can also get the greatest efficiency using data ownership under the maximum degree of parallelism.

> Anyway, this list is more of a guideline of approaches to
> parallel-programming design considerations.

Got it.


Thanks,
Alan



> 2023年4月12日 上午10:51,Akira Yokosawa <akiyks@gmail.com> 写道:
> 
> On Wed, 12 Apr 2023 09:15:12 +0800, Alan Huang wrote:
>>>> -	Similarly, the greater the desired efficiency, the smaller
>>>> +	Similarly, the greater the desired efficiency, the bigger
>>>> 	the achievable speedup.
>>> 
>>> I might not be fully woken up, but this change doesn't make
>>> sense to me.
>> 
>> The original sentence means (to me) If we get greater efficiency use of CPUs,
>> we get smaller speedup.
>> 
>> If I misunderstood, please correct me.
> 
> My version of interpretation of the sentence:
> 
>   Similarly, if our goal is greater efficiency, we might end up
>   in a smaller speedup in the end.
> 
> One extreme approach for the greatest efficiency might be not to
> parallelize at all, to use a single CPU, and to get a negative
> speedup (i.e., speed down).
> 
>> 
>>>   If the critical sections have high overhead compared to
>>>   the primitives guarding them, the best way to improve
>>>                                                 ^^^^^^^
>>>   speedup is to increase parallelism by moving to reader/writer
>>>   ^^^^^^^
>>>   locking, data locking, asymmetric, or data ownership.
>>>            ^^^^^^^^^^^^^                ^^^^^^^^^^^^^^
>>> 
>>> Item 5:
>>> 
>>>   If the critical sections have high overhead compared to
>>>   the primitives guarding them and the data structure being
>>>                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>   guarded is read much more often than modified, the best way
>>>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>   to increase parallelism is to move to reader/writer locking
>>>   or asymmetric primitives.
>>> 
>>> Are you sure they are duplicates ???
>> 
>> 
>> If the critical sections have high overhead compared to the primitives guarding them,
>> It means that the overhead of primitives is relative small, but the aim of data locking and data ownership 
>> is to reduce the overhead of primitives.
> 
> Well, I think Paul's motivation of special casing read-mostly
> data comes from his expertise in RCU.
> 
> I'd like to respect his motivation.
> 
> Anyway, this list is more of a guideline of approaches to
> parallel-programming design considerations.
> Why do you want it to be so precise ???
> 
>        Thanks, Akira
> 
>> 
>> Thanks,
>> Alan
>> 
> [...]


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

end of thread, other threads:[~2023-04-12 10:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-11 16:28 [PATCH] SMPDesign: Remove duplicate item Alan Huang
2023-04-12  0:16 ` Akira Yokosawa
2023-04-12  1:15   ` Alan Huang
2023-04-12  2:51     ` Akira Yokosawa
2023-04-12 10:40       ` Alan Huang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.