We have HP workstations one with 8 core Intel processors and 16 GB RAM and another with 12 core processor and 16 GB RAM. Are we able to cluster these two workstations and implement OpenMP threaded C code?
In general this is possible. But, the usual way to go is to use MPI instead of OpenMP to parallelize on two different physical computers. There are things like PVM which allow you to write OpenMP programs to work on multiple computers, but these kind of tools have very poor performance. The performance gain you will get is so small (because of the overhead) that it is not worth the effort.
My advice is to use MPI instead. It will scale quite well, but then you are required to rewrite your software to use MPI. Look for an MPI library (there are several) that already supports MPI 3.0, e.g. OpenMPI. MPI 3.0 allows for true shared memory so that you do not have to replicate most of the data for processes that run on the same machine. For two computers it is still feasible to call mpiexec by hand. But, if you want to have more comfort you should look for a job scheduling system. Quite easy is HTCondor (although, quite frankly, I recently had a lot of trouble with that in a company's network environment). HTCondor will even allow you to only use other workstations when nobody is currently working on them. A more sophisticated system would use the PBS scheduler instead.
In addition to Simon's response, if your problem can be decomposed in small pieces, you can use the map-reduce approach. For computing in many computers, you also must distribute the jobs, for example, using http://discoproject.org/
To use threaded code, you would need to make the two machines into one virtual shared machine. This is possible on Intel Processors with ScaleMP.
ScaleMP does have a free version (vSMP Foundation is the name I believe) that is restricted in capacity, and would only use the processors on one machine, but use the memory on both machines. I believe that your case would fit within the restrictions.
The licensed version would allow for the use of all cores on the two machines, and all memory. Memory performance would of course depend on how much memory is being passed between the machines.
With either version you need high speed/low latency communication, most likely Infiniband. With just m2 achines, you do not even need to buy an IB switch.