I added code so that the client invokes ionice on itself at startup.
- David

On 9/28/2015 9:50 AM, Eric J Korpela wrote:
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] <mailto:[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]
    <mailto:[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]>
            <mailto:[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>
            
<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]>
            <mailto:[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] <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.

Reply via email to