Changes between Version 80 and Version 81 of DevProjects


Ignore:
Timestamp:
Apr 7, 2013, 7:35:38 PM (8 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevProjects

    v80 v81  
    4545Suggest new items in the boinc_dev email list.)'''
    4646
     47=== High priority ===
     48
     49 1. Change the GPU framework.
     50  Currently BOINC requires that all GPUs of a given vendor (NVIDIA, ATI, Intel) be similar,
     51  and it treats them as a single pool
     52  (i.e. jobs are not associated with a particular GPU instance).
     53  This model has a number of drawbacks on machines with multiple different GPUs.
     54  Change the model so that each GPU is treated separately.
     55  This will require major changes to the client, scheduler, and RPC protocol.
     56 1. The client's job scheduler has several O(N^2) algorithms,
     57  where N is the number of jobs queued on the client.
     58  Change these to Nlog(N).
     59 1. The scheduler's logic for selecting app versions is clumsy.
     60  Replace it with logic that, at the start, selects a version for each (app, resource type)
     61  and stores these in an array.
     62
    4763=== Web features ===
    4864
     
    5874
    5975 1. [wiki:PrefsRemodel Remodel the preferences system]
    60  1. Combine user page and profile. #601
    6176 1. Change default Q&A page to refer BOINC-specific questions to BOINC web site. #603
    6277 1. Convert team name HTML and team description to BBcode. #604
     
    7893 1. Investigate the crlibm library for generating identical results across processors
    7994  (or at least reducing the number of cases for HR).
    80  1. Java support: core client checks for the existence of JVM, reports version to scheduler.
    81    Write Java wrapper (runs JVM, gives it jar files).
    82    Note: Sztaki has already done some part of this.
    83  1. Same, .NET
    8495
    8596=== Runtime system ===
    86  1. Implement a mechanism where the client can tell apps to checkpoint.
     97 1. Implement a mechanism where the client can ask apps to checkpoint.
    8798 1. Use modern process-grouping mechanisms (e.g. Unix process groups).
    8899
     
    91102 1. Keep track of the statistics of how long it takes to upload files, and to report results.
    92103   Use that info to improve compute deadlines (e.g., subtract the 2 sigma point for both).
    93  1. Core client monitors total CPU usage, limits its own CPU usage so that total is < 100%.
     104 1. Client monitors total CPU usage, limits its own CPU usage so that total is < 100%.
    94105 1. Monitor working-set size of non-BOINC apps; don't allow total to exceed physical RAM.
    95106   This could eliminate the need for memory-usage preferences.
     
    128139=== Server and Back End ===
    129140
    130  1. Modify the scheduler's app version selection so that instead of using
    131     the fastest available version,
    132     it uses the fastest one for the resource R for which R.req_secs/R.ninstances is greatest.
    133141 1. Add support for parallel applications:
    134142   try to schedule all the jobs in a batch more or less simultaneously.