Changes between Version 80 and Version 81 of DevProjects
- Timestamp:
- Apr 7, 2013, 7:35:38 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DevProjects
v80 v81 45 45 Suggest new items in the boinc_dev email list.)''' 46 46 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 47 63 === Web features === 48 64 … … 58 74 59 75 1. [wiki:PrefsRemodel Remodel the preferences system] 60 1. Combine user page and profile. #60161 76 1. Change default Q&A page to refer BOINC-specific questions to BOINC web site. #603 62 77 1. Convert team name HTML and team description to BBcode. #604 … … 78 93 1. Investigate the crlibm library for generating identical results across processors 79 94 (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, .NET84 95 85 96 === Runtime system === 86 1. Implement a mechanism where the client can tellapps to checkpoint.97 1. Implement a mechanism where the client can ask apps to checkpoint. 87 98 1. Use modern process-grouping mechanisms (e.g. Unix process groups). 88 99 … … 91 102 1. Keep track of the statistics of how long it takes to upload files, and to report results. 92 103 Use that info to improve compute deadlines (e.g., subtract the 2 sigma point for both). 93 1. C ore 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%. 94 105 1. Monitor working-set size of non-BOINC apps; don't allow total to exceed physical RAM. 95 106 This could eliminate the need for memory-usage preferences. … … 128 139 === Server and Back End === 129 140 130 1. Modify the scheduler's app version selection so that instead of using131 the fastest available version,132 it uses the fastest one for the resource R for which R.req_secs/R.ninstances is greatest.133 141 1. Add support for parallel applications: 134 142 try to schedule all the jobs in a batch more or less simultaneously.