q3map2 compiling under openmosix


(oilslick) #1

Hi !

First I will apologise for my poor level of english, I am learning it only since 2002.

I am actually trying to compile the maps of my mod faster, with a cluster of computers.

I’ve managed to make a running cluster, to install GTKradiant and q3map2 on one node, but, q3map2 doesnt agree with the migration of processes.

It runs under linux, Openmosix kernel 2.4.26-openmosix1, I have 3 PCs :
3500+ 1GB of ram
1500+ 512MB of ram
100MHz 32MB of ram

For the software, I have a tri-core, SMP pc, or a big pc equal to a 5GHz and about 1600MB of ram.

When I run set@home in the cluster, it works, when I run the testapp, it runs well too, the processes are migrated on the most powerful nodes of the cluster.
But q3map2 crashes :

q3map2 segmentation fault or something like that after 2 or 3 minutes of compilation, when mosix says q3map2 process must be migrated on another node.

Q3map2 works with a build’in SMP support, under linux, it is the -thread x switch that show the number of processes q3map2 must make to run. By default, it is 4 processes.
And it crashes.
When I set -threads 2, it trys to migrate a thread on another node and let one stay on the first node.

When I set -threads 1, q3map2 works well, and there are no crashes at all. The problem is that there is no migrations, and q3map2 doesnt move to the most powerfull node : the culster is totally unusefull :drink:
So first I need q3map2 linux 2.5.16 (or the lastest) directly (the gtkradiant 1.5 rpm on zerowing dir needs to much libs, and I don’t know exactly where can I fint it)

If someone has ever worked on a cluster, please help. But I think the problem comes with my old version of q3map2. (it is 2.3.5 or something like that, I’ve found it on fileplanet)

If someone needs more exlications, just say it ^^

bye


(kamikazee) #2

If you don’t want the RPM version of the latest GTKRadiant, you could try to compile it yourself.

You can find the source of q3map2 at https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk/tools/quake3/q3map2/

However, I think you need to compile the whole GTKRadiant trunk to get an easy binary… The trunk is located at https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk/. See the COMPILING file there.


(oilslick) #3

Well, now I have found a q3map2.5.15, in the linux version of gtkradiant 1.4.0.
Thank you for the sources, but I need too much rpm of dependecies to compile gtkradiant. I have those for compiling q3map2.5.16

The problem goes on. The same.
But I’ve managed to migrate q3map2 from the start node to another one… but it is not really what I want.
If someone is interested in a full tutorial, to learn how to make a cluster, with live cds… just ask me ^^


(nUllSkillZ) #4

One link I’ve found via the search for cluster and this forum here:
http://www.splashdamage.com/index.php?name=pnPHPbb2&file=viewtopic&t=12961

There are some more so you should run the search on your own.


(obsidian) #5

I might be talking out of my ass here, but AFAIK, the -thread switch helps with multiple core processing, and not with multiple computer clusters over a network. I may be wrong on this, but I’m pretty sure that’s why it doesn’t work for you. I also have no idea how Linux works with clusters so take this with a big block of salt.


(SCDS_reyalP) #6

openMosix operates on processes, not threads. q3map2 is a single process which can optionally run multiple threads. So it openMosix isn’t going speed up q3map2.
from the faq: http://howto.x-tend.be/openMosixWiki/index.php/FAQ

Note that openMosix can’t (as of yet) migrate threaded programs. If you want a single task to run on multiple machines simultaneously, you’ll have to use fork() to create multiple processes. For example, to parallelise a raytracing animation with Povray, you can set up a script which renders frame 1 in one Pov instance, frame 2 in another and so on. The separate povray processes will migrate and load-balance automatically on your cluster.

If your task is of such a nature that multiple forked processes aren’t practical, you’ll need to look into message-passing systems (MPI and so on). This is much more complicated: google for ‘MPI’ and ‘beowulf cluster’ to get started.


(oilslick) #7

thanks for the search.

I will forge’t about compiling faster with q3map2.

Just I want to know the compile switch used by Ydnar, that we can see on http://shaderlab.com (the 2 or 3 boxes red blue and grey,)

Dou you use the 2 switches : -gamma 2 -compensate 4 ?


(obsidian) #8

-light -fast -patchshadows -samples 3 -bounce 8 -gamma 2 -compensate 4 -dirty

That’s a good starting point that was recommended by y. Of course, you may need to tweak it as necessary.