--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5RdFVFmL-LphrY%2BpdeVqF7q%2B5cMNux9EwbWo5183YN-Yzw%40mail.gmail.com.
--
We don't have very many Linux users, and since this isn't on Chrome OS or Android the security benefit to the user population is pretty small right?
What's the performance impact on html-full-render on a low end Chromebook?
Putting a branch at every virtual call still seems like needless perf overhead, especially compared to our competitors running on lower end machines. It also severely hurts our ability to refactor the code by adding virtual calls since now they're more expensive, but not locally.
Why do you think 3% is an acceptable regression in the layout benchmarks? :)
Can you also run the Animometer benchmarks? We're already 20% slower than Safari at a bunch of things, I'm not very comfortable becoming even slower.
Hi Elliott,On Tue, Jul 12, 2016 at 3:34 PM, Elliott Sprehn <esp...@chromium.org> wrote:We don't have very many Linux users, and since this isn't on Chrome OS or Android the security benefit to the user population is pretty small right?Yes, this is why we use Linux x86-64 as our test bed. While the immediate impact will be just this small (still, millions) Linux population, it's the only way to expand to Android, Chrome OS, Mac OS and Windows.What's the performance impact on html-full-render on a low end Chromebook?How do we measure that? Does Perf team has any trybots for that?Putting a branch at every virtual call still seems like needless perf overhead, especially compared to our competitors running on lower end machines.
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5RdFVFmL-LphrY%2BpdeVqF7q%2B5cMNux9EwbWo5183YN-Yzw%40mail.gmail.com.
Is there a doc describing this launch and the impacts (positive and negative)? I feel like this is the kind of thing that probably already has a design doc, and it should collect the perf stats of the thing we want to launch. This also seems like the kind of thing that should be posted using the new design doc posting process we sent out 2 weeks ago.
It seems like at least some performance-focused people are unhappy. Given that this trades off some amount of speed for some amount of security, I think our decision to tradeoff two of our top-line project goals should be very explicit. I'm guessing Launch Review will be a bad place for this since the performance and security subtleties here aren't digestable in 5 minutes in a big meeting. Maybe I'm wrong or there may be more background I'm not aware of.
It may be worthwhile to set up a separate decision making meeting for this if there isn't obvious consensus on the mailing list about the stats. If there's a plan to get more stats from the wild, I would think it's appropriate to just launch to Linux dev channel to get real world stats, and then look at that to help make the final decision
.I'm not arguing against this launch, I just want everybody to be happy that we explicitly decided to trade off X% of speed for Y% of security and that this is in line with our broader project goals.
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5Rfg9PNrqatk8Hv3-Mk%2BcmBNidqrsp9Yi%2BEUcmFLrgQG3A%40mail.gmail.com.
Regarding the Blink part, platform-architecture-dev@ would be a good place to discuss this kind of stuff.Before making some decision, I'd like to have a more comprehensive performance result. Would you at least run the following benchmarks more than 20 times locally and compare the performance?- blink_perf.* (not limited to blink_perf.layout)- dromaeo.dom*
- speedometer- Animometer
To make sure that everyone is on the same page: I am collecting additional evidence, and once I have it, I will present it here.As for Animometer mentioned in this thread twice, I would really appreciate a doc to follow. I never heard of it, and quick search didn't return anything really good.
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5RfjXBJ_b5ScW-HnTtCVAb6hWKt5jB%3DDqdPOD-Ygjmx1qw%40mail.gmail.com.
Hi Brett,On Tue, Jul 12, 2016 at 6:00 PM, Brett Wilson <bre...@chromium.org> wrote:Is there a doc describing this launch and the impacts (positive and negative)? I feel like this is the kind of thing that probably already has a design doc, and it should collect the perf stats of the thing we want to launch. This also seems like the kind of thing that should be posted using the new design doc posting process we sent out 2 weeks ago.CFI is a long-running effort. We went through the old process ('intent to implement') back in October 2015 ([1])
There's no explicit design doc on the Chromium side required, as in the end, it's just enabling a compiler flag and the LLVM side design doc is linked in the thread ([1]).The only updates from that time is somewhat changed estimates for performance / size impact, which I have provided in the first message of the current thread.
It seems like at least some performance-focused people are unhappy. Given that this trades off some amount of speed for some amount of security, I think our decision to tradeoff two of our top-line project goals should be very explicit. I'm guessing Launch Review will be a bad place for this since the performance and security subtleties here aren't digestable in 5 minutes in a big meeting. Maybe I'm wrong or there may be more background I'm not aware of.Back to October 2015, the consensus was it's good to go. Based on that estimates, it was approved for a launch in December 2015, and only after finding micro-benchmarks which regressed by 20%, it was decided that the negative impact is too high. So we have reverted and made a lot of work to make Chrome having smaller dynamic number of virtual calls ([2], [3]), and this part is already launched.
So, I kind of assumed that we don't need yet another launch review. Nothing has changed in the stated goals for CFI.
It may be worthwhile to set up a separate decision making meeting for this if there isn't obvious consensus on the mailing list about the stats. If there's a plan to get more stats from the wild, I would think it's appropriate to just launch to Linux dev channel to get real world stats, and then look at that to help make the final decision.I'm not arguing against this launch, I just want everybody to be happy that we explicitly decided to trade off X% of speed for Y% of security and that this is in line with our broader project goals.The performance impact here is not a scalar, it's a vector. For instance, this launch is not going to slowdown Chrome by X%. For the most metrics there won't be any visible impact. Some of the metrics will degrade by ~3%, but we don't currently know how many of them, or if there're other metrics which will regress more than that (in which case we'll definitely revert). As for the security, it's not measured in percents at all. CFI closes one of the popular steps to create an exploit and it's widely discussed in the papers mentioned by Peter.
My proposal: tomorrow, I will submit the launch CFI CL ([4]), we'll wait for the Perf dashboard to report regressions (we know there will be some, but the exact numbers are hard to guess; the best estimate is the attached doc in the first message of this thread), and then continue this discussion in a more constructive way, where we know what has become slower.Does it sound reasonable to you, Brett?
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5Rfg9PNrqatk8Hv3-Mk%2BcmBNidqrsp9Yi%2BEUcmFLrgQG3A%40mail.gmail.com.
Hi Elliott,I believe you have got a few facts wrong:1. We still claim less than 1% of slow down on average. It's still the claim.
2. Devirtualization speedups required turning on LinkTimeOptimization, but so is CFI. No additional slowdown of link time for these speedups was done. The upcoming CFI launch will not affect link time at all.
3. Perf Linux builders have <40 mins for a cycle: https://build.chromium.org/p/chromium.perf/builders/Linux%20Builder/builds/49176Please, provide the source for the 14 hours link. I am extremely curious to see it.
Hi Brett,On Tue, Jul 12, 2016 at 6:00 PM, Brett Wilson <bre...@chromium.org> wrote:Is there a doc describing this launch and the impacts (positive and negative)? I feel like this is the kind of thing that probably already has a design doc, and it should collect the perf stats of the thing we want to launch. This also seems like the kind of thing that should be posted using the new design doc posting process we sent out 2 weeks ago.CFI is a long-running effort. We went through the old process ('intent to implement') back in October 2015 ([1])There's no explicit design doc on the Chromium side required, as in the end, it's just enabling a compiler flag and the LLVM side design doc is linked in the thread ([1]).The only updates from that time is somewhat changed estimates for performance / size impact, which I have provided in the first message of the current thread.
On Tue, Jul 12, 2016 at 6:26 PM, Ivan Krasin <kra...@google.com> wrote:Hi Brett,On Tue, Jul 12, 2016 at 6:00 PM, Brett Wilson <bre...@chromium.org> wrote:Is there a doc describing this launch and the impacts (positive and negative)? I feel like this is the kind of thing that probably already has a design doc, and it should collect the perf stats of the thing we want to launch. This also seems like the kind of thing that should be posted using the new design doc posting process we sent out 2 weeks ago.CFI is a long-running effort. We went through the old process ('intent to implement') back in October 2015 ([1])There's no explicit design doc on the Chromium side required, as in the end, it's just enabling a compiler flag and the LLVM side design doc is linked in the thread ([1]).The only updates from that time is somewhat changed estimates for performance / size impact, which I have provided in the first message of the current thread.I think we need to collect all of the numbers we have and make a conscious decision about launching. If everybody is generally happy with the numbers, launch review is the right place to make that decision. If there is disagreement about benchmarks and such, we may want to take a deeper dime.
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CABiGVV-wKD0bEm9fERYsXAK1qpD45OfVPWDAD7xdzrXUNM6Vqw%40mail.gmail.com.
Loading developer.html will give you more control over the benchmark. There's a lot more benchmarks than just the default set that the "Run benchmark" contains, vmiura@ can help you run the rests of the benchmarks.https://trac.webkit.org/export/HEAD/trunk/PerformanceTests/Animometer/developer.htmlThere's a lot of them not in the default set which stress other various parts of the engine.
Hi Elliott,On Tue, Jul 12, 2016 at 3:34 PM, Elliott Sprehn <esp...@chromium.org> wrote:We don't have very many Linux users, and since this isn't on Chrome OS or Android the security benefit to the user population is pretty small right?Yes, this is why we use Linux x86-64 as our test bed. While the immediate impact will be just this small (still, millions) Linux population, it's the only way to expand to Android, Chrome OS, Mac OS and Windows.What's the performance impact on html-full-render on a low end Chromebook?How do we measure that? Does Perf team has any trybots for that?
Putting a branch at every virtual call still seems like needless perf overhead, especially compared to our competitors running on lower end machines. It also severely hurts our ability to refactor the code by adding virtual calls since now they're more expensive, but not locally.It's possible build build CFI-profiled build locally. It's just slower to link. Eventually, ThinLTO should address this.Why do you think 3% is an acceptable regression in the layout benchmarks? :)It's not all benchmarks, and we knew that there will be some impact on the performance when we started to discuss implementing CFI for Chrome with the team. It was blessed in general terms. As for the specific thresholds: last time we regressed by 20% on some benchmarks, and Peter has improved things considerably, including speeding up some of the layout benchmarks by up to 7% with aggressive automatic devirtualization on the compiler level: https://crbug.com/580389 and https://crbug.com/617283So, we're making it somewhat slower, but only after made it faster. Looks like the right sequence of the events.Can you also run the Animometer benchmarks? We're already 20% slower than Safari at a bunch of things, I'm not very comfortable becoming even slower.Yes, we can. How do we do that? Any specific doc pointers?
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5RfkrHKVHASbAUGYvoXmn%2BJbiEaG3CnxYVuaHsZrXFPe5A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5Rdaq_CTSVjFXBpbnap92V2AMGLy0BLFb%2BMmU1rEiY-QrQ%40mail.gmail.com.
Thank you for looking into this, Kentaro. Can you please also look up the results from Animometer? (see a couple of messages above, there's a link for a spreadsheet)
What machine are you both testing on? Your Z620 is crazy fast and very noisy.
Yes, it is Z620, and yes, it's super noisy. :(I can also try to run these benchmarks on my laptop, if you think it will be smoother. Alternative proposals are welcome!
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5Rc_WTkYNL0rpe996wTk%2B9%3DDOYQfk9O0H_r8UQWutKMj5g%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CA%2ByH71eg8Vr4jPdLSPuFcR___-JyN%2BH%2BSRXze-V3_cHNARqvgw%40mail.gmail.com.
| Sample 1 | Sample 2 | Sample 3 | Sample 4 | Sample 5 | Sample 6 | StdDev | |
| after reboot | 160889.5938 | 153476.0156 | 160128.875 | 161425.7188 | 155683.75 | 162588.7031 | 3608.699385 |
| affinity | 161494.3594 | 161614.5938 | 159176.9688 | 161284.2813 | 160693.875 | 161932.25 | 998.2738996 |
| affinity+sched | 160497.2656 | 161454.8438 | 160677.8281 | 161023.875 | 160526.7031 | 160065.2813 | 479.3385152 |
| performance + maxfreq | 196765.9688 | 200409.4063 | 198774.2969 | 200694.875 | 202048.3906 | 201817.875 | 2003.439864 |
| performance + min | 201370.4688 | 199420 | 200186.8906 | 199033.4063 | 202179.1875 | 196381.4688 | 2034.025737 |
| powersave + min + noturbo | 70424.1875 | 70724.96094 | 70711.00781 | 70516.125 | 70590.65625 | 70002.27344 | 267.1821713 |
| powersave + min + noturbo + nopstate | 38898.91016 | 38838.93359 | 38855.80469 | 38914.06641 | 38856.36719 | 38868.25 | 28.66301926 |
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAE5mQiPHao1RQiFceTZt4draqdYK_vNZbBOJSdRawXpvGDJnVw%40mail.gmail.com.
| Sample 1 | Sample 2 | Sample 3 | Sample 4 | Sample 5 | Sample 6 | StdDev |
| after reboot | 160889.59 | 153476.02 | 160128.88 | 161425.72 | 155683.75 | 162588.70 | 3608.70 |
| affinity | 161494.36 | 161614.59 | 159176.97 | 161284.28 | 160693.88 | 161932.25 | 998.27 |
| affinity+sched | 160497.27 | 161454.84 | 160677.83 | 161023.88 | 160526.70 | 160065.28 | 479.34 |
| affinity + performance + maxfreq | 196765.97 | 200409.41 | 198774.30 | 200694.88 | 202048.39 | 201817.88 | 2003.44 |
| affinity + performance + minfreq | 201370.47 | 199420.00 | 200186.89 | 199033.41 | 202179.19 | 196381.47 | 2034.03 |
| affinity + powersave + minfreq + noturbo | 70424.19 | 70724.96 | 70711.01 | 70516.13 | 70590.66 | 70002.27 | 267.18 |
| affinity + powersave + minfreq + noturbo + nopstate | 38898.91 | 38838.93 | 38855.80 | 38914.07 | 38856.37 | 38868.25 | 28.66 |
| affinity + performance + maxfreq + noturbo + nopstate | 100784.30 | 100884.14 | 100752.73 | 100252.04 | 101029.09 | 100820.11 | 264.53 |
| affinity + powersave + maxfreq + noturbo + nopstate | 87690.92 | 87808.91 | 87686.32 | 87291.07 | 87444.13 | 87710.79 | 195.55 |
| affinity + powersave + 2GHz + noturbo + nopstate | 61692.01 | 61722.90 | 61525.05 | 61750.31 | 61651.24 | 61458.22 | 116.50 |
--
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim...@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAO9Q3iJ8d_xW1LXTSNhBE-as-LrW7OdUOUGRNvj%3D9hBiuQKjbw%40mail.gmail.com.
Elliott: thank you for diving into this and looking into the details.Brett: sure. What should I do for starting a launch-review? I have a very limited experience with Chrome processes, and while I want to follow them, I definitely need some guidance.Also: is it okay to submit https://codereview.chromium.org/2140373002/? It will allow us to understand if Perf dashboard sees any regressions and that will serve as additional input for the launch-review. Rolling back that CL is trivial. It's a 2-liner that just turns on a compiler flag.On Fri, Jul 15, 2016 at 2:22 PM, Brett Wilson <bre...@chromium.org> wrote:This sounds great, thanks for the update.Please also go through launch-review
On Fri, Jul 15, 2016 at 2:29 PM, Ivan Krasin <kra...@google.com> wrote:Elliott: thank you for diving into this and looking into the details.Brett: sure. What should I do for starting a launch-review? I have a very limited experience with Chrome processes, and while I want to follow them, I definitely need some guidance.Also: is it okay to submit https://codereview.chromium.org/2140373002/? It will allow us to understand if Perf dashboard sees any regressions and that will serve as additional input for the launch-review. Rolling back that CL is trivial. It's a 2-liner that just turns on a compiler flag.On Fri, Jul 15, 2016 at 2:22 PM, Brett Wilson <bre...@chromium.org> wrote:This sounds great, thanks for the update.Please also go through launch-reviewHasn't this been done already?
Elliott: thank you for diving into this and looking into the details.Brett: sure. What should I do for starting a launch-review? I have a very limited experience with Chrome processes, and while I want to follow them, I definitely need some guidance.
Sorry, wrong url (off-by-one error). The correct one: https://chromeperf.appspot.com/group_report?rev=405894The Chrome binary size regression is already reported there, 4.8%.
Thanks so much for staying on top of this! Let me know if you need help.
- E
+platform-architecture-dev(Context: Ivan is planning to launch CFI for virtual function calls. See here for the full context.)Is there any update about the performance regression you'd been observing in blink_perf.layout?
From the Blink perspective, I support this change assuming that the following benchmarks don't regress:- blink_perf.*
- dromaeo.dom*
- speedometer- animometer
Hi Kentaro,On Wed, Aug 17, 2016 at 7:35 PM, Kentaro Hara <har...@chromium.org> wrote:+platform-architecture-dev(Context: Ivan is planning to launch CFI for virtual function calls. See here for the full context.)Is there any update about the performance regression you'd been observing in blink_perf.layout?This is literally the point #2 in my update (see above). Sorry if that was not clear. :)From the Blink perspective, I support this change assuming that the following benchmarks don't regress:- blink_perf.*- dromaeo.dom*Will collect stats for that tomorrow.
- speedometer- animometerFor these two benchmarks (speedometer and animometer) there was no slowdown even in our previous try.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAOei5RezWnUZQ1oDgMZDdrbGG4J9CQoahXsw6EYxx7G17M7cxw%40mail.gmail.com.--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
Just curious, if you apply the optmization without any CFI checks, how much perf gain will you get?
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsubsc...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
You received this message because you are subscribed to the Google Groups "Project TRIM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-trim+unsubscribe@chromium.org.
To post to this group, send email to projec...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/project-trim/CAOei5RdJiM4RbHPmLi3QkB7zNJJ_7WT09G8ZN%3DA5K88zDyVXow%40mail.gmail.com.