Hi All -
Here is a quick update on the status of ARM support. There are a number of projects under way, but a significant amount of work remains:
- Removing x86 assumptions so the codebase is processor neutral: We are making incremental progress here. In particular, we have refactored the use of atomic integers in a large subset of the codebase to use portable compiler intrinsics, and we intend to remove the remaining non-portable instances soon. We are also working on a more general portability enhancement that will improve our behavior with respect to endian conversions, alignment restrictions, and C/C++ aliasing rules, which should enhance our portability not just to ARM, but to other non-x86 platforms (see
- Testing and validation: We do extensive integration and regression testing on many x86 systems (see https://mci.10gen.com). For us to declare ARM an officially supported platform we need to establish and maintain a similar testing infrastructure for ARM systems. We are working with our partners in this space to gain experience with ARM and eventually develop the necessary testing infrastructure.
Until we have completed the above projects, ARM will remain unsupported. However, we are interested in offering MongoDB on ARM, and progress is being made on all of the above projects.