All of lore.kernel.org
 help / color / mirror / Atom feed
* Other architectures we can work on?
@ 2018-10-01  3:16 Junchang Wang
  2018-10-01  3:23 ` Fwd: " Junchang Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Junchang Wang @ 2018-10-01  3:16 UTC (permalink / raw)
  To: paulmck, perfbook

[-- Attachment #1: Type: text/plain, Size: 567 bytes --]

Hi Paul and list,

I'm again reading the excellent 15th chapter (Advanced Synchronization),
which helps me eventually understand how a hardware/compiler can
optimize--and hence ``break''-- my parallelized code :-).

I really want to get my hands dirty and to test my code and samples in
perfbook on real servers. However, all servers in my lab are x86. I wonder
if there is any chance that we can have access to architectures other than
x86 to test code. For example, are there any cloud service that provides
access to POWER or ARM architecture?

Thanks,
--Junchang

[-- Attachment #2: Type: text/html, Size: 686 bytes --]

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

* Fwd: Other architectures we can work on?
  2018-10-01  3:16 Other architectures we can work on? Junchang Wang
@ 2018-10-01  3:23 ` Junchang Wang
  2018-10-01 17:51   ` Paul E. McKenney
  0 siblings, 1 reply; 7+ messages in thread
From: Junchang Wang @ 2018-10-01  3:23 UTC (permalink / raw)
  To: perfbook

Forward to list perfbook since the last mail was blocked due to the
non-plain-text issue.


Hi Paul and list,

I'm again reading the excellent 15th chapter (Advanced
Synchronization), which helps me eventually understand how a
hardware/compiler can optimize--and hence ``break''-- my parallelized
code :-).

I really want to get my hands dirty and to test my code and samples in
perfbook on real servers. However, all servers in my lab are x86. I
wonder if there is any chance that we can have access to architectures
other than x86 to test code. For example, are there any cloud service
that provides access to POWER or ARM architecture?

Thanks,
--Junchang


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

* Re: Fwd: Other architectures we can work on?
  2018-10-01  3:23 ` Fwd: " Junchang Wang
@ 2018-10-01 17:51   ` Paul E. McKenney
  2018-10-04 15:01     ` Junchang Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Paul E. McKenney @ 2018-10-01 17:51 UTC (permalink / raw)
  To: Junchang Wang; +Cc: perfbook

On Mon, Oct 01, 2018 at 11:23:17AM +0800, Junchang Wang wrote:
> Forward to list perfbook since the last mail was blocked due to the
> non-plain-text issue.
> 
> 
> Hi Paul and list,
> 
> I'm again reading the excellent 15th chapter (Advanced
> Synchronization), which helps me eventually understand how a
> hardware/compiler can optimize--and hence ``break''-- my parallelized
> code :-).
> 
> I really want to get my hands dirty and to test my code and samples in
> perfbook on real servers. However, all servers in my lab are x86. I
> wonder if there is any chance that we can have access to architectures
> other than x86 to test code. For example, are there any cloud service
> that provides access to POWER or ARM architecture?

For POWER access for academic or open-source projects, please see here:

https://osuosl.org/services/powerdev/request_hosting/

There are said to be similar services for ARM, for example:

https://thenewstack.io/cncf-packet-team-provide-free-infrastructure-cloud-developers

Please let me know how it goes!

							Thanx, Paul


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

