Title: [211111] trunk/Source/_javascript_Core
Revision
211111
Author
[email protected]
Date
2017-01-24 14:07:34 -0800 (Tue, 24 Jan 2017)

Log 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):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (211110 => 211111)


--- trunk/Source/_javascript_Core/ChangeLog	2017-01-24 21:54:59 UTC (rev 211110)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-01-24 22:07:34 UTC (rev 211111)
@@ -1,3 +1,24 @@
+2017-01-24  Filip Pizlo  <[email protected]>
+
+        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):
+
 2017-01-24  Michael Saboff  <[email protected]>
 
         JSArray::tryCreateUninitialized should be called JSArray::tryCreateForInitializationPrivate

Modified: trunk/Source/_javascript_Core/runtime/Options.cpp (211110 => 211111)


--- trunk/Source/_javascript_Core/runtime/Options.cpp	2017-01-24 21:54:59 UTC (rev 211110)
+++ trunk/Source/_javascript_Core/runtime/Options.cpp	2017-01-24 22:07:34 UTC (rev 211111)
@@ -312,7 +312,8 @@
         Options::maximumMutatorUtilization() = 0.6;
         Options::concurrentGCMaxHeadroom() = 1.4;
         Options::concurrentGCPeriodMS() = 10;
-    }
+    } else
+        Options::useStochasticMutatorScheduler() = true;
 }
 
 static void recomputeDependentOptions()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to