Memory allocation in multithreaded program running on multiproccessor machine.

Memory allocation in multithreaded program running on multiproccessor machine.

Post by Alexander Indenbau » Fri, 02 Feb 2001 04:06:31


My program fails to utilize all the CPUs on multiproccessor machine.
I suspect that the reason is that memory allocation in different threads
wait on the same mutex, since all the threads share the same heap. The
problem grows larger as number of CPUs increased ( the target is

Am I right in my suspicion? How this problems could be solved?

We use Workshop C++ 5.0, Solaris 7 and pthreads.

  Alexander Indenbaum


1. running a multithreaded program on a SMP machine !!

  i have one server program , which forks off a thread for each new
connection.Iam actually detaching the thread after creating it.The
thread created sends some data,and exits the thread,and the main
thread continues listening for connections.

Iam running the program on a linux machine with uname -a :
Linux 2.4.7-10 #1 Thu Sep 6 17:27:27 EDT 2001 i686 unknown

what will be the effect of running on a machine of same configuration
but an SMP one.Iam not using any mutex or conditonal or shared
variables between threads.What is the effect of running it on the SMP
one ?? Is there anything i need to take care of ??

any suggestions will be highly appreciated.


2. STB Velocity 128 AGP under RH 5.1?

3. To run a multithreaded Program

4. How to speed up gtk2?

5. Memory allocation and de-allocation

6. pointer to .subsection and .previous usage in kernel?

7. Need help with a program (memory allocation)

8. Trident tgui9400CXi now supported by new X server, but has probs.

9. Memory allocation for running process

10. memory allocation by OS memory manager

11. Infinite memory?!? Memory allocation bug with gcc?

12. Need to run DOS programs on UNIX machine (without emulators or repartioning)

13. Programs that only run on certain machines