[Queue-developers] using queue to distribute compilations ?
Brought to you by:
wkrebs
From: Philippe W. <phi...@gu...> - 2000-07-12 19:43:04
|
I am now looking at queue (during my free time :) to see if this could not improve our development environment. The situation : We are doing Air Traffic Flow Management for complete Europe and We have a big application (1400000 lines of Ada code). We are currently in the process of changin of Ada compiler (in order to use the gnu Ada compiler instead of a proprietary compiler). I would like to see how I could use queue to improve the compilation speed of the system. I describe hereafter 2 possible options and some questions. Any feedback would be appreciated. Option 1: --------- The gnu ada compiler has an automatic make facility (gnatmake) that supports parallel compilation. Giving e.g. -j6 argument means : do 6 compilations in parallel. The compilation command can also be given as an argument to gnatmake (default = gcc). To make use of queue, I would give a big number of parallel compilation (e.g. 20) and specify that the command to use is a shell script that would call : queue .... gcc file_to_compile I do not understand if I have to use the immediate argument of queue (-i) or if I have to use the -q argument. I have not really understood what is the difference between the now spooldir, the queue spooldir and I also saw a wait spooldir. Option 2: --------- gnatmake has also an option : instead of starting compilation process, it can also only give the list of compilation command to do. This list could then be processed so as to be a serie of queue command. What kind of commands should it be ? Then, a question/suggestion : Sometimes, gcc process size becomes huge (>200Mb) when compiling some files containing generic instantiation (i.e. C++ "templates" but for Ada). Is there a way to control queue algorithm so that a job is started on a computer only if there is enough swap space available ? Thanks for any hint helping me to use gnu-queue + gnu-ada compiler together. -- Philippe WAROQUIERS Eurocontrol - Central Flow Management Unit phi...@cf... Rue de la fusee, 96 Tel: +32 2 729 97 35 Brussels Fax: +32 2 729 90 22 Belgium |