* Re: Fwd: Other architectures we can work on?
  2018-10-01 17:51   ` Paul E. McKenney
@ 2018-10-04 15:01     ` Junchang Wang
  2018-10-04 15:32       ` Paul E. McKenney
  0 siblings, 1 reply; 7+ messages in thread
From: Junchang Wang @ 2018-10-04 15:01 UTC (permalink / raw)
  To: Paul McKenney; +Cc: perfbook

Hi Paul,

Thanks a lot! OSU has approved my application and provisioned a PPC
server for me. Now I can start testing code on PPC :-). For the ARM
server, the application is still in progress. I'll let you know if
there are any updates.


Thank!
--JunchangOn Tue, Oct 2, 2018 at 1:51 AM Paul E. McKenney
<paulmck@linux.ibm.com> wrote:
>
> On Mon, Oct 01, 2018 at 11:23:17AM +0800, Junchang Wang wrote:
> > Forward to list perfbook since the last mail was blocked due to the
> > non-plain-text issue.
> >
> >
> > Hi Paul and list,
> >
> > I'm again reading the excellent 15th chapter (Advanced
> > Synchronization), which helps me eventually understand how a
> > hardware/compiler can optimize--and hence ``break''-- my parallelized
> > code :-).
> >
> > I really want to get my hands dirty and to test my code and samples in
> > perfbook on real servers. However, all servers in my lab are x86. I
> > wonder if there is any chance that we can have access to architectures
> > other than x86 to test code. For example, are there any cloud service
> > that provides access to POWER or ARM architecture?
>
> For POWER access for academic or open-source projects, please see here:
>
> https://osuosl.org/services/powerdev/request_hosting/
>
> There are said to be similar services for ARM, for example:
>
> https://thenewstack.io/cncf-packet-team-provide-free-infrastructure-cloud-developers
>
> Please let me know how it goes!
>
>                                                         Thanx, Paul
>


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

* Re: Fwd: Other architectures we can work on?
  2018-10-04 15:01     ` Junchang Wang
@ 2018-10-04 15:32       ` Paul E. McKenney
  2018-10-05 23:47         ` Akira Yokosawa
  0 siblings, 1 reply; 7+ messages in thread
From: Paul E. McKenney @ 2018-10-04 15:32 UTC (permalink / raw)
  To: Junchang Wang; +Cc: perfbook

Hello, Junchang,

Glad it worked out for you!

Note that the DIY toolset (http://diy.inria.fr/) has things that
automatically exercise litmus tests on real hardware.  See the
CodeSamples/formal directory in the perfbook archive, and especially
its herd and litmus subdirectories, for some example uses.
(And kudos to Akira for setting this up!)

						Thanx, Paul

On Thu, Oct 04, 2018 at 11:01:00PM +0800, Junchang Wang wrote:
> Hi Paul,
> 
> Thanks a lot! OSU has approved my application and provisioned a PPC
> server for me. Now I can start testing code on PPC :-). For the ARM
> server, the application is still in progress. I'll let you know if
> there are any updates.
> 
> 
> Thank!
> --JunchangOn Tue, Oct 2, 2018 at 1:51 AM Paul E. McKenney
> <paulmck@linux.ibm.com> wrote:
> >
> > On Mon, Oct 01, 2018 at 11:23:17AM +0800, Junchang Wang wrote:
> > > Forward to list perfbook since the last mail was blocked due to the
> > > non-plain-text issue.
> > >
> > >
> > > Hi Paul and list,
> > >
> > > I'm again reading the excellent 15th chapter (Advanced
> > > Synchronization), which helps me eventually understand how a
> > > hardware/compiler can optimize--and hence ``break''-- my parallelized
> > > code :-).
> > >
> > > I really want to get my hands dirty and to test my code and samples in
> > > perfbook on real servers. However, all servers in my lab are x86. I
> > > wonder if there is any chance that we can have access to architectures
> > > other than x86 to test code. For example, are there any cloud service
> > > that provides access to POWER or ARM architecture?
> >
> > For POWER access for academic or open-source projects, please see here:
> >
> > https://osuosl.org/services/powerdev/request_hosting/
> >
> > There are said to be similar services for ARM, for example:
> >
> > https://thenewstack.io/cncf-packet-team-provide-free-infrastructure-cloud-developers
> >
> > Please let me know how it goes!
> >
> >                                                         Thanx, Paul
> >
> 


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

