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.
Guess, it would be more interested to see planned changes in FastMM
ReplyDeleteIt 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
Added to the same google doc. Yes, I'm seriously thinking about a FastMM-MP fork.
DeleteSee mORMot experiments with different MMs. PErhaps it would be more efficient to choose and polish some MM designed for MP from staters
DeleteWhy bother wih FastMM wehn wa have ScaleMM?
ReplyDeletehttps://github.com/andremussche/scalemm
http://andremussche.blogspot.hu/2011/03/scalemm-fast-scaling-memory-manager-for.html
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.
ReplyDeleteThat would be an very interesting post to read.
Deletewell, given gabr'a long-time interest in locks-free MT memory structures, his FastMM changes might turn a game changer. Or not :-)
DeleteI 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
Current plan is to keep all existing FastMM functionality intact.
DeleteScaleMM 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.
ReplyDeleteGreat news if FastMM will be scalable finally!
ReplyDeleteUntil 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
Links about MMs
ReplyDeletehttps://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)