Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Scalable memory managers



Permlink Replies: 3 - Last Post: Feb 10, 2015 10:27 AM Last Post By: Remy Lebeau (Te...
Brandon Staggs

Posts: 683
Registered: 3/3/01
Scalable memory managers
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 9, 2015 5:02 PM
Not really sure which group is appropriate for this, but:

With the added parallel programming convenience tools in XE7 it's
become obvious that the FastMM memory manager, which is rock-solid and
fast, is not scalable. This isn't exactly news but with
out-of-the-box support for parallel for loops, etc, I am
"parallelizing" more things now and the problem of scale has really
become an issue. Sure, running tasks that perform simple integer math
or whatever work fine, but processing string algorithms and anything
really complex that requires heap allocation bogs down REAL fast, to
the point where threading is useless in some cases, even when the
threads are certainly good candidates for parallel work.

I am curious about experiences using alternative memory managers like
TopMM and ScaleMM2.

Would you consider any other memory manager besides FastMM
production-quality?

Certain parallel tasks that I could not get to rise much past 15%
utilization of 8 logical cores run at near 100% using ScaleMM2. The
difference is staggering and indisputable. But is anyone using this
outside of experimentation?

I'm pushing test builds of my application out to beta testers using
ScaleMM2 as the memory manager and so far I have seen only one
unexplained exception that looks like it could be because of the
memory manager. However, parallel programming is hard (tm) and it may
just be more work needing to be done on my part.

--
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
Attila Molnár

Posts: 7
Registered: 12/2/09
Re: Scalable memory managers
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 9, 2015 10:59 PM   in response to: Brandon Staggs in response to: Brandon Staggs
Hi!

We switched to ScaleMM nearly one year ago. Main reason for us was not scalability but to avoid memory fragmentation, in witch also performs very well. ;)

MM sites/discussions :
http://www.delphitools.info/2011/10/13/memory-manager-investigations/
http://www.delphifeeds.com/go/s/109849
https://code.google.com/p/scalemm/
http://www.topsoftwaresite.nl/
https://code.google.com/p/sapmm/

Brandon Staggs wrote:
Not really sure which group is appropriate for this, but:

With the added parallel programming convenience tools in XE7 it's
become obvious that the FastMM memory manager, which is rock-solid and
fast, is not scalable. This isn't exactly news but with
out-of-the-box support for parallel for loops, etc, I am
"parallelizing" more things now and the problem of scale has really
become an issue. Sure, running tasks that perform simple integer math
or whatever work fine, but processing string algorithms and anything
really complex that requires heap allocation bogs down REAL fast, to
the point where threading is useless in some cases, even when the
threads are certainly good candidates for parallel work.

I am curious about experiences using alternative memory managers like
TopMM and ScaleMM2.

Would you consider any other memory manager besides FastMM
production-quality?

Certain parallel tasks that I could not get to rise much past 15%
utilization of 8 logical cores run at near 100% using ScaleMM2. The
difference is staggering and indisputable. But is anyone using this
outside of experimentation?

I'm pushing test builds of my application out to beta testers using
ScaleMM2 as the memory manager and so far I have seen only one
unexplained exception that looks like it could be because of the
memory manager. However, parallel programming is hard (tm) and it may
just be more work needing to be done on my part.

--
Brandon Staggs
StudyLamp Software LLC
http://www.studylamp.com
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Scalable memory managers
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 10, 2015 10:27 AM   in response to: Attila Molnár in response to: Attila Molnár
Attila wrote:

We switched to ScaleMM nearly one year ago. Main reason for us was
not scalability but to avoid memory fragmentation, in witch also performs
very well. ;)

You do realize that FastMM was also designed to avoid fragmentation.

--
Remy Lebeau (TeamB)
Vladimir Ulchenko

Posts: 248
Registered: 1/12/00
Re: Scalable memory managers
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 10, 2015 12:03 AM   in response to: Brandon Staggs in response to: Brandon Staggs
On Mon, 9 Feb 2015 17:02:23 -0800, Brandon Staggs <nospam@nowhere.invalid> wrote:

I am curious about experiences using alternative memory managers like
TopMM and ScaleMM2.

Would you consider any other memory manager besides FastMM
production-quality?

been using tbbmm in production for few years but never really tested it against other scalable heap managers

--
Vladimir Ulchenko aka vavan
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02