New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for ARM64v8 architecture #6
base: master
Are you sure you want to change the base?
Conversation
…device configuration has this leak.)
Pre-commit failure in exchange missed skipping exchange state change. AFter abandon exchange still was in the ready to commit state. The retry mechanism kicks in and completes exchange. Fixed by making sure precommit failure does not change exchange state.
- Use ARM64 specific register set. - Use LuaJIT-2.1.0-beta3 which has support for arm64v8. Signed-off-by: Odidev <odidev@puresoftware.com>
This PR is raised in accordance with the ongoing discussion at aerospike/aerospike-server.docker#33. Please have a look at Commit ID: 897920b I am also ready to perofrm test cases if required for further confirmation. |
In case you feel unavailability of platform for confirmation then please refer to this:
Do have a look and let me know if anything else is required to see |
Hey Oidev, Have you filed a contributor licence agreement ( CLA ) which is standard and very similar to Google's CLA and the Apache CLA? https://www.aerospike.com/community/contributor/ If so, can you respond here with the rough date of your CLA submission? We can't accept code changes without a valid CLA for your account - thanks. |
@bbulkow Do let me know, if there is somthing else required from my end. Thanks for your cooperation |
Thanks, that helps me track things down. |
@bbulkow Is there any update regarding the work in the direction of support for Regards |
Hi Guys, Is there any update w.r.t. ARM64? |
Greetings. Have you been able to run multi-node cluster tests on ARM? thx.bri. |
@odidev I'm trying to replicate your build. After pulling this Pull Request I ran:
But I get:
Which comes from this part of the
How did you fix this? |
Hi @lag-linaro I am still stuck in trying to get multi-nodes working. Please use below changes to get going:
You will also require LuaJIT for ARM64, for this, use this:
Please let me know when it works for you Regards, |
Hi @lag-linaro Did you get success in compiling the Aerospike with informed changes? Regards, |
Apart from above, you will require changes in following submodules too:
All the above changes can't be upstreamed as they are not part of Regards, |
Sorry to bother you guys, but it has been a long time. |
@akhilgupta74 Supporting architectures other than x86-64 is not a current priority. As Aerospike does make use of memory ordering guarantees provided by the x86-64 architecture, officially supporting architectures with weaker guarantees would require a significant financial and time investment, increase code complexity, and potentially reduce performance on x86-64. If supporting ARM64v8 is a blocker for your company, I suggest negotiating with our sales team. |
9043ee1
to
716d1dd
Compare
@kportertx in case of apple m1 released your last message looks offensively. |
@Halfi, I'm not sure what you find offensive, please clarify. |
@kportertx first of all , all of your competitors support arm64 (actually multi-arch builds). Now arm64 architecture become much more popular after apple m1 released. And I can't find more information about your position about arm64 architecture. Only low priority for this task and your comment. |
The difficulty isn't the use of x86 specific instructions, those are relatively trivial to fix, the difficulty comes from the difference in memory ordering guarantees. This PR isn't complete (it doesn't address the memory ordering issues) and would require a significant investment to approach completion. Developments like AWS Graviton2 and Apple's M1 have significantly increased pressure to support ARM and support is on our roadmap. |
@odidev Sorry to bother you about this old topic... Do you probably have the built docker image for arm64 you could share? |
This PR has been generated based on the ongoing discussion at aerospike/aerospike-server.docker#33 .
Along with the mentioned changes i have also modified submodules being used in
aerospike
.These are:
Use LuaJIT-2.1.0-beta3
Please have a look and let know your valuable feedback.
I am open to do any kind of experimental changes if required to confirm and enhance
aerospike
forarm64v8
architecture.Regards,