Sponsored Content
Operating Systems Solaris Application not working in multi core platform Post 302911797 by Don Cragun on Sunday 3rd of August 2014 08:11:53 AM
Old 08-03-2014
You say you have a multi-process application and you say you are using the POSIX threads library. These are two very different things, but you have the same issue either way. You have multiple threads (or processes) updating data that has not been properly protected against simultaneous access. If you have a multi-process application, the shared data could be in a file or could be in a shared memory segment. If you have a multi-threaded single process application, the shared data could be in a file, a shared memory segment, or any non-thread-local storage in the process. It could be caused by using an api like read() into a global buffer. It could caused by a statement like a++; for some variable shared by more than one thread/process. It could be thousands of other things in you millions of LOC.

If you can figure out what data is being screwed up on a multi-processor system, start by looking at everything that references that data.

Good luck...
 

3 More Discussions You Might Find Interesting

1. Programming

Multi-platform includes?

I know that <cstudio> can also be <stdio> and can be written different ways on Linux then with windows. I've see some code doing a IFDEF __APPLE__ (I'm guessing, if compiled on a mac do whats between this) Is there one for Linux/Window? (3 Replies)
Discussion started by: james2432
3 Replies

2. UNIX for Advanced & Expert Users

Multi-platform Centralized Patch Management

We have a mix of AIX, HP-UX, Linux (RHEL and SLES), and Solaris in our environment. Currently we have seperate patch management systems for each platform (NIM, SD, Spacewalk, etc), but have started looking for a centralized patch management solution that would work for most, if not all, of our... (0 Replies)
Discussion started by: kknigga
0 Replies

3. Shell Programming and Scripting

Multi platform script perl or awk

Hi gurus, I am trying to match records in following format: (-,username,domain1.co.uk)\ (-,username,domain2.co.uk) either awk or perl must be used. I am using cygwin. I wrote following code which works and matches both above entries: awk 'BEGIN {musr="(-,username,+.co.uk)"} {if... (8 Replies)
Discussion started by: wakatana
8 Replies
libmlib_mt(3LIB)														  libmlib_mt(3LIB)

NAME
libmlib_mt - multi-threaded mediaLib SYNOPSIS
cc [ flag... ] file... -lmlib_mt -lmlib [ library... ] #include <mlib.h> Interfaces in this library provide functions for multimedia processing. Multi-threaded (MT) mediaLib is a software layer developed on top of mediaLib using OpenMP. When it is used with a large data set on a multi-processor system, MT mediaLib will partition data into subsets and process the subsets in parallel, thus greatly improving performance of applications that use mediaLib. INTERFACES
The shared object libmlib_mt.so.2 provides the same public interfaces as those defined in libmlib(3lib). See intro(3) for additional infor- mation on shared object interfaces. There are two ways to use MT mediaLib. 1. Pre-load a multi-threaded mediaLib library during runtime by setting the LD_PRELOAD environment variable as follows before starting your application, in Bourne/Korn shell: LD_PRELOAD=libmlib_mt.so export LD_PRELOAD or in C shell: setenv LD_PRELOAD libmlib_mt.so In this way, you can take advantage of MT mediaLib without rebuilding your application. 2. Link your application with a multi-threaded mediaLib library directly as shown under . In this way, an MT mediaLib library is always used whenever your application is started. The parallelization of MT mediaLib is controlled, in part, by the PARALLEL environment variable. You can change its setting to adjust the degree of parallelization before starting your application, in Bourne/Korn shell: PARALLEL=n export PARALLEL or in C shell: setenv PARALLEL n where n is a positive integer for number of threads. Note that other factors also affect the degree of parallelization in MT mediaLib. /usr/lib/libmlib_mt.so.2 shared object /usr/lib/64/libmlib_mt.so.2 64-bit shared object See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWmlibt | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ Intro(3), libmlib(3lib), attributes(5) 30 Sep 2005 libmlib_mt(3LIB)
All times are GMT -4. The time now is 01:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy