Intel® Moderncode for Parallel Architectures

Second question: communication within threads

Hi all, This is the second question. What I want to do is starting two threads using openmp. The first thread grabs image from a camera and the second thread obtains information (images) from the first thread with a constant temporal interval. For example, thread 1 grabs images continuously and thread 2 displays a frame of image in the first thread every 10 frames. For this task, it seems there should be some parameters which can be shared within threads. Currently, I am using a omp section directive, in which the image is shared between two threads.

survey on the usage of parallel programming systems


have you ever wanted to know, what parallel programming systems / languages the rest of the world is using? Or what platforms parallel applications are developed for? Or what organizations are performance hungry enough to take on the burdon of developing parallel applications?

Me too. And that is why I have set up a short survey on parallel programming as part of my research for my PhD. It is set up here:

lock prefix for logical cpus on the same physical cpu...

I think I know the answer already but I wanted to be sure. I believe that if you have two threads T1-T2that are bound toalogical processor LP1, they can atomically modifyper-processor data that is owned by LP1by using a cmpxchg without a lock-prefix. Now, here ismy question:

Given the following senerio:

Logicalprocessor LP1 isownedby core PC1 on physical processor P1

Logicalprocessor LP2 isownedby core PC1 on physical processor P1

Per-processor data D is owned by PC1

Thread T1 is bound to LP1

Thread T2 is bound to LP2

low OpenMP speedup, embarassingly parallel problem

I'm having a tough time getting decent speedup with OpenMP on dual Xeon machine (HP xw8000). I use Intel's C++ compiler (8.1) with their OpenMP libraries. My test program finds the mean of a given array of integers.I have a function that takes a pointer and a count as parameters and returns the sum (which I later divide by n). To parallelize it, I use the following code:Code:

KMP_BLOCKTIME and HyperThreading

On a single core system with HyperThreading the KMP_BLOCKTIME (unexpired) would be doing something like a SpinLock which could functionaly called a SpinGo. To accomplish thisthe stalled threadmust be looking at a shared memory variable and inorder to force cache coherency with the other processors (the other HT thread in this case) an instruction is issued (LOCK?) that forces all processors to invalidate there cache so as all can see the potential change in the value of the variable used for the "SpinGo".

Hyperthreading and Java and Database


This is my question.

I have to build a Java based database middleware, it holds database connection, the no of middleware worker threads are equal to the no of database connections ( This is because, the no of concurrent database operation we can do on database is limited to the database connections). Any request coming in the system are queued and supplied to the worker theread if they are available.

In a scenario like this how can i take advantage of hyper thereading.

Assine o Intel® Moderncode for Parallel Architectures