Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-10616

Port the ARM64/x86_64 Memory Model Test to Mac M1 Evergreen instances

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT11.2.0, 7.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • 2023-02-23 "Stoney Baloney"
    • 2

      WT-10578 created a ARM64/x86_64 Memory Model Test tool that performs a series of multi-threaded shared variable accesses. Some of those memory accesses can, depending on the CPU architecture, result in out-of-order (OOO) memory accesses. The tests, and the results, are described in the README.md file in https://github.com/wiredtiger/wiredtiger/tree/develop/tools/memory-model-test. 

      Testing using the tool has indicated that OOO accesses occur much more frequently (by approx 3 orders of magnitude) on an Apple M1 Pro or Max ARM64 compared to an AWS Graviton ARM 64. This would indicate that there may be value in running more WiredTiger tests in M1-based ARM64 machines to generate more OOO operations to confirm how the software handles them.

      Mac M1/ARM64 instances are available on Evergreen, but the current instances are macOS 11 and have only older versions of CLang (with limited C++20 support) that can't currently compile the Memory Model Test tool.

      This ticket will get the Memory Model Test Tool running on Evergreen Mac ARM64 instances. This may be by:

      • having a suitable instance created with a later macOS/compiler, or
      • changing the tool's code to work with older Mac compilers.

            Assignee:
            jeremy.thorp@mongodb.com Jeremy Thorp
            Reporter:
            jeremy.thorp@mongodb.com Jeremy Thorp
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: