<APPENDIX>
<TITLE>List of Working Software</TITLE>
<PARA>
This Appendix will contain a list of applications both working (applications that migrate) and non working 
(applications that don't migrate) as reported by openMosix users.
Where possible a reason will be given why the application does not work.
</PARA>

<PARA>
Applications using shared memory continue to run as under standard Linux, but currently will not migrate.


Threads other than Java green thread JVM's cannot be migrated by Linux, so openMosix cannot migrate programs that use them.

</PARA>

<table frame=all><title>Applications That Migrate</title>
<tgroup cols=2 align=left>
<tbody>

<row><entry>
      Blast (patched)</entry><entry> <ulink url="http://stl.bioinformatics.med.umich.edu/software/OM_BLAST_patch/openmosixpatch.html"><citetitle>
http://stl.bioinformatics.med.umich.edu/software/OM_BLAST_patch/openmosixpatch.html</citetitle>
</ulink>

</entry>

</row>
<row><entry>
      MJPEG tools </entry><entry> Because it uses both i/o intense and cpu intense pipes, it works very well on small clusters. The encoding 
and 
decoding are bound on the home node but the filters are migrated to the nodes increasing performance of very high quality file encoding.
</entry></row>
<row>
<entry>
      bladeenc</entry> <entry> easy rip your mp3 collection with:

cdparanoia -B

for n in `ls *.wav`;

do bladeenc -quit -quiet $n -256 -copy -crc &

done;

</entry>
</row>
<row><entry>
      POVRAY </entry><entry> Spread your pic-frames to multiple processes by a shell script or use the parallel (PVM) version to do this 
automatically.
</entry>
</row>
<row><entry>
      MPI </entry><entry> openMosix and MPI are like bread and peanut butter, they just love each other.
</entry>
</row>
<row>
<entry>

      FLAC </entry><entry> A lossless audio encoder. 
<ulink url="http://flac.sourceforge.net/"><citetitle>http://flac.sourceforge.net/</citetitle></ulink>

</entry>
</row>

<row><entry>Mathlab 5</entry><entry></entry>
</row>



</tbody></tgroup></table>
</appendix>
<appendix>
<TITLE>List of Software that doens't migrate</TITLE>

<para>
</para>

<table frame=all><title>Non Migrating Application</title>
<tgroup cols=2 align=left>
<tbody>
<row><entry>

      Java programs using native threads</entry>
<entry> do not migrate since they use shared memory. Green Threads JVM's, however, allow for migration 
because 
each Java thread is a separate process.</entry>
</row>
<row>
<entry>

      Applications using pthreads</entry>
<entry><para>
Moshe wrote this answer about threading and openMosix to the mailing list.

</para><programlisting>
 From: 	Moshe Bar 
 To: 	openmosix-generallists.sourceforge.net
 Subject: pthreads and The Matrix
 Date: 	07 Aug 2002 06:30:56 +0200
 HI Larry

 Not being able to migrate pthreads is not an openMosix limitation but a
 Linux one. Contrary to platforms like Solaris where threads are
 light-weight processes with their own address space, threads in Linux do
 not have their own memory address space. You can see the threads with ps
 because each thread is a "task" for the Linux scheduler. However, that
 task cannot live on its own, it needs the address space where it was
 born. If we migrate the pthread to another machine, which address space
 would it be connected to? I am sure you saw Matrix, and at one poine
 Neon asks what happens if somebody dies in the Matrix, if he would also
 die in the real world. Trinity answered to him that a body (a pthread)
 cannot live with a mind (ie memory, ie address space).

 A great many things can be learned from Matrix.

 But coming back to our subject here, once we have distributed shared
 memory, we will be able to connect remote pthreads to their address
 space back home. But that is still some time down the road. I guess
 Matrix 2 will be out before we have distributed shared memory.

 Moshe

</programlisting></entry>
</row>

<row><entry>
      MySQL 
</entry><entry> 
uses shared memory.
</entry>
</row>
<row><entry>


      Apache
</entry><entry> 
 uses shared memory.
</entry>
</row>
<row><entry>


      Mathematica
</entry><entry> 
 uses shared memory.
</entry>
</row>
<row><entry>


      SAP
</entry><entry> 
 uses shared memory
</entry>
</row>
<row><entry>



      Oracle
</entry><entry> 

 uses shared memory
</entry>
</row>
<row><entry>


      Baan
</entry><entry> 
 uses shared memory
</entry>
</row>
<row><entry>


      Postgres
</entry><entry> 
 uses shared memory
</entry>
</row>
<row><entry>


      Python with threading enabled
</entry>
</row>

</tbody></tgroup></table>
<para>
A more recently updated list of both working and non working software can be found on 
<ulink url="http://howto.ipng.be/openMosixWiki/"><citetitle> the WIKI pages</citetitle></ulink>
</para>
</APPENDIX>
