Re: porting OTP to ppc64le arch
Mikael Pettersson <[email protected]> Tue, 22 Feb 2022 18:09:38 +0100
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <CAM43=SMLeiVvdgz8GH0sa+GTB3pxizvGiTv_xd=Wfewvmbp4xQ@mail.gmail.com> |
On Tue, Feb 22, 2022 at 7:12 AM adil s <[email protected]> wrote: > > Hi all, > I've ported the OTP 23.02 version to ppc64le arch. but the performance is so poor. sending 1 MB of data between erlang nodes takes around 44 minutes. > btw, all of the test cases are passing here. > > Could someone please help me to debug this issue? > > Any hints/pointers are really appreciated. This is so vague that it's almost impossible to guess at a likely cause. 1. What are you running on? If it's an FPGA or qemu, then you can't really expect any performance. Real IBM POWER 8 or better should perform well. 2. Check that you're not taking an inordinate amount of alignment exceptions. Even if they're fixed up by the OS kernel their cost will be high. If you're on Linux, consider using "perf" to look for performance anomalies. 3. How are the Erlang nodes networked? Any docker or other virtualization involved? How does a plain "scp" of 1MB between the nodes perform? 4. What compiler did you use? GCC should be fine, I have no idea what the state of ppc64le in clang/llvm is. I see Fedora (Red Hat), openSUSE, and Debian all provide ppc64le builds of recent Erlang versions, and I haven't heard anything about ppc64le-specific issues in Erlang, so I would suspect something odd in your environment.