From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id D9A764C91 for ; Tue, 11 Sep 2018 11:19:20 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Sep 2018 02:19:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,359,1531810800"; d="scan'208";a="72012134" Received: from dhunt5-mobl2.ger.corp.intel.com (HELO [10.237.221.37]) ([10.237.221.37]) by orsmga007.jf.intel.com with ESMTP; 11 Sep 2018 02:19:18 -0700 To: Kevin Traynor , Radu Nicolau , dev@dpdk.org, liang.j.ma@intel.com References: <1529505898-6458-2-git-send-email-liang.j.ma@intel.com> <1530013217-22300-1-git-send-email-radu.nicolau@intel.com> <014ba7a7-c9a7-86da-e705-a688e53b83b3@redhat.com> From: "Hunt, David" Message-ID: <6a62972e-ddf4-c45a-88f9-170bc904e7f3@intel.com> Date: Tue, 11 Sep 2018 10:19:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <014ba7a7-c9a7-86da-e705-a688e53b83b3@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH v4 1/2] lib/librte_power: traffic pattern aware power control X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Sep 2018 09:19:21 -0000 Hi Kevin, On 27/6/2018 6:33 PM, Kevin Traynor wrote: > On 06/26/2018 12:40 PM, Radu Nicolau wrote: >> From: Liang Ma >> >> 1. Abstract --snip-- >> 2.2 There are two phases to establish the power management system: >> >> a.Initialization/Training phase. There is no traffic pass-through, >> the system will test average empty poll numbers with >> LOW/MED/HIGH power state. Those average empty poll numbers >> will be the baseline >> for the normal phase. The system will collect all core's counter >> every 100ms. The Training phase will take 5 seconds. >> > This is requiring an application to sit for 5 secs in order to train and > align poll numbers with states? That doesn't seem realistic to me. Thanks for the discussion at DPDK Userspace conference. Since we got back, Liang and I have discussed the feedback we received, and we have a proposal. We can split out the training phase into a separate run of the application which does the training, spits out the threshold numbers, and then the actual runs will start instantly once the threshold parameters are provided on the command line, or falls back to hard-coded defaults if no command line parameters are given. So there are three ways of running the app   1. Run without any threshold parameters, in which case the algorithm       runs with default numbers calculated based on the min and max available frequency.   2. Run with --train option, which requires no traffic on the NICS, and       runs the training algorithm, prints out the thresholds for the host CPU, and exits.   3. Take the output of the train phase, and provide the thresholds on the command       line, and the app runs with the best fit to the running CPU. That would eliminate the training period at startup, unless the user wanted to fine-tune for a particular host CPU. Would that be an adequate solution to the training period concerns? Regards, Dave.