Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move the user manual one layer higher, so that all manuals are merged back
[simgrid.git] / doc / dev_guide / doxygen / xps.doc
1 /*! 
2 \page xps SimGrid Developer Guide - XPs
3
4 \section xps_dev_guide_pipol How to run test in pipol?
5
6 In order to use PIPOL you have to create your account here: http://pipol.inria.fr/
7
8 \subsection xps_dev_guide_pipol_general What is PIPOL?
9
10 The PIPOL platform is a porting, testing and compilation cluster. It hosts several hardware and software
11 architectures to perform its work. An user can reserve a resource (a specific hardware, an operating system...)
12 to be used interactively or automatically (with a "Nightly Builds" system) for software testing.
13
14 \subsection xps_dev_guide_pipol_frontend From PIPOL frontend
15
16 You first need to be connected into pipol ssh.
17 \verbatim
18 user@caraja:~$ ssh pipol.inria.fr
19 Linux pipol-server 2.6.26-2-amd64 #1 SMP Thu Nov 5 02:23:12 UTC 2009 x86_64
20 ***************************************************************************
21 *           You are just logged-on the PIPOL platform server              *
22 *   You can find some documentation about porting works on the platform   *
23 *         on the PIPOL's web site: http://pipol.inria.fr/docs/            *
24 *   To report bugs you can write to: pipol-sysadm@lists.gforge.inria.fr   *
25 ***************************************************************************
26
27
28 user@pipol:~$
29 \endverbatim
30 Then you can see pipol images availables for deployment
31
32 \verbatim
33 user@pipol:~$ pipol-sub si
34     amd64_2010-linux-centos-5.dd.gz
35     amd64_2010-linux-debian-squeeze.dd.gz
36     amd64_2010-linux-debian-testing.dd.gz
37     amd64_2010-linux-fedora-core13.dd.gz
38     amd64_2010-linux-fedora-core14.dd.gz
39     amd64_2010-linux-fedora-core16.dd.gz
40     amd64_2010-linux-ubuntu-lucid.dd.gz
41     amd64_2010-linux-ubuntu-maverick.dd.gz
42     amd64_2010-linux-ubuntu-natty.dd.gz
43     amd64_kvm-linux-debian-lenny
44     amd64_kvm-linux-debian-testing
45     amd64_kvm-windows-7
46     amd64-linux-centos-5.dd.gz
47     amd64-linux-debian-etch.dd.gz
48     amd64-linux-debian-lenny.dd.gz
49 ....
50     i386-linux-ubuntu-lucid.dd.gz
51     i386-linux-ubuntu-maverick.dd.gz
52     i386-linux-ubuntu-natty.dd.gz
53     i386-linux-ubuntu-precise.dd.gz
54     i386_mac-mac-osx-server-leopard.dd.gz
55     i386-unix-freebsd-7.dd.gz
56     i386-unix-opensolaris-10.dd.gz
57     i386-unix-opensolaris-11.dd.gz
58     i386-unix-solaris-10.dd.gz
59     ia64-linux-debian-lenny.dd
60     ia64-linux-debian-squeeze.dd
61     ia64-linux-fedora-core9.dd
62     ia64-linux-redhatEL-5.0.dd
63     x86_64_mac-mac-osx-server-snow-leopard.dd.gz
64     x86_mac-mac-osx-server-snow-leopard.dd.gz
65 \endverbatim
66
67 You can also see available architectures on host name:
68 \verbatim
69 navarro@pipol:~$ pipol-sub sa    
70 =================================================================
71                     Availables architectures:         
72 =================================================================
73
74 pipol18
75 :i386_2010:amd64_2010:
76 pipol19
77 :i386_2010:amd64_2010:
78 pipol20
79 :i386_2010:amd64_2010:
80 pipol1
81 :i386:amd64:
82 pipol2
83 :i386:amd64:
84 pipol3
85 :i386:amd64:
86 pipol4
87 :i386:amd64:
88 pipol5
89 :i386:amd64:
90 pipol6
91 :i386:amd64:
92 pipol7
93 :i386:amd64:
94 pipol8
95 :i386:amd64:
96 pipol14
97 :i386_kvm:amd64_kvm:
98 pipol15
99 :i386_kvm:amd64_kvm:
100 pipol16
101 :i386_kvm:amd64_kvm:
102 pipol17
103 :i386_kvm:amd64_kvm:
104 pipol11
105 :i386_mac:x86_mac:
106 pipol10
107 :ia64:
108 pipol9
109 :ia64:
110 pipol12
111 :x86_64_mac:
112 \endverbatim
113
114 When you have choose your image and host (not necessary) you deploy with command line:
115
116 pipol-sub esn \<image name\> \<host-name\> \<deployment-time\>
117 \verbatim
118 user@pipol:~$pipol-sub esn amd64_2010-linux-ubuntu-maverick.dd.gz pipol20 02:00
119 user@pipol:~$ssh pipol20
120 \endverbatim
121
122 You can now make all your tests.
123
124 \subsection xps_dev_guide_pipol_home From a computer
125
126 You have to renseign to simgrid configuration your pipol login.
127 \verbatim
128 $ cmake -Dpipol_user=user .
129 \endverbatim
130
131 Then you have two kind of command:
132 \li make \<image-name\>
133 \verbatim
134 $ make amd64_2010-linux-ubuntu-maverick
135 \endverbatim
136 This command copy your local simgrid directory to pipol and execute a configure, make and ctest.
137
138 \li make \<image_name\>_experimental
139 \verbatim
140 $ make amd64_2010-linux-ubuntu-maverick_experimental
141 \endverbatim
142 Same as previous but report into cdash
143
144 You can also see all available images from pipol
145 \verbatim
146 $ make pipol_test_list_images
147 \endverbatim
148
149 \section xps_dev_guide_pipol_nightly How to use nightly builds?
150
151 All the pipol scripts are located in \"<project/directory>/buildtools/pipol/\".
152 If you modifie them you have to update the pipol home directory by using this command: make sync-pipl.
153
154 It will copy those files:
155 \verbatim
156 simgrid@caraja:~/workspace/simgrid/build$ make sync-pipol 
157 Update pipol script for user: simgrid
158 rc.debian                                       100% 1338     1.3KB/s   00:00    
159 rc.fedora                                       100% 1433     1.4KB/s   00:00    
160 rc.mac                                          100% 1129     1.1KB/s   00:00    
161 rc.ubuntu                                       100% 1875     1.8KB/s   00:00    
162 rc.windows                                      100%  494     0.5KB/s   00:00    
163 Nightly_simgrid.sh                              100% 4004     3.9KB/s   00:00    
164 Experimental_bindings.sh                        100% 1794     1.8KB/s   00:00
165 \endverbatim 
166
167 \section xps_dev_guide_cdash How to report tests in cdash?
168
169 Reporting experiment in cdash is very easy because it is done by ctest.
170
171 The easier way is to execute command line "ctest -D Experiemntal" in build directory. More option is available by ctest:
172 \verbatim
173   ctest -D Continuous
174   ctest -D Continuous(Start|Update|Configure|Build)
175   ctest -D Continuous(Test|Coverage|MemCheck|Submit)
176   ctest -D Experimental
177   ctest -D Experimental(Start|Update|Configure|Build)
178   ctest -D Experimental(Test|Coverage|MemCheck|Submit)
179   ctest -D Nightly
180   ctest -D Nightly(Start|Update|Configure|Build)
181   ctest -D Nightly(Test|Coverage|MemCheck|Submit)
182   ctest -D NightlyMemoryCheck
183 \endverbatim
184
185 If you want to have a code coverage, please add option on simgrid.
186 \verbatim
187 $ cmake -Denable_coverage=ON .
188 $ ctest -D ExperimentalStart
189 $ ctest -D ExperimentalConfigure
190 $ ctest -D ExperimentalBuild
191 $ ctest -D ExperimentalTest
192 $ ctest -D ExperimentalCoverage
193 $ ctest -D ExperimentalSubmit
194 \endverbatim
195
196 \section xps_dev_guide_g5k How to run simgrid scalability xps?
197
198 \subsection xps_dev_guide_g5k_campaign How to execute g5k campaign?
199
200 Quick steps deployment for rennes:
201
202 \li 1/ Create a G5K account
203
204 \li 2/ SSH to a frontend (must be rennes, nancy or toulouse for git protocol)
205
206 \li 3/ Install g5k-campaign
207 \verbatim
208 $ gem install g5k-campaign --source http://g5k-campaign.gforge.inria.fr/pkg -p http://proxy:3128 --no-ri --no-rdoc --user-install
209 \endverbatim  
210   
211 \li 4/ Configure the API
212 \verbatim
213 $  mkdir ~/.restfully
214 $  echo 'base_uri: https://api.grid5000.fr/stable/grid5000' > ~/.restfully/api.grid5000.fr.yml
215 $  chmod 0600 ~/.restfully/api.grid5000.fr.yml
216 \endverbatim
217
218 \li 5/ Git clone the SimGrid Scalability project
219 \verbatim
220 $  git clone git://scm.gforge.inria.fr/simgrid/simgrid-scalability-XPs.git
221 \endverbatim
222
223 \li 6/ Copy the run script into your home
224 \verbatim
225 $  cp simgrid-scalability-XPs/script-sh/run-g5k-scalab.sh ~/
226 \endverbatim
227
228 \li 7/ Create the result log directory (must be ~/log/)
229 \verbatim
230 $  mkdir ~/log
231 \endverbatim
232
233 \li 8/ Execute the g5k campaign on a revision "rev"
234 \verbatim
235 $  sh run-g5k-scalab.sh "rev"
236 \endverbatim
237
238 You can also have more parameters
239
240 \li 1/ -> 5/ Same as before
241
242 \li 6/ Open simgrid-scalability-XPs
243
244 \li 7/ Execute SGXP.pl to see parameters
245 \verbatim
246 $  perl SGXP.pl --help
247 \endverbatim
248
249 \li 8/ Execute SGXP.pl with your parameters like
250 \verbatim
251 $  ./SGXP.pl --site=nancy --cluster=graphene --test=chord,goal --rev="09bbc8de,3ca7b9a13"
252 \endverbatim
253
254 \subsection xps_dev_guide_g5k_log How to analyze logs?
255
256 To analyze log from g5k-campaign you must install R tool.
257
258 \li 0/ You can copy logs from g5k to your computer (recommanded)
259
260 \li 1/ Open ~/log/
261
262 \li 2/ Execute the perl analyzer for goal log
263 \verbatim
264 $  ~/simgrid-scalability-XPs/libperl/analyzer.pl goal.log.* > goal.csv
265 \endverbatim
266
267 \li 3/ Execute the R analyer for goal log
268 \verbatim
269 $  ~/simgrid-scalability-XPs/script-R/goal.R goal.csv output.goal.pdf
270 \endverbatim
271
272 Example of generated pdf <a href="./output.goal.pdf">here</a>.
273
274 */