Joshua McKenzie created CASSANDRA-9648:
------------------------------------------

             Summary: Warn if power profile is not High Performance on Windows
                 Key: CASSANDRA-9648
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9648
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Joshua McKenzie
            Assignee: Joshua McKenzie
            Priority: Minor
             Fix For: 2.2.x


Windows' power profiles have a pretty marked impact on application performance 
and the CPU frequency throttling is fairly aggressive even in balanced mode. As 
we have a large number of threads with varying work rather than a single busy 
thread-per-core, the scheduler on Windows sees enough downtime to constantly 
struggle w/our user-space operations and the frequency on the system will jump 
up and down even when fully saturated from a stress.

I've done some benchmarking of the "Balanced" vs. "High Performance" power 
profiles - [link to performance 
numbers|https://docs.google.com/spreadsheets/d/1YS8VtdZAgyec-mcnSgtNhQH9LiHstOaiMtlppvEIIM8/edit#gid=0].
 Note: reads are not saturating the box (or even impacting resources at all 
really) as the CPU's on both stress and node are sitting around 4% usage. Still 
have something to figure out there on 2.2.

We have a few ways we can approach this - for the 1st (warn), here's a branch 
with warning during startup if non-High Performance power profile detected: 
[here|https://github.com/apache/cassandra/compare/trunk...josh-mckenzie:check_power_plan].

Alternatively we could get more aggressive and actually attempt a powercfg /s 
to the GUID of the High Performance power profile or refuse to start Cassandra 
if we're not in the performance profile. I also briefly pursued using Sigar to 
query this information however the documentation for the library is no longer 
available (or at least I couldn't find it).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to