FYI, I usually edit the init scripts to start boinc at idle I/O class. On Mon, Sep 28, 2015 at 9:49 AM, Eric J Korpela <[email protected]> wrote:
> linux has had io priorities in the kernel scheduler since 2.6.13 They are > accessed from the command line using the ionice command. > > ionice -c <class> -n <piority> <command> > ionice -c <class> -n <priority> -p <pid> > > classes are 1 (realtime) 2(standard) 3(idle) > priorities are 0 (highest) to 7 (lowest) > > Children inherit the settings of the parent. > > In theory the io priorities effect paging, but I'm not sure that counts as > a memory priority. I'm not sure a memory access priority makes sense apart > from I/O and CPU scheduling since memory access doesn't ususally involve a > system call. > > > > On Mon, Sep 28, 2015 at 9:11 AM, David Anderson <[email protected]> > wrote: > >> Those calls affect CPU priority. >> We're looking for something that changes I/O and memory priority. >> -- David >> >> On 9/28/2015 7:29 AM, Jon Sonntag wrote: >> >>> According to the MSDN documentation regarding SetThreadPriority: >>> "Sets the priority value for the specified thread. This value, together >>> with the priority class of the thread's process, determines the thread's >>> base priority level." >>> >>> To make sure that GPU apps get access to the CPU when required but still >>> run in the background, the Collatz apps use the following for Windows >>> versions: >>> >>> if (SetPriorityClass(GetCurrentProcess(),BELOW_NORMAL_PRIORITY_CLASS)) >>> SetThreadPriority(worker_thread_handle, THREAD_PRIORITY_BELOW_NORMAL); >>> >>> I believe that boinc_init only allows idle or normal priority.Using the >>> above allows the GPU apps to run at a higher priority than the CPU apps >>> which is especially good when there are 8.5 cores (e.g. 8 CPU workunits and >>> 1 GPU workunit @ 0.5 CPUs) allocated on an 8 core host. >>> >>> Jon Sonntag >>> >>> >>> On Sun, Sep 27, 2015 at 12:18 AM, David Anderson <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Windows has an API for reducing the priority of I/O and memory usage, >>> namely SetPriorityClass(): >>> >>> https://msdn.microsoft.com/en-us/library/windows/desktop/ms686219(v=vs.85).aspx >>> < >>> https://msdn.microsoft.com/en-us/library/windows/desktop/ms686219%28v=vs.85%29.aspx >>> > >>> with the PROCESS_MODE_BACKGROUND_BEGIN**arg. >>> >>> However - inexplicably - this arg can be used only by a process on >>> itself, not >>> another process. >>> So we could call this from boinc_init() on Win, but it wouldn't work >>> with >>> existing apps. >>> * >>> * >>> On 9/26/2015 2:13 AM, Christian Beer wrote: >>> >>> >>> The main question here is: Is there a way to prioritize Memory >>> and I/O >>> access? If yes is it available on all platforms (Windows, Mac, >>> Linux)? If >>> not, is there a general way to get the load information from and >>> schedule >>> accordingly? >>> >>> You would still have to distinguish between BOINC generated >>> Memory and I/O >>> operations and from other apps. This seems very tricky. >>> >>> — >>> Reply to this email directly or view it on GitHub >>> < >>> https://github.com/BOINC/boinc/issues/1392#issuecomment-143414260>. >>> >>> >>> _______________________________________________ >>> boinc_dev mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev >>> To unsubscribe, visit the above URL and >>> (near bottom of page) enter your email address. >>> >>> >>> >> _______________________________________________ >> boinc_dev mailing list >> [email protected] >> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev >> To unsubscribe, visit the above URL and >> (near bottom of page) enter your email address. >> > > _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
