⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 211111 in webkit


Ignore:
Timestamp:
Jan 24, 2017, 2:07:34 PM (10 years ago)
Author:
fpizlo@apple.com
Message:

Enable the stochastic space-time scheduler on the larger multicores
https://bugs.webkit.org/show_bug.cgi?id=167382
<rdar://problem/30173375>

Rubber stamped by Saam Barati

This looks like a 1.3% JetStream speed-up thanks to a 28% splay-latency improvement. This new
scheduler seems to prevent all of the same pathologies as the old one prevented. But instead of
periodically suspending the mutator, this new one will only suspend after an iteration of the
constraint fixpoint. The length of that suspension length is random with the distribution being
governed by mutatorUtilization. Once resumed, the mutator gets to run unimpeded until draining
stalls.

I'm enabling it on platforms as I benchmark those platforms. It's possible that we will want to
use a different scheduler on different platforms.

  • runtime/Options.cpp:

(JSC::overrideDefaults):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r211110 r211111  
     12017-01-24  Filip Pizlo  <fpizlo@apple.com>
     2
     3        Enable the stochastic space-time scheduler on the larger multicores
     4        https://bugs.webkit.org/show_bug.cgi?id=167382
     5        <rdar://problem/30173375>
     6
     7        Rubber stamped by Saam Barati
     8       
     9        This looks like a 1.3% JetStream speed-up thanks to a 28% splay-latency improvement. This new
     10        scheduler seems to prevent all of the same pathologies as the old one prevented. But instead of
     11        periodically suspending the mutator, this new one will only suspend after an iteration of the
     12        constraint fixpoint. The length of that suspension length is random with the distribution being
     13        governed by mutatorUtilization. Once resumed, the mutator gets to run unimpeded until draining
     14        stalls.
     15       
     16        I'm enabling it on platforms as I benchmark those platforms. It's possible that we will want to
     17        use a different scheduler on different platforms.
     18
     19        * runtime/Options.cpp:
     20        (JSC::overrideDefaults):
     21
    1222017-01-24  Michael Saboff  <msaboff@apple.com>
    223
  • trunk/Source/JavaScriptCore/runtime/Options.cpp

    r210451 r211111  
    313313        Options::concurrentGCMaxHeadroom() = 1.4;
    314314        Options::concurrentGCPeriodMS() = 10;
    315     }
     315    } else
     316        Options::useStochasticMutatorScheduler() = true;
    316317}
    317318
Note: See TracChangeset for help on using the changeset viewer.