Wednesday, June 22, 2016

When 64 cores are not enough

Just a little teaser …

Following two branches just sprung to life:
https://github.com/gabr42/OmniThreadLibrary/tree/numa
https://github.com/gabr42/FastMM4-MP/tree/numa

Plus I started planning OTL&FastMM changes:
https://docs.google.com/document/d/1dHiJyHj80TJ2oFAOtFxNtXLMrAhzm7F5SoczBl5ssxM

Feel free to comment on that Google Docs document.

11 comments:

  1. Guess, it would be more interested to see planned changes in FastMM

    It is common wisdom that it's founding design is less than perfect on multicore with no cheap fixing possible. So i'd expect you started NUMA-OTL targetting MP-targeted managers like ScaleMM or NexusMM or derived form those

    ReplyDelete
    Replies
    1. Added to the same google doc. Yes, I'm seriously thinking about a FastMM-MP fork.

      Delete
    2. See mORMot experiments with different MMs. PErhaps it would be more efficient to choose and polish some MM designed for MP from staters

      Delete
  2. Anonymous08:37

    Why bother wih FastMM wehn wa have ScaleMM?
    https://github.com/andremussche/scalemm
    http://andremussche.blogspot.hu/2011/03/scalemm-fast-scaling-memory-manager-for.html

    ReplyDelete
  3. I tried most of those "different" memory managers and I a) don't trust them and b) they don't perform any better than FastMM with my improvements.

    ReplyDelete
    Replies
    1. That would be an very interesting post to read.

      Delete
    2. well, given gabr'a long-time interest in locks-free MT memory structures, his FastMM changes might turn a game changer. Or not :-)

      I wonder if it his changes would make it a real hard fork, or one and the same codebase would work nice with both ST and MT workloads

      Delete
    3. Current plan is to keep all existing FastMM functionality intact.

      Delete
  4. ScaleMM failed in one of my tests (ISAPI application, highly multi-threaded, of course), with weird AVs. Seems that the issue has been fixed then, but I haven't test it after that.

    ReplyDelete
  5. Great news if FastMM will be scalable finally!
    Until then, I use pre-built version of MM from Intel Threading Building blocks (the only inconvenience with it, I have to use it as an external dll). It is robust ans very scalable:
    https://dl.dropboxusercontent.com/u/40604228/TbbMM.rar

    ReplyDelete
  6. Anonymous15:01

    Links about MMs
    https://www.delphitools.info/2011/10/13/memory-manager-investigations/
    http://blog.synopse.info/post/2010/12/04/SynScaleMM
    http://blog.synopse.info/post/2013/12/05/New-Open-Source-Multi-Thread-ready-Memory-Manager%3A-SAPMM
    https://plus.google.com/+Andr%C3%A9Mussche/posts/T8DfTFhMBQc
    http://www.topsoftwaresite.nl/
    http://www.delphifeeds.com/go/s/109849


    Bugs were fixed in ScaleMM and it's stable now. (We use it for 2 years now)

    ReplyDelete