* Re: Fwd: Other architectures we can work on?
  2018-10-04 15:32       ` Paul E. McKenney
@ 2018-10-05 23:47         ` Akira Yokosawa
  2018-10-07 14:45           ` Junchang Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Akira Yokosawa @ 2018-10-05 23:47 UTC (permalink / raw)
  To: Junchang Wang; +Cc: Paul E. McKenney, perfbook, Akira Yokosawa

On 2018/10/04 08:32:23 -0700, Paul E. McKenney wrote:
> Hello, Junchang,
> 
> Glad it worked out for you!
> 
> Note that the DIY toolset (http://diy.inria.fr/) has things that
> automatically exercise litmus tests on real hardware.  See the
> CodeSamples/formal directory in the perfbook archive, and especially
> its herd and litmus subdirectories, for some example uses.
> (And kudos to Akira for setting this up!)

Hi Junchang,

At the time I worked in those subdirectories, "ocaml" 4.02.3 for
powerpc was not capable of natively building DIY toolset.

Current version of ocaml can build the toolset, which means
you can test litmus tests without cross compiling on powerpc.

But the default target of Makefile under the "litmus" subdirectory
assumes x86 architecture. For powerpc, you need to use the target
"cross-pcc" even if you are on a powerpc platform.

One thing I'd like to advise you is that klitmus7 can generate
kernel module sources which can deadlock. Such deadlock can be
hard to escape on a remote virtual machine.

herd7 doesn't detect deadlock condition. litmus7 runs litmus tests
in userland, and it is easier to kill if deadlock happens. litmus7
is much slower than klitmus7, but it can help in identifying
possible deadlocks.

Or by running a particular litmus test by klitmus7 on a host
which can be easily reset if necessary, you can see if it can
deadlock.

NOTE: api.h in the subdirectory "litmus" predates the merge of
tools/memoroy-model into Linux kernel, and covers limited subset
of kernel API used there.

Just out of curiosity, which distribution did you choose for
your powerpc server?

        Thanks, Akira

> 
> 						Thanx, Paul
> 
> On Thu, Oct 04, 2018 at 11:01:00PM +0800, Junchang Wang wrote:
>> Hi Paul,
>>
>> Thanks a lot! OSU has approved my application and provisioned a PPC
>> server for me. Now I can start testing code on PPC :-). For the ARM
>> server, the application is still in progress. I'll let you know if
>> there are any updates.
>>
>>
>> Thank!
>> --JunchangOn Tue, Oct 2, 2018 at 1:51 AM Paul E. McKenney
>> <paulmck@linux.ibm.com> wrote:
>>>
>>> On Mon, Oct 01, 2018 at 11:23:17AM +0800, Junchang Wang wrote:
>>>> Forward to list perfbook since the last mail was blocked due to the
>>>> non-plain-text issue.
>>>>
>>>>
>>>> Hi Paul and list,
>>>>
>>>> I'm again reading the excellent 15th chapter (Advanced
>>>> Synchronization), which helps me eventually understand how a
>>>> hardware/compiler can optimize--and hence ``break''-- my parallelized
>>>> code :-).
>>>>
>>>> I really want to get my hands dirty and to test my code and samples in
>>>> perfbook on real servers. However, all servers in my lab are x86. I
>>>> wonder if there is any chance that we can have access to architectures
>>>> other than x86 to test code. For example, are there any cloud service
>>>> that provides access to POWER or ARM architecture?
>>>
>>> For POWER access for academic or open-source projects, please see here:
>>>
>>> https://osuosl.org/services/powerdev/request_hosting/
>>>
>>> There are said to be similar services for ARM, for example:
>>>
>>> https://thenewstack.io/cncf-packet-team-provide-free-infrastructure-cloud-developers
>>>
>>> Please let me know how it goes!
>>>
>>>                                                         Thanx, Paul
>>>
>>
> 


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

* Re: Fwd: Other architectures we can work on?
  2018-10-05 23:47         ` Akira Yokosawa
@ 2018-10-07 14:45           ` Junchang Wang
  0 siblings, 0 replies; 7+ messages in thread
From: Junchang Wang @ 2018-10-07 14:45 UTC (permalink / raw)
  To: Akira Yokosawa, Paul E. McKenney; +Cc: perfbook

Hi Akira,

Thanks a lot for the detailed information! I will try to deploy the
verification tools (litmus and herd) next week and let you know if
they work.

The PPC server has 8 cores and is currently running Ubuntu 16.04,
which I'm familiar with. Would that be OK? Or do you have any other
suggestions?

BTW, I have successfully applied an ARMv8 server with 96 cores from
packet.com. Since I'm very interested in how non-blocking algorithms
perform on real hardware, I will try to deploy the sample code in
perfbook on all three platforms to see how they work. One interesting
thing I noticed after a quick check is that, for ARMv8, primitive FAA
(__atomic_fetch_add) is performed by using a retry loop that employs
LL/SC, and hence it could lead to a performance degradation (roughly,
10x slower when 30 cores perform FAA concurrently). I will post these
finds in the list later :-)

Thanks,
--Junchang

On Sat, Oct 6, 2018 at 7:47 AM Akira Yokosawa <akiyks@gmail.com> wrote:
>
> On 2018/10/04 08:32:23 -0700, Paul E. McKenney wrote:
> > Hello, Junchang,
> >
> > Glad it worked out for you!
> >
> > Note that the DIY toolset (http://diy.inria.fr/) has things that
> > automatically exercise litmus tests on real hardware.  See the
> > CodeSamples/formal directory in the perfbook archive, and especially
> > its herd and litmus subdirectories, for some example uses.
> > (And kudos to Akira for setting this up!)
>
> Hi Junchang,
>
> At the time I worked in those subdirectories, "ocaml" 4.02.3 for
> powerpc was not capable of natively building DIY toolset.
>
> Current version of ocaml can build the toolset, which means
> you can test litmus tests without cross compiling on powerpc.
>
> But the default target of Makefile under the "litmus" subdirectory
> assumes x86 architecture. For powerpc, you need to use the target
> "cross-pcc" even if you are on a powerpc platform.
>
> One thing I'd like to advise you is that klitmus7 can generate
> kernel module sources which can deadlock. Such deadlock can be
> hard to escape on a remote virtual machine.
>
> herd7 doesn't detect deadlock condition. litmus7 runs litmus tests
> in userland, and it is easier to kill if deadlock happens. litmus7
> is much slower than klitmus7, but it can help in identifying
> possible deadlocks.
>
> Or by running a particular litmus test by klitmus7 on a host
> which can be easily reset if necessary, you can see if it can
> deadlock.
>
> NOTE: api.h in the subdirectory "litmus" predates the merge of
> tools/memoroy-model into Linux kernel, and covers limited subset
> of kernel API used there.
>
> Just out of curiosity, which distribution did you choose for
> your powerpc server?
>
>         Thanks, Akira
>
> >
> >                                               Thanx, Paul
> >
> > On Thu, Oct 04, 2018 at 11:01:00PM +0800, Junchang Wang wrote:
> >> Hi Paul,
> >>
> >> Thanks a lot! OSU has approved my application and provisioned a PPC
> >> server for me. Now I can start testing code on PPC :-). For the ARM
> >> server, the application is still in progress. I'll let you know if
> >> there are any updates.
> >>
> >>
> >> Thank!
> >> --JunchangOn Tue, Oct 2, 2018 at 1:51 AM Paul E. McKenney
> >> <paulmck@linux.ibm.com> wrote:
> >>>
> >>> On Mon, Oct 01, 2018 at 11:23:17AM +0800, Junchang Wang wrote:
> >>>> Forward to list perfbook since the last mail was blocked due to the
> >>>> non-plain-text issue.
> >>>>
> >>>>
> >>>> Hi Paul and list,
> >>>>
> >>>> I'm again reading the excellent 15th chapter (Advanced
> >>>> Synchronization), which helps me eventually understand how a
> >>>> hardware/compiler can optimize--and hence ``break''-- my parallelized
> >>>> code :-).
> >>>>
> >>>> I really want to get my hands dirty and to test my code and samples in
> >>>> perfbook on real servers. However, all servers in my lab are x86. I
> >>>> wonder if there is any chance that we can have access to architectures
> >>>> other than x86 to test code. For example, are there any cloud service
> >>>> that provides access to POWER or ARM architecture?
> >>>
> >>> For POWER access for academic or open-source projects, please see here:
> >>>
> >>> https://osuosl.org/services/powerdev/request_hosting/
> >>>
> >>> There are said to be similar services for ARM, for example:
> >>>
> >>> https://thenewstack.io/cncf-packet-team-provide-free-infrastructure-cloud-developers
> >>>
> >>> Please let me know how it goes!
> >>>
> >>>                                                         Thanx, Paul
> >>>
> >>
> >
>


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

end of thread, other threads:[~2018-10-07 14:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-01  3:16 Other architectures we can work on? Junchang Wang
2018-10-01  3:23 ` Fwd: " Junchang Wang
2018-10-01 17:51   ` Paul E. McKenney
2018-10-04 15:01     ` Junchang Wang
2018-10-04 15:32       ` Paul E. McKenney
2018-10-05 23:47         ` Akira Yokosawa
2018-10-07 14:45           ` Junchang Wang

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.