Details

    • Type: Improvement
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: planned but not scheduled
    • Component/s: Build
    • Labels:
      None
    • Environment:
      Debian Squeeze, 2.6.32-5-kirkwood, Sheevaplug, ARMv5

      Description

      Since the upcoming social network Diaspora* uses mongodb as backend it would be nice to have it running on little home servers such as the Sheevaplug. As such servers are often based on ARM-architecture mongodb needs support for this.

      1. armdoubles.diff
        4 kB
        Jani Monoses
      2. mongi.diff
        2 kB
        Jani Monoses
      3. mongoarm.diff
        8 kB
        Jani Monoses

        Issue Links

          Activity

          Hide
          milkie Eric Milkie added a comment -

          Olivier, SERVER-12283 is not related to ARM support. Did you mean to say SERVER-12064? That ticket improved MongoDB portability including on ARM platforms.

          Show
          milkie Eric Milkie added a comment - Olivier, SERVER-12283 is not related to ARM support. Did you mean to say SERVER-12064 ? That ticket improved MongoDB portability including on ARM platforms.
          Hide
          ppafford Phill Pafford added a comment -

          How can we get this implemented? There is a growing need for this

          Show
          ppafford Phill Pafford added a comment - How can we get this implemented? There is a growing need for this
          Hide
          kostyuk Ivan Kostyuk added a comment -

          I'm checking for same, trying to build Mongo on Raspberry Pi B+ equipped with ARMv6.
          It seems there is fix for the problem but in another repository. The fix is implemented well for Arch Linux.
          http://archlinuxarm.org/packages?search=mongodb
          And it is working.
          http://andyfelong.com/2014/07/mongodb-2-6-and-nodejs-10-29-on-raspberry-pi-oh-joy/

          Show
          kostyuk Ivan Kostyuk added a comment - I'm checking for same, trying to build Mongo on Raspberry Pi B+ equipped with ARMv6. It seems there is fix for the problem but in another repository. The fix is implemented well for Arch Linux. http://archlinuxarm.org/packages?search=mongodb And it is working. http://andyfelong.com/2014/07/mongodb-2-6-and-nodejs-10-29-on-raspberry-pi-oh-joy/
          Hide
          ppafford Phill Pafford added a comment -

          would also like a Debian solution as well, thanks!

          Show
          ppafford Phill Pafford added a comment - would also like a Debian solution as well, thanks!
          Hide
          acm Andrew Morrow added a comment - - edited

          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 SERVER-6018, CXX-49).
          • JavaScript interpreter support: We vendor in a copy of the v8 JS interpreter, so the set of systems MongoDB supports is necessarily a subset of the systems that v8 supports. The version of v8 that we currently use by default does not support ARM. A newer version, which does support ARM, has been is made available under a build option. However, the new incarnation of memory management in V8 is incompatible with running the javascript interpreter and database engine in the same process. This incompatibility will require a ground-up rewrite of javascript support, including improved support for managing subprocesses. It is a large project, and it is not yet fully scoped.
          • 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.

          Thanks,
          Andrew

          Show
          acm Andrew Morrow added a comment - - edited 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 SERVER-6018 , CXX-49 ). JavaScript interpreter support: We vendor in a copy of the v8 JS interpreter, so the set of systems MongoDB supports is necessarily a subset of the systems that v8 supports. The version of v8 that we currently use by default does not support ARM. A newer version, which does support ARM, has been is made available under a build option. However, the new incarnation of memory management in V8 is incompatible with running the javascript interpreter and database engine in the same process. This incompatibility will require a ground-up rewrite of javascript support, including improved support for managing subprocesses. It is a large project, and it is not yet fully scoped. 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. Thanks, Andrew

            Dates

            • Created:
              Updated:
              Days since reply:
              47 weeks, 4 days ago
              Date of 1st Reply: