Does your app not scale because of heap contention?
With SmartHeap, the number of allocs/frees per second increases nearly linearly as the number of CPUs increases.
With the CRT allocators, throughput does not increase.
It might if you're not using SmartHeap for SMP!
Find out how firms like Netscape, Sun, Fidelity, Microsoft, IBM, Lucent,
Goldman Sachs, HP, Veritas, Merrill Lynch, Dell, MicroStrategy, NASDAQ,
i2, BMC, Bloomberg, Computer Associates, Xilinx, Deutsche Bank, NEON,
Palm, Barclays, Autodesk, DoubleClick, Credit Suisse First Boston,
E.piphany, Cognos, Allaire, Openwave, Ericsson, UPS, and others are
achieving 100%-1000% performance improvement.
"SmartHeap has multiplied our application server throughput by a factor of
six on quad processor boxes."
Yaron Goldberg, ClickSoftware
"On our Interaction Platform performance went up by 60% with SmartHeap."
Thomas Hempel, E.piphany
"We've seen doubled performance of Hyperwave Information Server."
Gerbert Orasche, Hyperwave
"Using the compilers default memory allocator, we actually had reduced performance on dual processor machines when we used multiple threads due to memory contention - even though the code itself was not memory intensive - and never reached more than 55% total CPU usage. When we tried the same code using SmartHeap, CPU usage was above 95% and we were able to increase throughput by 83%."
Randal Parsons, Bankers Trust
"Our RightPoint Real-Time Campaign Server saw over a 100% percent gain in throughput on SMP systems, simply by linking in SmartHeap."
Earl Stahl, RightPoint Software Inc.
"SmartHeap increased overall system performance of ReelTime, Pinnacle's non-linear digital video editor plug-ins, 100%."
Brian Lanier, Pinnacle Systems
"Before SmartHeap, on a multiprocessor machine our application performance actually decreased due to extensive context switching. Using SmartHeap SMP on a Dual Processor machine, performance increased 111% due to the better memory management of SmartHeap SMP."
Christopher M. Woods, Financial Insight Systems, Inc.
"SmartHeap for SMP was instrumental in solving our scalability issues on multi-processor systems."
William Adiletta, OptiMark Technologies Inc.
Evaluation Units Available. Please contact us.
Compiler heap managers weren't designed for SMP systems
Todays compiler runtime libraries were designed for single-processor environments.
They allow only one thread at a time to be active in a key resource that is constantly
used by all threads: the heap. On single CPU systems this is not a problem since only one
thread executes at any given time. But on multi-CPU systems where multiple threads make concurrent
heap requests, all but one will be blocked by the heap manager, effectively nullifying
the benefit of the extra CPUs.
Heap contention can actually make your app run slower on two CPUs
than on one
To make matters worse, each time a thread is blocked, it loses its time slice and causes
an immediate (and very expensive) OS context switch that chews up otherwise useful cycles.
Adding processors increases the number of concurrent threads, thus increasing the
likelihood of heap blocking and the consequential context switches The result: extra CPUs
can actually cause a vicious cycle of OS context switching overhead to slow your
app's overall performance to below single processor levels.
This performance-numbing problem can occur on any app that has two or more threads
calling the heap, regardless of heap size or time spent in heap operations. So nearly
every app is vulnerable.
SmartHeap for SMP eliminates heap contention so your app scales
with additional processors
Unlike compiler heap managers, SmartHeap for SMP allows multiple threads
to proceed with no blocking and true concurrency, eliminating heap contention
and associated OS overhead. The result: with SmartHeap for SMP your app
will scale when it is run on SMP boxes. More info!
You don't have to change your code to take advantage of
SmartHeap for SMP
SmartHeap for SMP can improve your app's performance without
requiring any modifications to your code. You don't have to use special APIs or
reconfigure your app to call multiple pools. You simply relink with SmartHeap and your
code continues to call generic malloc or operator new.
SmartHeap for SMP will even speed up your app on uniprocessor
boxes
SmartHeap for SMP will work just fine on uniprocessor boxes. In fact, as our benchmarks
show, it is substantially faster than the compiler supplied libraries in such
environments. So you can ship one .exe that works well regardless of the machines your
customers run on.
SmartHeap for SMP is available for NT, Solaris, HP-UX, AIX, IRIX,
Linux and Digital UNIX
|