Download presentation
Presentation is loading. Please wait.
Published byLetitia Ward Modified over 8 years ago
1
Session 4: Creating and processing work
2
BOINC daemons ● Work generator ● Transitioner – Creates results for new and time-out workunits ● Validator ● Assimilator ● File deleter ● DB purger
3
Workunit template 0 [, other attributes] [... ] 0 NAME [... ] [ -flags xyz ] [ x ]... [ x ]...
4
Result template 32768 result.sah
5
Moving files to download hierarchy ● dir_hier_path filename – Echoes path of subdirectory ● cp test_workunits/12ja04aa `bin/dir_hier_path 12ja04aa`
6
create_work script create_work -appname name // application name -wu_name name // workunit name -wu_template filename // WU template filename // relative to project root; usually in templates/ -result_template filename // result template filename // relative to project root; usually in templates/
7
create_work() function int create_work( DB_WORKUNIT&, const char* wu_template, const char* result_template_filename, const char* result_template_filepath, const char** infiles, int ninfiles SCHED_CONFIG&, const char* command_line = NULL );
8
Creating lots of work char filename[256]; char* infiles[1]; infiles[0] = filename;... for (i=0; i<10; i++) { sprintf(filename, "file%d", i); create_work( wu, wu_template, "templates/results_template.xml", infiles, 1, config ); }
9
make_work daemon ● Clone work to maintain supply (while testing) ● make_work -wu_name name -cushion N – Makes new workunits as needed – Maintains at least N unsent results
10
Validator ● Application-supplied functions – check_set(): compare a set of results, find a canonical result – check_pair(): compare canonical result to another result ● Supplied validators: – sample_bitwise_validator: exact match – sample_trivial_validator: always valid
11
Assimilator ● Application-supplied function: – assimilate_handler() ● Supplied assimilator: – sample_dummy_assimilator (does nothing)
12
Debugging server components ● Examine database ● Log files ● Running scheduler under debugger
13
Server performance ● Database performance – mysql show processlist ● Use top, iostat etc. ● Move daemons to other hosts ● Parallelize daemons – transitioner -mod 4 1
14
Summary: creating a project ● Buy and configure server ● Develop/port and debug application ● Write code to generate, check, assimilate work ● Develop web site ● Alpha, beta testing ● Publicize project ● Monitor, maintain running project
15
Cost estimates ● Server hardware: US$5,000 ● Server setup: 1 week – sysadmin with MySQL experience ● Application porting/testing: 1 month – programmer with Windows/Linux/Mac experience ● Web site development: 1 week – web developer with PHP experience ● Maintenance: 1/4-time – sysadmin/DB admin
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.