Changes between Version 75 and Version 76 of DevProjects


Ignore:
Timestamp:
Mar 27, 2012, 2:39:50 PM (12 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevProjects

    v75 v76  
    99|| Manager || C++, !WxWidgets, GUI and graphical design, usability ||
    1010|| Server programs || C++, system programming, database design, MySQL ||
    11 || Web features || PHP, CSS, web design, database design, MySQL ||
    12 || Unix build system || autoconf, automake ||
     11|| Web features || HTML, CSS, PHP, web design, usability, database design, MySQL ||
     12|| Unix build system || autoconf, automake, other GNU tools ||
    1313
    1414The University of California holds the copyright on all BOINC source code.
     
    3434   Don't start coding until you do this.
    3535
    36 Submit your work (as diffs or files) to the area owner, so that they can evaluate it and possibly check it in.
     36Submit your work (as diffs or files) to the area owner,
     37so that they can evaluate it and possibly check it in.
    3738
    3839== Proposed features ==
     
    4344=== Web features ===
    4445
    45  1. Use a WYSIWYG bbcode editor such as http://wysiwygbbcode.codeplex.com/releases/view/49836
    46  1. Document the classes and IDs used by the PHP code; document the "standard" stylesheets, main.css and white.css.
     46 1. Document the classes and IDs used by the PHP code;
     47   document the "standard" stylesheets, main.css and white.css.
    4748   Finish black.css, and maybe make another style.
     49 1. Add a Reset button to prefs (both general and project)
     50 1. [wiki:PrefsRemodel Remodel the preferences system]
    4851 1. Combine user page and profile. #601
    4952 1. Change default Q&A page to refer BOINC-specific questions to BOINC web site. #603
    5053 1. Convert team name HTML and team description to BBcode. #604
    51  1. Add a Reset button to prefs (both general and project)
    52  1. [wiki:PrefsRemodel Remodel the preferences system]
    5354 1. Add new profile features: #609
    5455   * list of recent posts and threads this person created, on this and other projects.
    55    * other features from social networking sites?
    56    * Add ‘referral’ mechanism: new user creates account, enters email of ‘referrer’ (or goes to URL that has it embedded).
    57      Give referrer a fraction of credit (or a 1-time bonus).
    58          List referrals on user page (show only those still active).
    59          Add new referral table to DB.
     56   * other features from social networking sites,
     57     e.g. recent posts by your friends.
     58 1. Add ‘referral’ mechanism: new user creates account, enters email of ‘referrer’
     59    (or goes to URL that has it embedded).
     60    Give referrer a fraction of credit (or a 1-time bonus).
     61    List referrals on user page (show only those still active).
     62    Add new referral table to DB.
     63 1. Use a WYSIWYG bbcode editor such as http://wysiwygbbcode.codeplex.com/releases/view/49836
    6064
    6165=== Applications ===
     
    6670  (or at least reducing the number of cases for HR).
    6771 1. Java support: core client checks for the existence of JVM, reports version to scheduler.
    68    Write Java wrapper (runs JVM, gives it jar files). Note: Sztaki has already done some part of this.
     72   Write Java wrapper (runs JVM, gives it jar files).
     73   Note: Sztaki has already done some part of this.
    6974 1. Same, .NET
     75
     76=== Runtime system ===
     77 1. Implement a mechanism where the client can tell apps to checkpoint.
     78 1. Use modern process-grouping mechanisms (e.g. Unix process groups).
    7079
    7180=== Client ===
     
    7382 1. Keep track of the statistics of how long it takes to upload files, and to report results.
    7483   Use that info to improve compute deadlines (e.g., subtract the 2 sigma point for both).
    75  1. Add an "expiration delay" for files: delete them only after they haven't been used for X time.
    7684 1. Core client monitors total CPU usage, limits its own CPU usage so that total is < 100%.
    7785 1. Monitor working-set size of non-BOINC apps; don't allow total to exceed physical RAM.
     
    7987   Note: this might be tricky because parts of a process's working set is shared with other processes.
    8088   Some study is needed to figure out the best approach.
    81  1. GUI RPC to tell apps to checkpoint and quit.
    82  1. Keep track of upload/download sizes, show weekly/monthly transfer totals.
    8389 1. Use multiple disks.
    8490   This would increase available space,
     
    8995   [http://www.lm-sensors.org/ Open-source software for collecting sensor data (on Linux)] is available.
    9096 1. Windows: get proxy config info directly from the OS.
    91  1. After an applications exits or is killed (for whatever reason) make sure
    92    (after a few second delay) that its subprocesses are gone too.
    93    Don't restart the job until this happens.
    94    Unix: use process groups and killpg().
    95  1. More generally: make a better state machine for shutting down apps:
    96    tell them to checkpoint, wait a little, tell them to quit, clean up straggler processes.
    97  1. Same, but for suspend: if we tell a client to suspend and it's still
    98    using lots of CPU after a few seconds, abort it (or something).
    9997 1. Integrate !BitTorrent ([http://www.rasterbar.com/products/libtorrent/ libtorrent]?)
    10098   with the core client (Janus Kristensen is working on this).
     
    111109=== BOINC Manager ===
    112110
    113 
    114111 1. Show credit numbers (especially totals) with thousands-groups separators (e.g., commas)
    115112 1. If using an AMS, put link to AMS (or user page) in sys tray popup, elsewhere.
     
    118115   * Skinnable via CSS
    119116   * nicer-looking than the WxWidgets version
     117 1. Show weekly/monthly transfer totals.
    120118
    121119=== Server and Back End ===
    122120
    123 
    124  1. Add a mechanism to recover from situations where the scheduler fails to send its reply message.
    125    * Add a reply_pending field to host table.  Set at start of scheduler, clear after reply message sent.
    126    * If get a request from host with reply_pending==1, scan for lost results.
    127      This would replace the <resend_lost_results> mechanism.
    128          NOTE: this is not a good design; successful send doesn't imply successful receipt.
    129121 1. XML stats: add lat/long to user record?
    130122 1. Enforce file immutability.
     
    132124   and if so make sure that it is the same.
    133125   Use MD5s for efficiency.
    134  1. Add support for MPI-type applications: try to schedule all the jobs in a batch more or less simultaneously.
     126 1. Add support for parallel applications:
     127   try to schedule all the jobs in a batch more or less simultaneously.
    135128   NOTE: being done by Volpex project from U. of Houston.
    136  1. Implement a mechanism so that server software detects incompatible database format. (related to #715)
    137  1. Add project_specific_info field to host table (text).
    138    This stores, for each app, the ID of last reference WU completed,
    139    and the info returned by that WU (as part of its stderr output, in a <app_info> tag).
    140    ?? how to select an app version based on contents of app_info?
    141    This could be used, e.g., to do app-specific benchmarking,
    142    to gather info on the host hardware or software configuration,
    143    or to periodically check the numerical hardware.
     129 1. Implement a mechanism so that server software detects incompatible database format.
     130   (related to #715)