Message boards : API : Questions about building an application on BOINC
Message board moderation
Author | Message |
---|---|
Send message Joined: 10 Aug 09 Posts: 9 |
Dear Mrs/Mr I m trying to build a grid computing platform using BOINC, briefly I configured a boinc server using the VM image on BOINC website, I created a project using the documentation. Now I m developing my application which is Cracking DES-56bit, but I have some problems that my work units returned with an error 177 (rsc-limit-exceeded). I have some questions, please help me: 1. How Boinc server divide the whole work into tasks, I mean where did specify the rang to my client, for example, in my application DES_Cracker (start_key,end_key). It looks that boinc applications code is sequential, so where the dividing is made? 2. What are the role of the workunit template file and what's the relation with the dividing of work into tasks. How can I calculate the following: <rsc_memory_bound> </rsc_mem_bound> <rsc_disk_bound> </rsc_disk_bound> <rsc_fpops_est> </rsc_fpops_est> <rsc_fpops_bound> </rsc_fpops_bound> And are they calculated for the whole application or for one job for the client??? 3. does The workunit represent the whole work of the application or it is a part of it? There are another question about create my own work generator and Validator… But now I really have to know the answers of the main previous questions. Please help me… And I will be thankful for replying me. Sincerely. |
Send message Joined: 29 Aug 05 Posts: 15552 |
1. How Boinc server divide the whole work into tasks, I mean where did specify the rang to my client, for example, in my application DES_Cracker (start_key,end_key). Best start here, read through all that documentation. 2. What are the role of the workunit template file and what's the relation with the dividing of work into tasks. How can I calculate the following: A maximum amount of floating point operations as boundary. Go over it and the application will terminate. Usually calculated by adding two zeroes to the value you calculated in <rsc_fpops_est> And are they calculated for the whole application or for one job for the client??? Per application. If tasks differ even in that one application, calculate them by work unit. 3. does The workunit represent the whole work of the application or it is a part of it? Not sure what you ask here. See also http://boinc.berkeley.edu/trac/wiki/JobIn |
Send message Joined: 10 Aug 09 Posts: 9 |
thanks Ageless for your help. i knew the links that you have puted and i have read them before. I will explain the whole thing. if I have this code for example: for(int i0=0;i0<1000;i0++) { do_computation(); } and i want to divide this work to four workunits or tasks (each one 250 iter), how i determine that to server??? |
Send message Joined: 19 Jan 07 Posts: 1179 |
if I have this code for example: That's not how it works. It's your job to divide it in parts. For example: int main(int argc, char** argv) { /* somehow parse the command line from argv to get the initial value */ for(int i=0; i<100; i++) { int x = i+initial; do_computation(x); } } Then you create ten workunits, giving in the command line the initial values 0, 100, 200, 300, 400, etc. |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.