Presentation is loading. Please wait.

Presentation is loading. Please wait.

Session 4: Creating and processing work. BOINC daemons ● Work generator ● Transitioner – Creates results for new and time-out workunits ● Validator ●

Similar presentations


Presentation on theme: "Session 4: Creating and processing work. BOINC daemons ● Work generator ● Transitioner – Creates results for new and time-out workunits ● Validator ●"— Presentation transcript:

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


Download ppt "Session 4: Creating and processing work. BOINC daemons ● Work generator ● Transitioner – Creates results for new and time-out workunits ● Validator ●"

Similar presentations


Ads by Google