Title: Tutorial: Application Deployment Uppercase Application
1TutorialApplication Deployment(Uppercase
Application)
- Gabor Szmetanko
- University of Westminster
2Agenda
- BOINC Desktop Grid installation
- Application porting with the DC-API
- Introduction, sample application
- Client side
- Master side
- Application deployment in BOINC
3Preparation
- Both of our applications are ready
- Its time to deploy them
- We will use a deployment script to deploy the
applications - The script considerably reduces the deployment
time
4The boinc_appmgr script1
- SZTAKI has developed a script
- Makes application management easier
- In standard BOINC, application deployment is a
multi-stage process - Deploys a DG application and sets up the
configuration files - The configuration files can be customised after
deployment
5The boinc_appmgr script2
- boinc_appmgr automates application deployment by
performing the following tasks - Places the client executables where BOINC expects
them - Optionally signs them
- Registers the client executables in the
project.xml file and in the BOINC database - Installs the master application in a new
directory - Modifies the DC-API configuration of the master
to match the project's settings - Adds the master application to config.xml so it
is automatically started/stopped by BOINC when
the project is started/stopped - Also configures a validator, in our case it will
be the sample_trivial_validator that just accepts
everything
6The boinc_appmgr script3
- To use the script we should do two things
- Create an archive with the files of the
application - Create XML descriptors for both the master and
the client
7Creating the archive
- The archive should contain all the files required
by the application - The way you structure the archive is up to you
- The only restriction is that you should place two
XML descriptors into the top-level directory of
the tar archive - Master deployment descriptor
- Client deployment descriptor
8Master deployment descriptor1
- In the master descriptor we can describe how we
want the master application to be deployed - We should describe our requirements as XML
elements
9Master deployment descriptor2
- Elements of the descriptor
- name application name
- version master version
- files additional files required by the masters
- daemon daemon processes required by the
application (master, validator, etc.) - dcapi-conf configuration file for the DC-API
10Master deployment descriptor of the Uppercase
application
ltmastergt ltnamegtuppercaselt/namegt ltversiongt1.00lt/v
ersiongt ltfilesgtltfilegtmaster/in.txtlt/filegtlt/filesgt
ltdaemongt ltbinarygtmaster/masterlt/binarygt ltar
gumentsgt ltarggt--configlt/arggt ltarggtwork
dir/dcapi.conflt/arggt lt/argumentsgt lt/daemongt lt
dcapi-confgtmaster/dcapi.conflt/dcapi-confgt ltdaemon
gt ltnamegtsample_trivial_validatorlt/namegt ltargum
entsgt ltarggt-dlt/arggt ltarggt3lt/arggt ltarggt-ap
plt/arggt ltarggtuppercaselt/arggt lt/argumentsgt lt/
daemongt lt/mastergt
11Client deployment descriptor
- The client descriptor is similar to the master
descriptor - Elements of the client descriptor
- name application name
- user_friendly_name user friendly name of the
application - version client version
- platform specifies the files required by a
specific platform
12Client deployment descriptor of the Uppercase
application
ltclientgt ltnamegtuppercaselt/namegt ltuser_friendly_n
amegtUppercase Applicationlt/user_friendly_namegt lt!
-- Application version. The version number must
contain two components (major.minor). Both
component may be 1 or 2 digits long. The major
version must be the same as the Boinc server
major version. --gt ltversiongt1.00lt/versiongt ltplat
formgt lt!-- The name of the platform
--gt ltnamegti686-pc-linux-gnult/namegt lt!-- The
name of the main client binary --gt ltbinarygti686-
pc-linux-gnu/clientlt/binarygt lt!-- Additional
files can also be installed --gt lt!--
ltlibgtwinlib.dlllt/libgt --gt lt/platformgt lt/clientgt
13The DC-API configuration file
- The DC-API library uses a configuration file to
control its operations - It is passed to the DC_initMaster call
- Key-value pairs in groups
- Two groups
- Master (global configuration options)
- Client-CLIENTNAME (client-specific options)
14The most common configuration parameters
15Sample configuration file
- The sample configuration file from the
uppercase_dg folder
Master WorkingDirectory Must be
specified InstanceUUID Must be
specified LogLevel Debug BoincConfigXML
Must be specified ProjectRootDir Must be
specified Client-uppercase name
uppercase-client
16Deploying the application2
- You do not have to bother with the preparation of
the archive required by the deployment script, it
can be generated automatically with make
17Deploying the application2
- Change to the project user
e.g.
Use the password you specified at the project
creation!
18Deploying the application3
- Execute the deployment script
- The application has been deployed, after
restarting the server, the clients can start to
work
19Testing the application
- Now that our application is running, we should
test and monitor it - Your BOINC client is already connected to your
and your neighbours projects, so it will
automatically fetch work units of the Uppercase
application
20Task tab
- On the tasks tab of the client you can check the
status of the computation
21Checking the results on the website
- You can also monitor the computation on the
project website - The BOINC project has two websites
- Public website for everyone
- Private website for the administrators
- Both website can be used to check the progress of
the computation (different level of details)
22Public website status information
23Admin website (results)
24Admin website (work units)
25Admin website (summary)
26Performance
- We can also monitor the performance of the
application on the website - The information we can directly obtain
- Overall performance of the DG
- Performance of individual nodes
27Overall performance of the DG
28Performance of individual nodes
29Getting information from the project database
- As a more advanced alternative, we can directly
query the project database - For example, the number of hosts participating in
the computation
30Thank you for your attention
Any questions?
If you have any questions on application porting,
please feel free to contact us! Email
szmetag_at_wmin.ac.uk