Changes between Version 74 and Version 75 of DevProjects


Ignore:
Timestamp:
Mar 23, 2012, 10:26:15 PM (12 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevProjects

    v74 v75  
    3737
    3838== Proposed features ==
    39 The following development projects are available '''(Note: please do not add items to these lists.
    40 Suggest new items in the boinc_dev email list.)'''''''
     39The following development projects are available
     40'''(Note: please do not add items to these lists.
     41Suggest new items in the boinc_dev email list.)'''
    4142
    4243=== Web features ===
    43 Easy:
    4444
    45  * Use a WYSIWYG bbcode editor such as http://wysiwygbbcode.codeplex.com/releases/view/49836
    46  * Document the classes and IDs used by the PHP code; document the "standard" stylesheets, main.css and white.css.
     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.
    4747   Finish black.css, and maybe make another style.
    48  * Combine user page and profile. #601
    49  * Change default Q&A page to refer BOINC-specific questions to BOINC web site. #603
    50  * Convert team name HTML and team description to BBcode. #604
    51  * Add a Reset button to prefs (both general and project)
    52 
    53 Medium:
    54 
    55  * Add a mechanism where joining a team or group requires approval of an admin. #605
    56 
    57 Difficult and/or complex:
    58 
    59  * [wiki:PrefsRemodel Remodel the preferences system]
    60  * Propagate profiles between projects. #608
    61  * Same for forum preferences.
    62  * Add new profile features: #609
     48 1. Combine user page and profile. #601
     49 1. Change default Q&A page to refer BOINC-specific questions to BOINC web site. #603
     50 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]
     53 1. Add new profile features: #609
    6354   * list of recent posts and threads this person created, on this and other projects.
    6455   * other features from social networking sites?
     
    6758         List referrals on user page (show only those still active).
    6859         Add new referral table to DB.
    69  * Make it easy for teams to offer a client download that features their skin,
    70    and pre-register the user on that team for any projects he attaches to. #610
    7160
    7261=== Applications ===
    73 Easy:
    7462
    75  * Create Makefiles and project files to build the sample applications using MinGW and Dev-C++.
    76 
    77 Medium:
    78 
    79  * Write example FORTRAN application and Makefiles/ project files.
    80 
    81 Difficult and/or complex:
    82 
    83  * Investigate the crlibm library for generating identical results across processors
     63 1. Create Makefiles and project files to build the sample applications using MinGW and Dev-C++.
     64 1. Write example FORTRAN application and Makefiles/ project files.
     65 1. Investigate the crlibm library for generating identical results across processors
    8466  (or at least reducing the number of cases for HR).
    85  * Java support: core client checks for the existence of JVM, reports version to scheduler.
     67 1. Java support: core client checks for the existence of JVM, reports version to scheduler.
    8668   Write Java wrapper (runs JVM, gives it jar files). Note: Sztaki has already done some part of this.
    87  * Same, .NET
     69 1. Same, .NET
    8870
    8971=== Client ===
    90 Medium:
    9172
    92  * Keep track of the statistics of how long it takes to upload files, and to report results.
     73 1. Keep track of the statistics of how long it takes to upload files, and to report results.
    9374   Use that info to improve compute deadlines (e.g., subtract the 2 sigma point for both).
    94  * Add an "expiration delay" for files: delete them only after they haven't been used for X time.
    95  * Core client monitors total CPU usage, limits its own CPU usage so that total is < 100%.
    96  * Monitor working-set size of non-BOINC apps; don't allow total to exceed physical RAM.
     75 1. Add an "expiration delay" for files: delete them only after they haven't been used for X time.
     76 1. Core client monitors total CPU usage, limits its own CPU usage so that total is < 100%.
     77 1. Monitor working-set size of non-BOINC apps; don't allow total to exceed physical RAM.
    9778   This could eliminate the need for memory-usage preferences.
    9879   Note: this might be tricky because parts of a process's working set is shared with other processes.
    9980   Some study is needed to figure out the best approach.
    100  * GUI RPC to tell apps to checkpoint and quit.
    101  * Keep track of upload/download sizes, show weekly/monthly transfer totals.
    102 
    103 Hard:
    104 
    105  * Use multiple disks.
     81 1. GUI RPC to tell apps to checkpoint and quit.
     82 1. Keep track of upload/download sizes, show weekly/monthly transfer totals.
     83 1. Use multiple disks.
    10684   This would increase available space,
    10785   and (if slot dirs spread across disks) would allow I/O-intensive apps
    10886   to run more efficiently.
    10987   Would have to remove assumption that project dir is ../../projects/X relative to slot.
    110  * Have the core client sense CPU temperature and throttle CPU if it goes too high.
     88 1. Have the core client sense CPU temperature and throttle CPU if it goes too high.
    11189   [http://www.lm-sensors.org/ Open-source software for collecting sensor data (on Linux)] is available.
    112  * Windows: get proxy config info directly from the OS.
    113  * After an applications exits or is killed (for whatever reason) make sure
     90 1. Windows: get proxy config info directly from the OS.
     91 1. After an applications exits or is killed (for whatever reason) make sure
    11492   (after a few second delay) that its subprocesses are gone too.
    11593   Don't restart the job until this happens.
    11694   Unix: use process groups and killpg().
    117  * More generally: make a better state machine for shutting down apps:
     95 1. More generally: make a better state machine for shutting down apps:
    11896   tell them to checkpoint, wait a little, tell them to quit, clean up straggler processes.
    119  * Same, but for suspend: if we tell a client to suspend and it's still
     97 1. Same, but for suspend: if we tell a client to suspend and it's still
    12098   using lots of CPU after a few seconds, abort it (or something).
    121  * Integrate !BitTorrent ([http://www.rasterbar.com/products/libtorrent/ libtorrent]?)
     99 1. Integrate !BitTorrent ([http://www.rasterbar.com/products/libtorrent/ libtorrent]?)
    122100   with the core client (Janus Kristensen is working on this).
    123  * Log result start/ends (for use by 3rd-party software like !BoincView).
    124  * Vista: if get 'about to shut down' msg from OS,
     101 1. Log result start/ends (for use by 3rd-party software like !BoincView).
     102 1. Vista: if get 'about to shut down' msg from OS,
    125103   stop apps immediately (don't tell them to checkpoint). Investigate.
    126104
    127105=== Installer ===
    128  * Check if host is configured to go into Standby mode after X idle minutes.
     106 1. Check if host is configured to go into Standby mode after X idle minutes.
    129107   If so, ask user if they want to let BOINC run for X minutes, then go into standby right after that.
     108 1. Make it easy for teams to offer a client download that features their skin,
     109   and pre-register the user on that team for any projects he attaches to. #610
    130110
    131111=== BOINC Manager ===
    132 Easy:
    133112
    134  * Show credit numbers (especially totals) with thousands-groups separators (e.g., commas)
    135  * If using an AMS, put link to AMS (or user page) in sys tray popup, elsewhere.
    136113
    137 Hard:
    138 
    139  * Reimplement the BOINC Manager so that it is:
     114 1. Show credit numbers (especially totals) with thousands-groups separators (e.g., commas)
     115 1. If using an AMS, put link to AMS (or user page) in sys tray popup, elsewhere.
     116 1. Reimplement the BOINC Manager so that it is:
    140117   * Configurable via an XML file
    141118   * Skinnable via CSS
     
    143120
    144121=== Server and Back End ===
    145 Easy:
    146122
    147  * Add a mechanism to recover from situations where the scheduler fails to send its reply message.
     123
     124 1. Add a mechanism to recover from situations where the scheduler fails to send its reply message.
    148125   * Add a reply_pending field to host table.  Set at start of scheduler, clear after reply message sent.
    149126   * If get a request from host with reply_pending==1, scan for lost results.
    150127     This would replace the <resend_lost_results> mechanism.
    151128         NOTE: this is not a good design; successful send doesn't imply successful receipt.
    152  * XML stats: add lat/long to user record?
    153 
    154 Medium:
    155 
    156  * Enforce file immutability.
     129 1. XML stats: add lat/long to user record?
     130 1. Enforce file immutability.
    157131   I.e., have create_work() check if any file is already in the download hierarchy,
    158132   and if so make sure that it is the same.
    159133   Use MD5s for efficiency.
    160 
    161 Hard:
    162 
    163  * Add support for MPI-type applications: try to schedule all the jobs in a batch more or less simultaneously.
     134 1. Add support for MPI-type applications: try to schedule all the jobs in a batch more or less simultaneously.
    164135   NOTE: being done by Volpex project from U. of Houston.
    165  * Implement a mechanism so that server software detects incompatible database format. (related to #715)
    166  * Add project_specific_info field to host table (text).
     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).
    167138   This stores, for each app, the ID of last reference WU completed,
    168139   and the info returned by that WU (as part of its stderr output, in a <app_info> tag).