OSDN Git Service

delete _FTP_LINET and _FTP_KDDLABS
[linuxjf/JF.git] / docs / openMosix-HOWTO / openMosix_Testing.sgml
1 <CHAPTER ID="Testing">
2 <!--
3 <TITLE>(stress)Testing your openMosix installation</TITLE>
4 -->
5 <TITLE>¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß openMosix¤Î(Éé²Ù)¥Æ¥¹¥È</TITLE>
6 <!--
7 <SECT1><TITLE>A small Test Script</TITLE>
8 -->
9 <SECT1><TITLE>¤Á¤ç¤Ã¤È¤·¤¿¥Æ¥¹¥È¥¹¥¯¥ê¥×¥È</TITLE>
10 <PARA>
11 <!--
12 The fastest way to  test your openMosix cluster is by creating a small 
13 script with the following content.
14 -->
15 openMosix ¥¯¥é¥¹¥¿¤òÁÇÁ᤯¥Æ¥¹¥È¤¹¤ë¤Ë¤Ï¡¢²¼µ­¤ÎÆâÍƤǥ¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ
16 ¤¯¤À¤µ¤¤¡£
17 <PROGRAMLISTING>
18 awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' &
19 </PROGRAMLISTING>
20 <!--
21 I've saved it as test_mosix, now when I want to see If everything works I start op mosmon and I launch this script for a zillion times
22 as in 
23 -->
24 »ä¤Ï¤³¤ì¤ò test_mosix ¤È¤·¤ÆÊݸ¤·¤Æ¤ª¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤¬µ¡Ç½¤·¤Æ¤¤¤ë¤Î¤«¸«¤¿¤¤»þ
25 ¤Ë mosmon ¤òµ¯Æ°¤·¤Æ¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤ò¿ô¤¨ÀÚ¤ì¤Ê¤¤¤Û¤ÉÆ°¤«¤·¤Þ¤¹¡£
26 <programlisting>
27 for i in `ls /etc/` ; do ./test_mosix ; done 
28 </programlisting>
29
30 <!--
31 Now watch openMosix kicking in after a few seconds ... 
32 -->
33 ¤³¤¦¤·¤Æ openMosix ¤¬¿ôÉô֤ϳèȯ¤ËÆ°¤¯¤Î¤ò¸«¤Æ¤¯¤À¤µ¤¤...
34  <mediaobject>
35     <imageobject>
36      <imagedata fileref="howto6.gif" format="gif">
37     </imageobject>
38    </mediaobject>
39 <!--
40 Just pkill awk on the home node to kill'em all ;)
41 -->
42 ¤³¤ÎÃʳ¬¤Ç¥Û¡¼¥à¥Î¡¼¥É¤Ç awk ¤ò kill ¤·¤Æ¡¢¥×¥í¥»¥¹¤ò¤¹¤Ù¤Æ kill ¤·¤Æ
43 ¤¯¤À¤µ¤¤ ;)
44
45
46 </PARA>
47
48
49 </SECT1>
50 <!--
51 <SECT1><TITLE>Perl Proggie by Charles Nadeau
52 -->
53 <SECT1><TITLE>Charles Nadeau »á¤Ë¤è¤ë Perl ¤Î¥×¥í¥°¥é¥à
54 <!--
55 </TITLE> <PARA> Perl program 
56 to test an openMosix Cluster.
57 -->
58 </TITLE> <PARA>openMosix ¥¯¥é¥¹¥¿¤ò¥Æ¥¹¥È¤¹¤ë Perl ¥×¥í¥°¥é¥à 
59 </para>
60 <para>
61
62 <!--
63 Here is a is quick program I wrote to test an openMosix cluster. This is taken from a posting I made to the 
64 openMosix-devel mailing list on March 6th, 2002:
65 -->
66 ¤³¤³¤Ë¤¢¤²¤ë¤Î¤Ï¡¢»ä¤¬ openMosix ¥¯¥é¥¹¥¿¤ò¥Æ¥¹¥È¤¹¤ë¤¿¤á¤Ë¤µ¤¯¤Ã¤È½ñ¤¤¤¿
67 ¥×¥í¥°¥é¥à¤Ç¤¹¡£openMosix-devel ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë 2002 Ç¯ 3 ·î 6 Æü¤ËÅê¹Æ
68 ¤·¤Þ¤·¤¿¡£
69
70 <quote>
71 <!--
72 Charles  wrote this little program (in Perl) to stress test his  home cluster (3 P200MMX and a P166). It is a 
73 program simulating different sets of stocks in a portfolio for a given period of time. The code is well documented and it 
74 should be easy to add/remove stocks and change the average monthly yield and standard deviation for each stock. 
75 Since the problem of portfolio optimization cannot be solved analytically, it simulate a lot of portfolios and 
76 report the results at the end. 
77 Please note that this program does not take stock correlation into account. It is 
78 not finished yet but it's a good start. I plan to add more code at the end of the program to improve the reporting 
79 format of the data (generating SVG graph on the fly). But the simulation part works very well. In order to take 
80 advantage of the parallelism offered by openMosix, it uses the Perl module Parallel::?ForkManager (from CPAN) to 
81 span threads that openMosix can then assign to all the machines of the cluster (it also require another module for 
82 the statistical calculations, don't forget to install both, I provide the URLs in the comments of the code). Take a 
83 look at it and tell me what you think. Cheers!
84 -->
85 Charles »á¤Ï¤³¤Î¾®¤µ¤Ê¥×¥í¥°¥é¥à(Perl ¤Ç½ñ¤¤¤¿)¤ò¼«Ê¬¤Î¥¯¥é¥¹¥¿(3 Âæ¤Î Pentium 
86 200MMX ¤È 1 Âæ¤Î Pentium 166)¸þ¤±¤ËÉé²Ù¥Æ¥¹¥ÈÌÜŪ¤Ç½ñ¤­¤Þ¤·¤¿¡£¤³¤Î¥×¥í¥°¥é¥à
87 ¤Ï¤¢¤ë¥Ý¡¼¥È¥Õ¥©¥ê¥ª¤Ë´ð¤Å¤¤¤ÆÍÍ¡¹¤Ê¥Æ¥¹¥È¤ò°ìÄê»þ´ÖÆâ¤Ë¥·¥ß¥å¥ì¡¼¥È¤·¤Þ¤¹¡£
88 ¥³¡¼¥É¤Ë¤Ï¤­¤Á¤ó¤È¤·¤¿²òÀ⤬¤¢¤ê¡¢´Êñ¤Ë¥Æ¥¹¥È´ð½à¤òÄɲᦺï½ü¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ
89 ¤¤¤Æ¡¢¥Æ¥¹¥È´ð½à¤Î·îñ°Ì¤ÎÊ¿¶Ñ½èÍýÎ̤Èɸ½àÊк¹¤òÊѹ¹¤Ç¤­¤Þ¤¹¡£
90 ¥Ý¡¼¥È¥Õ¥©¥ê¥ª¤òºÇŬ²½¤¹¤ëÌäÂê¤Ï¡¢Ê¬ÀϤ·¤Æ¤â²òÀϤǤ­¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Ý¡¼¥È
91 ¥Õ¥©¥ê¥ª¤ò²¿²ó¤â¥·¥ß¥å¥ì¡¼¥È¤·¤ÆºÇ¸å¤Ë·ë²Ì¤òÊó¹ð¤·¤Þ¤¹¡£
92 Ãí°Õ¤·¤Æ¤â¤é¤¤¤¿¤¤ÅÀ¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤Ï¥Æ¥¹¥È¹àÌÜ´Ö¤ÎÁê´Ø´Ø·¸¤Ï¹Íθ¤·¤Æ¤¤¤Ê¤¤
93 ÅÀ¤Ç¤¹¡£¤Ç¤â¤Þ¤À´°àú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤Ï¤¸¤á¤È¤·¤Æ¤Ï¤Þ¤º¤Þ¤º¤À¤È»×¤¤¤Þ¤¹¡£
94 ¤µ¤é¤Ë¥³¡¼¥É¤ò¥×¥í¥°¥é¥à¤ÎºÇ¸å¤ËÄɲ䷤ơ¢¥Ç¡¼¥¿¤ÎÊó¹ðµ¡Ç½¤ò²þÁ±¤¹¤ë¤Ä¤â¤ê¤Ç
95 ¤¤¤Þ¤¹(SVG(Scalable Vector Graphics)¥°¥é¥ÕºîÀ®¤¬¿Ê¹ÔÃæ)¡£¤·¤«¤·¥·¥ß¥å¥ì¡¼¥È
96 ¤¹¤ëÉôʬ¤ÏËþ­¤ËÆ°¤­¤Þ¤¹¡£
97 openMosix ¤Ë¤è¤ëʹԽèÍý¤ÎĹ½ê¤ò³è¤«¤¹¤¿¤á¤Ë¡¢Perl ¤Î¥â¥¸¥å¡¼¥ë¤Ç¤¢¤ë 
98 Parallel::?ForkManager(CPAN ¤è¤ê)¤ò»È¤¤¤Þ¤¹¡£¤³¤Î¥â¥¸¥å¡¼¥ë¤Ç¥¹¥ì¥Ã¥É¤ò¹­¤²¤Æ 
99 openMosix ¤¬¥¯¥é¥¹¥¿Á´¥Þ¥·¥ó¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹(Åý·×·×»»
100 ¤Ë¤ÏÊ̤Υ⥸¥å¡¼¥ë¤¬É¬ÍפǤ¹¡£Î¾¼Ô¤È¤â˺¤ì¤º¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£¥³¡¼¥É
101 ¤Î¥³¥á¥ó¥È¤Ë URL ¤ò½ñ¤¤¤Æ¤ª¤­¤Þ¤¹)¡£¤Þ¤º¸«¤Æ´¶ÁÛ¤ò¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤Ç¤Ï¡£
102 </quote>
103 </para>
104 <para>
105 <programlisting>
106 #! /usr/bin/perl -w
107
108 # this mill unlock this process and all tis childs
109 sub unlock { 
110 open (OUTFILE,">/proc/self/lock") || 
111 die "Could not unlock myself!\n"; 
112 print OUTFILE "0"; 
113
114
115 unlock;
116
117 # this will count the nodes
118 sub cpucount {
119  $CLUSTERDIR="/proc/hpc/nodes/";
120  $howmany=0;
121  opendir($nodes, $CLUSTERDIR);
122  while(readdir($nodes)) {
123   $howmany++;
124  }
125
126  $howmany--;
127  $howmany--;
128  closedir ($nodes);
129  return $howmany;
130 }
131
132 my $processes=cpucount;
133 $processes=$processes*3;
134
135 print("starting $processes processes\n");
136
137 #Portfolio.pl, version 0.1
138 #Perl program that simulate a portfolios for various stock composition for a given period of time
139 #We run various scenarios to find the mix of assets that give the best performance/risk ratio
140 #This method is base on the book "The intelligent asset allocator" by William Bernstein
141 #Can be used to test an OpenMosix cluster
142 #This program is licensed under GPL
143 #Author: Charles-E. Nadeau Ph.D., (c) 2002
144 #E-mail address: charlesnadeau AT hotmail DOT com
145
146 use Parallel::ForkManager; #We use a module to parallelize the calculation
147
148 #Available at http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?filetype=%20distribution%20name%20or%20description;join=and;arrange=file;download=auto;stem=no;case=clike;site=ftp.funet.fi;age=;distinfo=2589
149
150 use Statistics::Descriptive::Discrete; #A module providing statistical values
151
152 #Available at http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?new=Search;filetype=%20distribution%20name%20or%20description;join=and;arrange=file;download=auto;stem=no;case=clike;site=ftp.funet.fi;age=;distinfo=2988
153
154 srand; #We initialize the random number generator
155
156 #Initializing constant
157 $NumberOfSimulation=$processes;  #Number of simulation to run
158 $NumberOfMonth=100000; #Number of month for wich to run the simulation
159 $NumberOfStock=6; #Number of different stocks in the simulation
160
161 #Portfolio to simulate
162 #TODO: Read the stock details from a file
163 $Stock[0][0]="BRKB"; #Stock ticker
164 $Stock[0][1]=0.01469184; #Stock average monthly return
165 $Stock[0][2]=0.071724934; #Stock average monthly standard deviation
166 $Stock[1][0]="TEST "; #Stock ticker
167 $Stock[1][1]=-0.01519; #Stock average monthly return
168 $Stock[1][2]=0.063773903; #Stock average monthly standard deviation
169 $Stock[2][0]="SPDR"; #Stock ticker
170 $Stock[2][1]=0.008922718; #Stock average monthly return
171 $Stock[2][2]=0.041688404; #Stock average monthly standard deviation
172 $Stock[3][0]="BRKB"; #Stock ticker
173 $Stock[3][1]=0.01469184; #Stock average monthly return
174 $Stock[3][2]=0.071724934; #Stock average monthly standard deviation
175 $Stock[4][0]="TEST "; #Stock ticker
176 $Stock[4][1]=-0.01519; #Stock average monthly return
177 $Stock[4][2]=0.063773903; #Stock average monthly standard deviation
178 $Stock[5][0]="SPDR"; #Stock ticker
179 $Stock[5][1]=0.008922718; #Stock average monthly return
180 $Stock[5][2]=0.041688404; #Stock average monthly standard deviation
181
182
183
184
185 my $pm = new Parallel::ForkManager($NumberOfSimulation); #Specify the number of threads to span
186
187 $pm->run_on_start(
188   sub { my ($pid,$ident)=@_;
189   print "started, pid: $pid\n";
190   }
191 );
192
193
194
195 #We initialize the array that will contain the results
196 @Results=();
197 for $i (0..$NumberOfSimulation-1){
198         for $j (0..$NumberOfStock+3){
199                 $Results[$i][$j]=0.0; #Equal to 0.0 to start
200         }
201 }
202
203 for $i (0..$NumberOfSimulation-1){ #Loop on the number of simulation to run
204         $Results[$i][0]=$i; #The first column of each line is the number of the simulation
205         $pm->start and next; #Start the thread
206
207                 $TotalRatio=1; #The sum of the proprtion of each stock
208
209                 #Here we calculate the portion of each investment in the portfolio for a given simulation
210                 for $j (0..$NumberOfStock-2){ #We loop on all stock until the second to last one
211                         #TODO: Replace rand by something from Math::TrulyRandom
212                         $Ratio[$j]=rand($TotalRatio);
213                         $Results[$i][$j+1]=$Ratio[$j]; #We store the ratio associated to this stock
214                         $TotalRatio=$TotalRatio-$Ratio[$j];
215                 }
216                 $Ratio[$NumberOfStock-1]=$TotalRatio; #In order to have a total of the ratios equal to one, we set the last ratio to be the remainder
217                 $Results[$i][$NumberOfStock]=$Ratio[$NumberOfStock-1]; #We store the ratio associated to this stock. Special case for the last stock
218
219                 $InvestmentValue=1; #Initially the investment value is 1 time the initial capital amount.
220                 my $stats=new Statistics::Descriptive::Discrete; #We initialize the module used to calculate the means and standard deviations
221
222                 for $j (1..$NumberOfMonth){ #Loop on the number of months
223
224                         $MonthlyGrowth[$j]=0.0; #By how much did we grow this month. Initially, no growth yet.
225
226                         #We loop on each stock to find its monthly contribution to the yield 
227                         for $k (0..$NumberOfStock-1){
228
229                         $MonthlyGrowth[$j]=$MonthlyGrowth[$j]+($Ratio[$k]*((gaussian_rand()*$Stock[$k][2])+$Stock[$k][1])); #We had the growth for this stock to the stock already calculated for the preceding stocks
230                         }
231
232                         $stats->add_data($MonthlyGrowth[$j]); #Add the yield for this month so we can later on have the mean and standard deviation for this simulation
233                         $InvestmentValue=$InvestmentValue*(1+$MonthlyGrowth[$j]); #Value of the Investment after this month
234                 }
235                 $Results[$i][$NumberOfStock+1]=$stats->mean(); #Calculate the average monthly growth
236                 $Results[$i][$NumberOfStock+2]=$stats->standard_deviation(); #Calculate the standard deviation of the monthly growth
237
238         $pm->finish; #Finish the thread
239 }
240 $pm->wait_all_children; #We wait until all threads are finished
241
242 #Printing the results
243 print "Simulation ";
244 for $j (0..$NumberOfStock-1){
245         print "Ratio$Stock[$j][0] ";
246 }
247 print "  Mean StdDev YieldRatio\n";
248 for $i (0..$NumberOfSimulation-1){
249         printf "%10d ", $Results[$i][0];
250         for $j (1..$NumberOfStock){
251                 printf "   %6.2f ",$Results[$i][$j];
252         }
253
254         if($Results[$i][$NumberOfStock+2]!=0) {
255                 printf "%5.4f %5.4f    %5.4f\n", $Results[$i][$NumberOfStock+1], $Results[$i][$NumberOfStock+2], ($Results[$i][$NumberOfStock+1]/$Results[$i][$NumberOfStock+2]);
256
257         } else {
258                 printf "%5.4f %5.4f    %5.4f\n", $Results[$i][$NumberOfStock+1], $Results[$i][$NumberOfStock+2], 0;
259
260         }
261 }
262
263
264
265 #Subroutines
266
267 #Subroutine to generate two numbers normally distributed
268 #From "The Perl Cookbook", recipe 2.10
269 sub gaussian_rand {
270         my ($u1, $u2);
271         my $w;
272         my ($g1, $g2);
273
274         do {
275                 $u1=2*rand()-1;
276                 $u2=2*rand()-1;
277                 $w=$u1*$u1+$u2*$u2;
278         } while ($w>=1 || $w==0); #There was an error in the recipe, I corrected it here
279
280         $w=sqrt(-2*log($w)/$w);
281         $g2=$u1*$w;
282         $g1=$u2*$w;
283         return wantarray ? ($g1,$g2) : $g1;
284
285 }
286 </programlisting>
287
288
289  </PARA> </SECT1> 
290 <!--
291 <SECT1><TITLE>the openMosix stress-test
292 -->
293 <SECT1><TITLE>openMosix ¤ÎÉé²Ù¥Æ¥¹¥È
294
295
296
297
298 </TITLE>
299
300  <PARA>
301 <!--
302 by Matt Rechenburg
303 -->
304 Ãø¼Ô¡§Matt Rechenburg »á
305 </para>
306
307 <sect2><title>
308 <!--
309 General description</title>
310 -->
311 ³µÍ×</title>
312 <para>
313 <!--
314 This stress test is made to test an openMosix cluster + kernel. It will 
315 perform several application + kernel tests for checking the stability and 
316 other features of openMosix (e.g. process migration, mfs, ...). During 
317 this test the cluster will be mostly loaded so you should stop other 
318 running applications before starting it. When it finished it generates a 
319 fully detailed report about each component which was tested.
320 -->
321 ¤³¤ÎÉé²Ù¥Æ¥¹¥È¤Ï¡¢openMosix ¥¯¥é¥¹¥¿¤È¥«¡¼¥Í¥ëÍѤΥƥ¹¥È¤Ç¤¹¡£
322 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«¤È¥«¡¼¥Í¥ë¥Æ¥¹¥È¤ò¼Â¹Ô¤·¡¢°ÂÄêÀ­¤ÈopenMosix ¤Î
323 ¤½¤Î¾¤Îµ¡Ç½(Î㤨¤Ð¡¢¥×¥í¥»¥¹¤Î¥Þ¥¤¥°¥ì¡¼¥·¥ç¥ó¡¢mfs Åù)¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
324 ¥Æ¥¹¥È¤ò¤·¤Æ¤¤¤ë´Ö¥¯¥é¥¹¥¿¤Ï¤Û¤È¤ó¤É²ÔÆ°¤·Â³¤±¤ë¤Î¤Ç¡¢¥Æ¥¹¥È¤ò¤¹¤ëÁ°¤Ë¡¢
325 ¤½¤Î¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÄä»ß¤·¤Æ¤¯¤À¤µ¤¤¡£¥Æ¥¹¥È¤¬½ª¤ï¤ì¤Ð¡¢¥Æ¥¹¥È
326 ¤·¤¿¹àÌܤ½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤ÊÊó¹ð¤òµó¤²¤Þ¤¹¡£
327 </para>
328 </sect2>
329
330 <!--
331 <sect2><title>Detailed description</title>
332 -->
333 <sect2><title>¾ÜºÙ¤ÊÀâÌÀ</title>
334 <para>
335
336 <!--
337 The openMosix stress-test runs several programs to check the functionality 
338 of the whole system. In the following part you will find a description of 
339 each test-application:
340 -->
341 openMosix ¤ÎÉé²Ù¥Æ¥¹¥È¤ÏÊ£¿ô¤Î¥×¥í¥°¥é¥à¤òÆ°¤«¤·¡¢¥·¥¹¥Æ¥àÁ´ÂΤε¡Ç½¤ò
342 ¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£¼¡¤Ë¥Æ¥¹¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤ò¤·¤Þ¤¹¡£
343 <itemizedlist><listitem><para><emphasis>distkeygen</emphasis>:
344 <!--
345 This applicaton is used to generate 4000 RSA key pairs with 1024 bits of 
346 key length. It is destributed into as many processes as processors in your 
347 openMosix cluster via fork.
348 -->
349 ¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢1024 ¥Ó¥Ã¥ÈŤθ°¤ò 4000 ¸ÄºîÀ®¤·¤Þ¤¹¡£fork ¤ò»È¤Ã¤Æ
350 ²Äǽ¤Ê¸Â¤ê¤Î¥×¥í¥»¥¹¤ò openMosix ¥¯¥é¥¹¥¿¤Ë¤Ð¤é»µ¤­¤Þ¤¹¡£
351 </para><para>
352 <!--
353 Requires : gcc compiler and OpenSSL library
354 -->
355 ɬÍפˤʤë¤â¤Î¡§gcc ¥³¥ó¥Ñ¥¤¥é¤È OpenSSL ¥é¥¤¥Ö¥é¥ê
356 Copyright (C) 2001 Ying-Hung Chen (GPL)
357 http://www.yingternet.com/mosix
358 </para></listitem>
359 <listitem><para>
360 <emphasis>portfolio</emphasis>
361 <!--
362 'portfolio' is a perl program that simulate a portfolios for various stock 
363 composition for a given period of time. This method is base on the book 
364 "The intelligent asset allocator" by William Bernstein.
365 -->
366 ¡Öportfolio¡×¤Ï Perl ¥×¥í¥°¥é¥à¤Ç¡¢·è¤á¤é¤ì¤¿»þ´Ö¤ËÍÍ¡¹¤Ê¥Æ¥¹¥È¤ò¹Ô¤¤¡¢
367 ¥Ý¡¼¥È¥Õ¥©¥ê¥ª¤ò¥·¥ß¥å¥ì¡¼¥È¤·¤Þ¤¹¡£
368 ¤³¤ÎÊýË¡¤Ï¡¢William Bernstein »áÃø¤Î¡ÖThe intelligent 
369 asset allocator¡×¤ò¥Ù¡¼¥¹¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
370 </para>
371 <para>
372 <!--
373 This program is licensed under GPL
374 Author: Charles-E. Nadeau Ph.D., (c) 2002
375 E-mail address: charlesnadeau AT hotmail DOT com
376 -->
377 ¤³¤Î¥×¥í¥°¥é¥à¤Î¥é¥¤¥»¥ó¥¹¤Ï GPL ¤Ç¤¹¡£
378 Ãø¼Ô¡§Charles-E. Nadeau Ph.D., (c) 2002
379 ¥á¡¼¥ë¥¢¥É¥ì¥¹: charlesnadeau AT hotmail DOT com
380 </para>
381 </listitem>
382 <listitem>
383 <para><emphasis>eatmem </emphasis>:
384 <!--
385 Simply calculates sin+sqrt from a value 1000000 times and outputs it 
386 outputs the loop count to a file (which will grow a lot) This tests is 
387 started as many times at once as many processors you have in your 
388 openMosix cluster automatically.</para>
389 -->
390 sin ¤È sqrt ¤ò 1000000 ²óñ½ã¤Ë·×»»¤·¡¢¥ë¡¼¥×²ó¿ô¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤Þ¤¹
391 (¤É¤ó¤É¤óÂ礭¤¯¤Ê¤ê¤Þ¤¹)¡£¤³¤Î¥Æ¥¹¥È¤Ï openMosix ¥¯¥é¥¹¥¿¤Ç°ìÅ٤ˤǤ­¤ë¤À¤±
392 ¿¤¯¤Î¥×¥í¥»¥¹¤ò¼«Æ°Åª¤Ëµ¯Æ°¤·¤Þ¤¹¡£</para>
393 </listitem>
394 <listitem><para><emphasis>forkit</emphasis>:
395 <!--
396 The 'forkit' test is similar to the 'eatmem' test but uses fork to create 
397 multiple process (3*[processors_in_your_openMosix_cluster]) expect it does 
398 not write to files.
399 -->
400 ¡Öforkit¡×¥Æ¥¹¥È¤Ï¡Öeatmem¡×¥Æ¥¹¥È¤È»÷¤Æ¤¤¤Þ¤¹¤¬¡¢fork ¤ò»È¤Ã¤ÆÊ£¿ô¤Î¥×¥í¥»¥¹
401 ¤òºîÀ®¤·¤Þ¤¹(3*[openMosix¥¯¥é¥¹¥¿¤Ë¤¢¤ë¥×¥í¥»¥¹¿ô)¡£¥×¥í¥»¥¹¤¬¥Õ¥¡¥¤¥ë¤Ë½ñ¤­
402 ¹þ¤à¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
403 </para></listitem>
404 <listitem>
405
406 <para><emphasis>mfstest</emphasis>
407 <!--
408 This will create a 10MB file and copy it to all nodes back and forth. It 
409 is for checking the oMFS capabilities.</para>
410 -->
411 10MB ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¤½¤ì¤ò¤¹¤Ù¤Æ¤Î¥Î¡¼¥É¤Ë¥³¥Ô¡¼¤·¤¢¤¤¤Þ¤¹¡£¤³¤Î¥Æ¥¹¥È
412 ¤Ï oMFS ¤ÎÀ­Ç½¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£</para>
413 </listitem>
414 <listitem>
415
416 <!--
417 <para><emphasis> kernel syscall test</emphasis>:
418 -->
419 <para><emphasis>¥«¡¼¥Í¥ë¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¥Æ¥¹¥È</emphasis>¡§
420 <!--
421 The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull 
422 with a goal to deliver test suites to the open source community that 
423 validate the reliability, robustness, and stability of Linux. The Linux 
424 Test Project is a collection of tools for testing the Linux kernel and 
425 related features. The goal is to improve the Linux kernel by bring test 
426 automation to the kernel testing effort. Interested open source 
427 contributors are encouraged to join the project.
428 For more informations visit : http://ltp.sf.net
429 -->
430 Linux Test Project ¤Ï¡¢SGI¡¢IBM¡¢OSDL¡¢Bull ¤¬»²²Ã¤·¤Æ¤¤¤ë¥×¥í¥¸¥§¥¯¥È¤Ç¤¹¡£
431 ¥×¥í¥¸¥§¥¯¥È¤ÎÌÜɸ¤Ï¥ª¡¼¥×¥ó¥½¡¼¥¹¥³¥ß¥å¥Ë¥Æ¥£¤Ø¥Æ¥¹¥È¥Ñ¥Ã¥±¡¼¥¸¤òÄ󶡤¹¤ë
432 ¤³¤È¤Ç¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¤è¤Ã¤Æ Linux ¤Î¿®ÍêÀ­¤È·øÏ´¤µ¡¢°ÂÄêÀ­¤ò³ÎΩ¤·¤Þ¤¹¡£
433 Linux Test Project ¤Ç¤Ï Linux ¥«¡¼¥Í¥ë¤È¥«¡¼¥Í¥ë¤Ë´ØÏ¢¤·¤¿µ¡Ç½¤Î¥Æ¥¹¥È¸þ¤±¤Ë
434 ¥Ä¡¼¥ë¤ò½¸¤á¤Æ¤¤¤Þ¤¹¡£ÌÜɸ¤Ï¥«¡¼¥Í¥ë¤ËÂФ¹¤ë¥Æ¥¹¥È¤ò¼«Æ°²½¤·¡¢ Linux ¥«¡¼¥Í¥ë
435 ¤ò²þÎɤ¹¤ë¤³¤È¤Ç¤¹¡£¥ª¡¼¥×¥ó¥½¡¼¥¹Â¦¤Ç»²²Ã¤·¤¿¤¤Êý¤Ï¼«Í³¤Ë¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ë
436 »²²Ã¤Ç¤­¤Þ¤¹¡£¾Ü¤·¤¤¾ðÊó¤Ï¡¢http://ltp.sf.net ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
437 </para>
438 </listitem>
439 <listitem><para><emphasis>
440 moving</emphasis>:
441 <!--
442 The 'moving.sh' will move the 'start_openMosix_test.sh' around each node 
443 in your openMosix cluster while running the stress-test itself. So 
444 'start_openMosix_test.sh' will migrate every minute to another node during 
445 the test-run. Dependent on how long the test will run on your cluster it 
446 will be migrated 20-40 times.
447 -->
448 ¡Ömoving.sh¡×¤ÏÉé²Ù¥Æ¥¹¥È¤òÆ°¤«¤·¤Ê¤¬¤é¡Östart_openMosix_test.sh¡×¤òopenMosix 
449 ¥¯¥é¥¹¥¿¤Î³Æ¥Î¡¼¥É¤Ø°ÜÆ°¤µ¤»¤Þ¤¹¡£¡Östart_openMosix_test.sh¡×¤Ï¥Æ¥¹¥È¤ò¤·¤Æ
450 ¤¤¤ë´Ö¤º¤Ã¤È¥Þ¥¤¥°¥ì¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥¯¥é¥¹¥¿¤Ç¥Æ¥¹¥È¤ò¤É¤Î¤¯¤é¤¤Â³¤±¤ë¤«¤Ë¤â
451 ¤è¤ê¤Þ¤¹¤¬¡¢20 ¤«¤é 40 ÇÜ¥Þ¥¤¥°¥ì¡¼¥È¤·¤Þ¤¹¡£
452 </para></listitem></itemizedlist></para>
453 </sect2>
454 <!--
455 <sect2><title>Installing the strestest suite</title>
456 -->
457 <sect2><title>Éé²Ù¥Æ¥¹¥È¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
458 <!--
459 <para>First of all download the rpm or source package from 
460 -->
461 <para>¤Þ¤º¥½¡¼¥¹¥Ñ¥Ã¥±¡¼¥¸¤« rpm ¤ò²¼µ­¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
462 <ulink url="http://www.openmosixview.com/omtest/"><citetitle>
463 http://www.openmosixview.com/omtest/</citetitle></ulink>
464 </para>
465 <para>
466 <!--
467 <itemizedlist><listitem><para><emphasis>using the source package :</emphasis></para>
468 -->
469 <itemizedlist><listitem><para><emphasis>¥½¡¼¥¹¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¡¢</emphasis></para>
470 <para>
471 <!--
472       Unzip and untar the openMosix stress-test with the following 
473 commands in e.g. /usr/local:
474 -->
475       Î㤨¤Ð /usr/local ¤Ë²¼µ­¤Î¥³¥Þ¥ó¥É¤Ç openMosix ¤ÎÉé²Ù¥Æ¥¹¥È¤ò unzip¡¢
476       untar ¤·¤Æ¤¯¤À¤µ¤¤¡£
477 <programlisting>
478           gunzip omtest.tar.gz
479           tar -xvf omtest.gz
480 </programlisting>
481       <!--
482                         Then 'cd' into the /usr/local/omtest directory and execute:
483                         -->
484                         ¼¡¤Ë¡Öcd¡× ¤·¤Æ /usr/local/omtest ¥Ç¥£¥ì¥¯¥È¤Ë¹Ô¤­¡¢²¼µ­¤ò¼Â¹Ô
485                         ¤·¤Æ¤¯¤À¤µ¤¤¡£
486 <programlisting>
487           ./compile_tests.sh
488 </programlisting>
489
490       <!--
491                         This will install the required perl modules and compile the 
492 test-programs.
493       The installation of these modules requires root-privileges.
494       Later you can run the openMosix stress-test also as a regular user.
495       (you maybe have to delete old temporary files from root's test-runs
496       in /tmp because you won't have the permission to overwrite it as 
497 regular user)
498       You are ready to run the test now with the command:
499                         -->
500                         ¤³¤ì¤ÇɬÍפʠPerl ¥â¥¸¥å¡¼¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢¥Æ¥¹¥È¥×¥í¥°¥é¥à¤¬
501                         ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
502                         ¤³¤ì¤é¤Î¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ï¡¢root ¤Î¸¢¸Â¤¬É¬ÍפǤ¹¡£
503                         ¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ï °ìÈ̥桼¥¶¤Ç¤â openMosix ¤ÎÉé²Ù¥Æ¥¹¥È¤¬¹Ô¤¨¤Þ¤¹¡£
504                         (/tmp ¤Ë¤¢¤ë root ¤Î test-run ¤«¤é¥Æ¥ó¥Ý¥é¥ê¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤±¤ì¤Ð
505                         ¤¤¤±¤Ê¤¤¤Ç¤·¤ç¤¦¡£°ìÈ̥桼¥¶¤Ç¤Ï¾å½ñ¤­¤¹¤ë¸¢¸Â¤¬¤Ê¤¤¤«¤é¤Ç¤¹)¡£
506                         ²¼µ­¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢¥Æ¥¹¥È¤ò³«»Ï¤¹¤ë½àÈ÷¤¬À°¤¤¤Þ¤¹¡£
507 <programlisting>
508           ./start_openMosix_test.sh</programlisting>
509 </para>
510 </listitem>
511 <listitem>
512
513 <!--
514 <para><emphasis>using the RPM-package</emphasis></para><para>
515 There are some requirements to be met when installing the omtest.rpm,
516 you will need e.g expect and compat-libstdc++-7.3-2.96.110
517 (If you are on RH 8.0) 
518
519
520       Just install the omtest.rpm with the following command:
521 -->
522 <para><emphasis>rpm ¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤¦</emphasis></para><para>
523 omtest.rpm ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÝ¤Ë¤ÏɬÍפʤâ¤Î¤¬¤¢¤ê¤Þ¤¹¡£
524 expect ¤ä compat-libstdc++-7.3-2.96.110(RH 8.0 ¤Ê¤é)Åù¤Ç¤¹¡£
525 ¼¡¤Î¥³¥Þ¥ó¥É¤Ç omtest.rpm ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
526
527 <programlisting>
528           rpm -ihv omtest.rpm
529 </programlisting>
530       <!--
531                         Now you can start the openMosix stress test with the command:
532                         -->
533                         ¤³¤ì¤Ç²¼µ­¤Î¥³¥Þ¥ó¥É¤Ç openMosix ¤ÎÉé²Ù¥Æ¥¹¥È¤ò¤Ï¤¸¤á¤é¤ì¤Þ¤¹¡£
534 <programlisting>
535           start_openMosix_test.sh
536 </programlisting>
537
538       <!--
539                         (The RPM-package will be installed in /usr/local/omtest)
540                         -->
541                         (rpm ¥Ñ¥Ã¥±¡¼¥¸¤Ï /usr/local/omtest ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹)
542
543 <!--
544 (Please not that the RPM wil allso install some perl modules).
545 -->
546 (¤³¤Î rpm ¤Ç perl ¥â¥¸¥å¡¼¥ë¤â¤¤¤¯¤Ä¤«¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ
547 ¤¯¤À¤µ¤¤)¡£
548
549 </para></listitem></itemizedlist>
550 </para>
551
552 </sect2>
553 <!--
554 <sect2><title>Running the tests</title>
555 -->
556 <sect2><title>¥Æ¥¹¥È¤ò¤Ï¤¸¤á¤ë</title>
557 <para>
558 <programlisting>[root@dhcp51 omtest]# ./start_openMosix_test.sh
559
560
561 starting the openMosix stress test now!
562
563 the results will be saved in : /tmp/openMosix-stress-test-report-03/16/2003-11:27:02.txt
564
565 oMFS is not mounted at /mfs! oMFS-test will be disabled.
566 Please mount oMFS before running this openMosix-test
567 You will find instructions how to configure and use oMFS at:
568 http://howto.ipng.be/openMosix-HOWTO/x222.htm#AEN243
569
570
571 (return to continue, ctrl-c for cancel)
572 </programlisting>
573 </para>
574 </sect2>
575
576 </SECT1>
577
578
579 </CHAPTER>
580
581