<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2022.109005</article-id><article-id pub-id-type="publisher-id">JCC-119960</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Runtime Power Allocation Based on Multi-GPU Utilization in GAMESS
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Masha</surname><given-names>Sosonkina</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Vaibhav</surname><given-names>Sundriyal</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jorge</surname><given-names>Luis Galvez Vallejo</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Department of Chemistry, Iowa State University, Ames, USA</addr-line></aff><aff id="aff1"><addr-line>Department of Electrical and Computer Engineering, Old Dominion University, Norfolk, USA</addr-line></aff><pub-date pub-type="epub"><day>07</day><month>09</month><year>2022</year></pub-date><volume>10</volume><issue>09</issue><fpage>66</fpage><lpage>80</lpage><history><date date-type="received"><day>11,</day>	<month>August</month>	<year>2022</year></date><date date-type="rev-recd"><day>19,</day>	<month>September</month>	<year>2022</year>	</date><date date-type="accepted"><day>22,</day>	<month>September</month>	<year>2022</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  To improve the power consumption of parallel applications at the runtime, modern processors provide frequency scaling and power limiting capabilities. In this work, a runtime strategy is proposed to maximize performance under a given power budget by distributing the available power according to the relative GPU utilization. Time series forecasting methods were used to develop workload prediction models that provide accurate prediction of GPU utilization during application execution. Experiments were performed on a multi-GPU computing platform DGX-1 equipped with eight NVIDIA V100 GPUs used for quantum chemistry calculations in the GAMESS package. For a limited power budget, the proposed strategy may deliver as much as hundred times better GAMESS performance than that obtained when the power is distributed equally among all the GPUs.
 
</p></abstract><kwd-group><kwd>Time Series Forecasting</kwd><kwd> ARIMA</kwd><kwd> Power Allocation</kwd><kwd> Performance Modeling</kwd><kwd> GAMESS</kwd><kwd> GPU Utilization</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Power and the subsequent energy consumption pose major challenges in the design of large scale systems. The power/energy constraints are due to many reasons with technical and economical costs being the primary. Therefore, power and energy consumption is a major obstacle to application scalability, availability, and affordability, and it is urgent to develop techniques that optimize energy consumption while maximizing performance. Hurdles to such optimization are in part due to 1) a great variability in modern high-performance application workloads and 2) complexity of modern hardware architectures. These two factors have to be accurately modeled to predict runtime performance under different power levels.</p><p>In authors’ previous work [<xref ref-type="bibr" rid="scirp.119960-ref1">1</xref>], machine learning (ML) modeling was used to provide accurate performance models, which accounted for a multitude of hardware characteristic as they relate to the application runtime changes. For the accurate predictions, it is of utmost importance to provide accurate estimations for the said characteristics, which may serve as input features to the ML performance models executing dynamically. In [<xref ref-type="bibr" rid="scirp.119960-ref1">1</xref>], the authors considered history-window methods with averaging across a few past time intervals. In this work, time series forecasting methods are explored for feature value prediction. Given a real-world quantum chemistry application GAMESS [<xref ref-type="bibr" rid="scirp.119960-ref2">2</xref>], its feature value patterns are first explored as a function of time. Next, time series forecasting methods are applied to predict their future values during the runtime. To test the resulting solution in modern high-performance computing (HPC) scenarios, it was implemented as a foundation of a novel runtime strategy that allocates a given power budget among the multiple GPUs executing an application for maximum performance. The strategy operates in a manner transparent to the application and utilizes a timeslice based approach to set the power limits for the next timeslice. In a nutshell, the main contributions of this work are as follows:</p><p>○ Explored the feature value patterns with respect to time in GAMESS GPU executions. In particular, considered GPU utilization feature.</p><p>○ Selected and justified an appropriate time series forecasting method that may be applicable to a variety of HPC GPU calculations in GAMESS.</p><p>○ Proposed a novel runtime strategy to maximize GPU execution performance under a given power budget.</p><p>○ Deployed the chosen forecasting method in the runtime strategy and demonstrated its superior performance to standard power allocation approaches.</p><p>The structure of the rest of the paper is as follows. Section 2 provides literature review. Section overviews GPU calculations in GAMESS used in this work. Section 4 provides methodology to model runtime behavior of the GAMESS GPU workload and studies applicability of different time series forecasting algorithms. Section 5 provides methodology and description for the runtime strategy to allocate available power. Section 6 shows experimental research results and Section 7 concludes the paper.</p></sec><sec id="s2"><title>2. Review of Published Related Work</title><p>Power consumption is one of the principal design constraints for the modern exascale systems. To mitigate the resulting operating costs and prohibitive failure rates, researchers have been devising strategies to budget power on system components. In this section, a brief discussion of previous work in power capping and closely related work in system-level power and energy savings is provided.</p><p>The strategies to budget the power consumption for modern computing systems come in two forms: 1) DVFS/CPU throttling for processor and memory and 2) hardware-enforced power bounds using such interfaces as Intel(R) RAPL [<xref ref-type="bibr" rid="scirp.119960-ref3">3</xref>]. The authors in [<xref ref-type="bibr" rid="scirp.119960-ref4">4</xref>] propose a multi-input multi-output (MIMO) power control algorithm to distribute a given power budget between the processor and memory domains to maximize the application performance. A machine learning technique to determine the sensitivity of application performance with respect to CPU and DRAM power capping was proposed in [<xref ref-type="bibr" rid="scirp.119960-ref5">5</xref>] and used to devise a strategy for power budgeting. A runtime system termed conductor was proposed in [<xref ref-type="bibr" rid="scirp.119960-ref6">6</xref>] which utilizes configuration space exploration and adaptive power balancing to maximize performance under a hardware-enforced power cap. A multilevel power distribution framework termed CLIP was proposed in [<xref ref-type="bibr" rid="scirp.119960-ref7">7</xref>], which estimates per node power budget using the workload characteristics and utilizes memory accesses to determine CPU and memory affinity.</p><p>Many strategies have been developed to improve GPU energy efficiency by utilizing DVFS, micro-architectural techniques, workload division and application specific information. Zamani et al. [<xref ref-type="bibr" rid="scirp.119960-ref8">8</xref>] propose a framework for matrix multiplication employing undervolting beyond minimum operating voltage to reduce energy consumption of GPUs. To guard against any rise in faults by such undervolting, a fault-tolerance algorithm was also proposed in [<xref ref-type="bibr" rid="scirp.119960-ref8">8</xref>]. Authors in [<xref ref-type="bibr" rid="scirp.119960-ref9">9</xref>] characterize and demonstrate the NP-hardness of optimal task scheduling problem on GPUs and propose a constant approximation algorithm assuming that GPU cores can scale with continuous frequencies.</p><p>Guerreiro et al. [<xref ref-type="bibr" rid="scirp.119960-ref10">10</xref>] develop microbenchmarks to devise GPU power models using an iterative approach and the performance counter parameters. The work in [<xref ref-type="bibr" rid="scirp.119960-ref11">11</xref>] proposes strategies to modify application and CUDA parameters, such as grid and thread dimensions, to improve GPU utilization and energy efficiency. Kernel fusion, which combines two kernels into a single thread, is proposed in [<xref ref-type="bibr" rid="scirp.119960-ref12">12</xref>] to improve GPU utilization and reduce energy consumption. Greengpu [<xref ref-type="bibr" rid="scirp.119960-ref13">13</xref>] involves low level programming and memory management with custom pthread-based kernel launches for the GPU to divide workload between CPU and GPU for synthetic benchmarks. The authors in [<xref ref-type="bibr" rid="scirp.119960-ref14">14</xref>] utilize software prefetching and DVFS to reduce GPU energy consumption.</p><p>The work in [<xref ref-type="bibr" rid="scirp.119960-ref15">15</xref>] proposes PowerCoord that dynamically controls the power of the PKG and GPUs to cap power consumption while seeking to maximize performance of the system in which multiple jobs are executing. The problem of job co-scheduling on an integrated system with both CPUs and GPUs under a power cap was studied in [<xref ref-type="bibr" rid="scirp.119960-ref16">16</xref>]. Factors, such as memory, power contention and job period, were observed to affect performance and considered in heuristic algorithms for performance enhancing co-schedules. Authors in [<xref ref-type="bibr" rid="scirp.119960-ref17">17</xref>] study the gaming workloads from the point of view of PID controllers, least mean squares (LMS) and autoregressive moving average (ARMA) to manage their power consumption. In [<xref ref-type="bibr" rid="scirp.119960-ref18">18</xref>], workload characterization is performed using time series for reducing CPU power consumption.</p><p>The work described in this paper differs from the related work in that it considers not only GPU power allocation dynamically but also the distribution of power among multiple GPUs for maximum performance. Furthermore, a time series approach was used to model GPU streaming-multiprocessor (SM) utilization during the execution.</p></sec><sec id="s3"><title>3. Overview of GAMESS Calculations on GPUs</title><p>GAMESS [<xref ref-type="bibr" rid="scirp.119960-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.119960-ref19">19</xref>] is one of the most representative freely available quantum chemistry applications used worldwide for ab initio electronic structure calculations. A wide range of quantum chemistry computations may be accomplished using GAMESS, ranging from basic Hartree-Fock and Density Functional Theory computations to high-accuracy multi-reference and coupled-cluster computations.</p><p>The high performance multi-GPU capabilities in the GAMESS/LibCChem [<xref ref-type="bibr" rid="scirp.119960-ref20">20</xref>] suite of programs include a GPU-accelerated Fock build [<xref ref-type="bibr" rid="scirp.119960-ref21">21</xref>], a full implementation of the Self-Consistent-Field (SCF) method [<xref ref-type="bibr" rid="scirp.119960-ref22">22</xref>] including the one-electron integrals and the Direct-Inversion of the Iterative Subspace (DIIS) algorithm. These routines have been scaled up to the entirety of the Summit supercomputer [<xref ref-type="bibr" rid="scirp.119960-ref23">23</xref>] and have demonstrated excellent parallel efficiency when coupled with fragmentation methods [<xref ref-type="bibr" rid="scirp.119960-ref24">24</xref>] [<xref ref-type="bibr" rid="scirp.119960-ref25">25</xref>]. A brief discussion of the overall algorithm is included here, for more details refer to [<xref ref-type="bibr" rid="scirp.119960-ref21">21</xref>] [<xref ref-type="bibr" rid="scirp.119960-ref25">25</xref>]. The GPU-accelerated SCF program is currently available only in a non-publicly released version of GAMESS, such that GAMESS performs the basic routines of reading the input file, setting up the basis set information, and creating the guess matrix for the SCF calculation. The new GPU-accelerated SCF programs accepts the basis set information, the density matrix, and the coordinates of the system to begin the calculation.</p><p>The overarching scheme for the SCF program includes a coordinator/worker dynamic work balancing algorithm, the steps of which are as follows: Firstly, the basis set information is accepted, the shells and shell pairs are constructed. Secondly, the shell pairs are sorted and stored in the binned batch container [<xref ref-type="bibr" rid="scirp.119960-ref22">22</xref>], which ensures a load balanced distribution of the work among the processes. Thirdly, the coordinator process evaluates the one-electron integrals on the GPU and transfers the Hamiltonian (H<sub>core</sub>) matrix back to the CPU. After the one-electron integrals have been computed, the process to evaluate and digest the two-electron integrals begins.</p><p>The coordinator process binds the workers to a GPU, binding one rank to one GPU exclusively. The batch-binned shell pair container is copied among the ranks. The coordinator process statically assigns the first batches of integrals to be evaluated to a GPU. Each batch contains a batch-size number of shell pairs, the value of which is set in the input file with the default of 2560 shell pairs. The batches are organized in a greedy fashion, having the most computationally expensive first.</p><p>In the GPU, each thread calculates a contracted integral and its results are digested into partial Fock matrices in order to avoid race conditions. After a worker process is done with its associated batch of work, it sends a signal to the coordinator process. The coordinator process then assigns the next available batch to that worker. This is repeated until all shell-pair batches are processed.</p><p>At this point, the partial Fock matrices are gathered in the host and the final Fock matrix is transferred back to the GPU for the DIIS algorithm to diagonalize the matrix and obtain the final Hartree-Fock energy of the respective iteration. This process continues until self-consistency is achieved, which is controlled by a user-defined convergence threshold with the default of 10<sup>−</sup><sup>6</sup>.</p></sec><sec id="s4"><title>4. Methodology: Time Series Forecasting</title><p>Section 3 outlined the scheme of the SCF program executed on multiple GPUs that are dynamically load-balanced, from which it is inferred that all the participating GPUs have a similar pattern of their utilization. In particular, <xref ref-type="fig" rid="fig1">Figure 1</xref> shows the streaming multiprocessor (SM) utilization for the eight V100 GPUs for a total of 300 seconds of an RHF calculation of a valinomycin molecule. Observe that utilization traces for all the GPUs are virtually indistinguishable in <xref ref-type="fig" rid="fig1">Figure 1</xref>, which graphically indicates that the design of the SCF program leads to load balanced calculations. Hence, an analysis for the first GPU only is shown in the rest of this section. To better focus on this analysis the utilization trace was extracted from <xref ref-type="fig" rid="fig1">Figure 1</xref> into a separate figure, <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>A set of data points ordered in time and equally spaced are considered time series and thus, corresponding analysis methods are applicable. In the rest of this section, the SM utilization will be treated as time series and a particular analysis</p><p>method chosen. Notice that the SM utilization, shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>, exhibits a repeating pattern in intervals of similar duration, so time-series forecasting techniques can be employed to predict future utilization values. <xref ref-type="fig" rid="fig3">Figure 3</xref> outlines decision-flow stages as suggested in [<xref ref-type="bibr" rid="scirp.119960-ref26">26</xref>] to identify an appropriate method to predict a time series accurately. In particular, for the applicability of sophisticated forecasting models, it should be verified that the sequence of data considered is not a random walk, meaning that, in addition to its stationarity, the sequence points must be autocorrelated, thereby avoiding a random movement without any pattern. Note that, if the given time series is not stationary, differencing transformation can be applied to make it stationary, and that the augmented Dickey-Fuller (ADF) test can be used to determine if a time series is stationary by testing for the presence of a unit root. If a unit root is present, the time series is not stationary and a differencing transformation needs to be applied. This testing-differencing process is repeated. For the time series in <xref ref-type="fig" rid="fig2">Figure 2</xref>, the initial p-value output by ADF was determined to be 0.67, which is much higher than the threshold of 0.05 below which the series is considered stationary. Therefore, the first-order differencing transformation has been applied and the ADF p-value of 0.0012 was obtained indicating that this transformation made the time series stationary.</p><p>Next, per <xref ref-type="fig" rid="fig3">Figure 3</xref>, one has to check if any autocorrelation lies between the lagged values of the time series. <xref ref-type="fig" rid="fig4">Figure 4</xref> shows the autocorrelation plot with y-axis depicting the autocorrelation values and x-axis depicting the time lag. It can be observed from <xref ref-type="fig" rid="fig4">Figure 4</xref> that there is a significant autocorrelation even when the lag value is as large as 20, and hence, the time series is not a random walk, and the lag q = 1, where the autocorrelation is the maximum, may be used as a moving average parameter in the forecasting model.</p><p>Since the autocorrelation values are not abruptly going down after a certain lag value, the given time series is not a moving average process. Following the steps in <xref ref-type="fig" rid="fig3">Figure 3</xref>, partial autocorrelation needs to be evaluated. <xref ref-type="fig" rid="fig5">Figure 5</xref> shows the partial autocorrelation values of the time series. The values do not decrease abruptly after a certain lag, and the lag p = 1, where the partial autocorrelation is maximum, may be used as the order of the autoregressive process. Therefore, following <xref ref-type="fig" rid="fig3">Figure 3</xref>, it can be concluded that the given time series is an Autoregressive Moving Average (ARMA(p, q)) process. ARMA requires that the data is first transformed by differencing into a stationary series. Then this transformation must be reversed after the forecasting is done to obtain predictions on the original scale. Instead, one may model a non-stationary time series directly with a modified ARMA model, Autoregressive Integrated Moving Average ARIMA(p, d, q) model, where the parameter d is the integration order. The parameter d may be determined from the differencing order. The SM utilization time series considered here was differenced once, hence d = 1.</p><p><xref ref-type="fig" rid="fig6">Figure 6</xref> shows the observed and predicted SM utilization values when an ARIMA(1, 1, 1) process was used to predict the time series. In the same <xref ref-type="fig" rid="fig6">Figure 6</xref>,</p><p>it is compared with the history-window prediction mechanism, in which the future value is predicted as a rolling mean of the past three values. Note that the window size of three has shown the best performance in authors’ previous work on runtime power and performance modeling strategies [<xref ref-type="bibr" rid="scirp.119960-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.119960-ref27">27</xref>]. It can be observed from <xref ref-type="fig" rid="fig6">Figure 6</xref> that the predicted values significantly match the observed whereas the history-window prediction fails to capture the pattern of the observed values. Specifically, an R-squared value of 0.917 was obtained for the model predictions in <xref ref-type="fig" rid="fig6">Figure 6</xref>, which demonstrates that the ARIMA process can predict the SM utilization time series with high accuracy.</p></sec><sec id="s5"><title>5. Methodology: Runtime Strategy to Allocate Available Power</title><p>In Section 4 the ARIMA-based prediction of the SM utilization time series was developed for GAMESS GPU execution. Here, the selected ARIMA prediction is employed in a proposed novel runtime strategy to maximize parallel application performance executing on multiple GPUs under a given power budget. In particular, <xref ref-type="fig" rid="fig7">Figure 7</xref> displays the algorithmic steps of this strategy. Initially, at Step 1, the given power budget P<sub>B</sub> is divided equally to all the available N GPUs by setting their individual power budgets P i to P B N . In Step 2, the application executes for the duration τ of a timeslice. Note that, similar to authors’ previous work [<xref ref-type="bibr" rid="scirp.119960-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.119960-ref27">27</xref>], the timeslice duration was set at 250 ms, which has been found here as acceptable for the accuracy of predictions as evidenced in Section 6 describing research results. In Step 3, given the P i , the resulting SM utilization U i is recorded for each GPU i, i = 1 , ⋯ , N . Then, the ARIMA model is employed (Step 4) in each GPU i to predict the utilization U ^ i for in the current timeslice r followed by collecting the predicted utilization values from all the N GPUs (Step 5). In Step 6, the power budget of each GPU is set in proportion to its predicted utilization. Step 7 executes the application for the duration τ in the timeslice r. Then, the strategy proceeds to consider the next timeslice r + 1.</p></sec><sec id="s6"><title>6. Experimental Research Results</title><p>The experiments were performed on the DGX-1 compute node at Old Dominion University, having two Intel(R) Xeon(R) CPU E5-2698 20 core Broadwell-EP processors, 64 GB of DDR4 and eight NVIDIA V100 GPUs. The V100 GPU has 80 SMX units with a total of 5120 CUDA cores and 16 GB global memory.</p><p>Four different GAMESS/LibCChem inputs were chosen to evaluate the efficacy of the proposed strategy. <xref ref-type="table" rid="table1">Table 1</xref> provides their input names along with descriptions. In order to select a (reduced) power budget P<sub>B</sub> for the calculations, their total GPU unrestricted power consumption at the maximum GPU frequency was measured and is also shown in <xref ref-type="table" rid="table1">Table 1</xref> (Column P<sub>max</sub>). It can be observed, that the power consumption ranged from 1206 W to 1220 W. Therefore, same limits may be applied to all four calculations. In particular, three power budgets P<sub>B</sub> were chosen as follows: 1000 W, 900 W, and 800 W, which represent similar percentages of the unrestricted power P<sub>max</sub> for the calculations, about 81%, 73%, and 65% for the three budgets P<sub>B</sub>, respectively.</p><p>To evaluate performance of the four inputs under the proposed runtime strategy, a baseline strategy termed allhigh was considered. In the allhigh strategy, the power limits for all GPUs were raised to their maximum values. The proposed strategy was also compared with another power-limiting strategy, termed na&#239;ve, which allocates the given power budget among GPUs based on their respective thermal design power (TDP) limits. In particular, the TDP of the V100 GPU is 300 W [<xref ref-type="bibr" rid="scirp.119960-ref28">28</xref>]. There are eight identical V100 GPUs in the DGX-1 compute node, so under the na&#239;ve strategy, the power budget is divided equally among the eight V100 GPUs.</p><p>Quantitatively, the performance of a strategy is proportional to the inverse of the execution time T under that strategy. Therefore, as authors suggested previously in [<xref ref-type="bibr" rid="scirp.119960-ref27">27</xref>], the performance degradation δ s of a strategy s relative to the allhigh strategy is calculated as</p><p>δ s = T ( s ) − T ( allhigh ) T ( s ) .</p><p><xref ref-type="fig" rid="fig8">Figure 8</xref> shows the performance degradation δ for the four inputs operating under the na&#239;ve strategy for the three chosen power budgets with respect to the allhigh strategy. As expected, in <xref ref-type="fig" rid="fig8">Figure 8</xref>, the highest power budget of 1000 W results in the least amount of performance degradation for all inputs. Specifically, their average performance degradation was 48.9% for the 1000 W power budget. For a lower power budget of 900 W, the average performance degradation increased to 65.3%. This larger performance degradation comes from the reduction in GPU frequency due to power limiting through nvidia-smi. Further reduction in power budget to 800 W yielded even larger performance degradation for all the inputs with an average of 85.5%.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Description and maximum power consumption P<sub>max</sub> of four GAMESS inputs used in this work</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Input name</th><th align="center" valign="middle" >P<sub>max</sub>, W</th><th align="center" valign="middle" >Description</th></tr></thead><tr><td align="center" valign="middle" >w150_pcseg0 w150_pcseg1 valinomycin gly5_pcseg0</td><td align="center" valign="middle" >1206 1220 1210 1218</td><td align="center" valign="middle" >Water molecule; PCSeg-0 basis set with 1950 basis functions and 450 atoms. Water molecule; PCSeg-1 basis set with 3150 basis functions and 450 atoms. Naturally occurring dodecadepsipeptide used in potassium transport and as antibiotic; PCSeg-0 basis set with 882 basis functions and 168 atoms. Glycine molecule; PCSeg-0 basis set with 223 basis functions and 38 atoms.</td></tr></tbody></table></table-wrap><p><xref ref-type="fig" rid="fig9">Figure 9</xref> shows the performance degradation for the four inputs operating under the proposed strategy with respect to the allhigh strategy. Here, the average performance degradation is only 0.9% for the power budget of 1000 W, which is 54.3 times less than that of the na&#239;ve strategy for the same power budget. The highest performance improvement of 124 times was observed for the gly5_pcseg0 input by the proposed strategy as compared to the na&#239;ve one when the power budget was kept at 1000 W. This significant improvement in performance comes primarily from distributing the power budget among the eight GPUs in proportion to their utilization in the proposed strategy and from the high prediction accuracy of the underlying ARIMA process for the SM utilization. For the tight budgets of 900 W and 800 W (73% and 65% of the maximum required, respectively), the proposed strategy still performed 5.6 and 3.6 times better on average than the na&#239;ve one did so, respectively. Additionally, it is worth noting that, for lower power consumption (~1040 W) than that shown in <xref ref-type="table" rid="table1">Table 1</xref> no performance degradation was observed for any input when the proposed strategy was employed.</p></sec><sec id="s7"><title>7. Conclusions and Future Work</title><p>In this paper, a runtime strategy is designed and implemented to distribute available power among multiple GPUs in order to maximize performance of the quantum chemistry application GAMESS. The foundation of the strategy is the workload prediction model that considers utilization as time series and applies Autoregressive Integrated Moving Average (ARIMA) process dynamically to predict the GPU utilization in the next timeslice to be executed. Then, in each GPU, the available power is allocated in accordance with the predicted utilization as a fraction of the total utilization predicted across all the GPUs participating in the calculation. Experiments, performed on the DGX-1 compute node having eight V100 GPUs, and demonstrated that the proposed strategy provided a near maximum performance even with substantially limited power budget for four GAMESS calculations. Specifically, for the calculation of the glycine molecule, as much as a 18% reduction in the available power resulted in only a 0.4% of performance loss. It was also observed that, for the four inputs, the proposed strategy improved performance several-fold, ranging from 3.6 to 54.3 times on average, from an “equitable’’ power distribution strategy based on the ratio of GPU thermal design power (TDP) limits. Using the proposed strategy, a lower overall unrestricted power amount was found for which none of the four inputs exhibited a performance loss and which was ~14% less than the average unrestricted power consumption observed initially.</p><p>Future work will focus on extending the proposed strategy to a distributed system with multiple nodes and multiple GPUs to facilitate its usage on exascale platforms.</p></sec><sec id="s8"><title>Acknowledgements</title><p>This work was supported in part by the U.S. Department of Energy (DOE) Office of Science, Office of Basic Energy Sciences, Computational Chemical Sciences (CCS) Research Program under work proposal number AL-18-380-057 and the Exascale Computing Project (ECP) through the Ames Laboratory, operated by Iowa State University under contract No. DE-AC00-07CH11358, and by the National Science Foundation under grant CNS-1828593. The authors appreciate helpful reviewer comments.</p></sec><sec id="s9"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s10"><title>Cite this paper</title><p>Sosonkina, M., Sundriyal, V. and Galvez Vallejo, J.L. (2022) Runtime Power Allocation Based on Multi-GPU Utilization in GAMESS. Journal of Computer and Communications, 10, 66-80. https://doi.org/10.4236/jcc.2022.109005</p></sec></body><back><ref-list><title>References</title><ref id="scirp.119960-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Sundriyal, V. and Sosonkina, M. (2022) Runtime Energy Savings Based on Machine Learning Models for Multicore Applications. Journal of Computer and Communications, 10, 63-80. https://doi.org/10.4236/jcc.2022.106006</mixed-citation></ref><ref id="scirp.119960-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Schmidt, M.W., Baldridge, K.K., Boatz, J.A., Elbert, S.T., Gordon, M.S., Jensen, J.H., Koseki, S., Matsunaga, N., Nguyen, K.A., Su, S., Windus, T.L., Dupuis, M. and Montgomery Jr., J.A. (1993) General Atomic and Molecular Electronic Structure System. Journal of Computational Chemistry, 14, 1347-1363. https://doi.org/10.1002/jcc.540141112</mixed-citation></ref><ref id="scirp.119960-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Intel (n.d.) Intel&amp;reg; 64 and IA-32 Architectures Software Developer Manuals. https://software.intel.com/en-us/articles/intel-sdm</mixed-citation></ref><ref id="scirp.119960-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Chen, M., Wang, X.r. and Li, X. (2011) Coordinating Processor and Main Memory for Efficient Server Power Control. Proceedings of the International Conference on Supercomputing (ICS ’11), Tucson, 31 May-4 June 2011, 130-140. https://doi.org/10.1145/1995896.1995917</mixed-citation></ref><ref id="scirp.119960-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Tiwari, A., Schulz, M. and Carrington, L. (2015) Predicting Optimal Power Allocation for CPU and Dram Domains. 2015 IEEE International Parallel and Distributed Processing Symposium Workshop, Hyderabad, 25-29 May 2015, 951-959. https://doi.org/10.1109/IPDPSW.2015.146</mixed-citation></ref><ref id="scirp.119960-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Marathe, A., Bailey, P.E., Lowenthal, D.K., Rountree, B., Schulz, M. and de Supinski, B.R. (2015) A Run-Time System for Power-Constrained HPC Applications. Proceedings of International Conference on High Performance Computing, Frankfurt, 12-16 July 2015, 394-408. https://doi.org/10.1007/978-3-319-20119-1_28</mixed-citation></ref><ref id="scirp.119960-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Zou, P., Allen, T., Davis, C.H., Feng, X. and Ge, R. (2017) Clip: Cluster-Level Intelligent Power Coordination for Power-Bounded Systems. 2017 IEEE International Conference on Cluster Computing (CLUSTER), Honolulu, 5-8 September 2017, 541-551. https://doi.org/10.1109/CLUSTER.2017.98</mixed-citation></ref><ref id="scirp.119960-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Zamani, H., Liu, Y.L., Tripathy, D., Bhuyan, L. and Chen, Z.Z. (2019) Greenmm: Energy Efficient GPU Matrix Multiplication through Undervolting. Proceedings of the ACM International Conference on Supercomputing (ICS ’19), Phoenix, 26-28 June 2019, 308-318. https://doi.org/10.1145/3330345.3330373</mixed-citation></ref><ref id="scirp.119960-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Chau, V., Chu, X.W., Liu, H. and Leung, Y.-W. (2017) Energy Efficient Job Scheduling with DVFS for CPU-GPU Heterogeneous Systems. Proceedings of the 8th International Conference on Future Energy Systems (e-Energy ’17), Hong Kong, 16-19 May 2017, 1-11. https://doi.org/10.1145/3077839.3077855</mixed-citation></ref><ref id="scirp.119960-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Guerreiro, J., Ilic, A., Roma, N. and Tomas, P. (2018) GPGPU Power Modeling for Multi-Domain Voltage-Frequency Scaling. 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA), Vienna, 24-28 February 2018, 789-800. https://doi.org/10.1109/HPCA.2018.00072</mixed-citation></ref><ref id="scirp.119960-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Yang, Y., Xiang, P., Mantor, M. and Zhou, H. (2012) Fixing Performance Bugs: An Empirical Study of Open-Source GPGPU Programs. 2012 41st International Conference on Parallel Processing, Pittsburgh, 10-13 September 2012, 329-339. https://doi.org/10.1109/ICPP.2012.30</mixed-citation></ref><ref id="scirp.119960-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Wang, G., Lin, Y. and Yi, W. (2010) Kernel Fusion: An Effective Method for Better Power Efficiency on Multithreaded GPU. 2010 IEEE/ACM Int’l Conference on Green Computing and Communications &amp; Int’l Conference on Cyber, Physical and Social Computing, Hangzhou, 18-20 December 2010, 344-350. https://doi.org/10.1109/GreenCom-CPSCom.2010.102</mixed-citation></ref><ref id="scirp.119960-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Ma, K., Li, X., Chen, W., Zhang, C. and Wang, X. (2012) GreenGPU: A Holistic Approach to Energy Efficiency in GPU-CPU Heterogeneous Architectures. 2012 41st International Conference on Parallel Processing, Pittsburgh, 10-13 September 2012, 48-57. https://doi.org/10.1109/ICPP.2012.31</mixed-citation></ref><ref id="scirp.119960-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Lin, Y., Tang, T. and Wang, G. (2011) Power Optimization for GPU Programs Based on Software Prefetching. 2011 IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications, Changsha, 16-18 November 2011, 1339-1346. https://doi.org/10.1109/TrustCom.2011.184</mixed-citation></ref><ref id="scirp.119960-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Azimi, R., Jing, C. and Reda, S. (2018) PowerCoord: A Coordinated Power Capping Controller for Multi-CPU/GPU Servers. 2018 9th International Green and Sustainable Computing Conference (IGSC), Pittsburgh, 22-24 October 2018, 1-9. https://doi.org/10.1109/IGCC.2018.8752132</mixed-citation></ref><ref id="scirp.119960-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Zhu, Q., Wu, B., Shen, X., Shen, L. and Wang, Z. (2017) Co-Run Scheduling with Power Cap on Integrated CPU-GPU Systems. 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS), Orlando, 29 May-2 June 2017, 967-977. https://doi.org/10.1109/IPDPS.2017.124</mixed-citation></ref><ref id="scirp.119960-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Dietrich, B., Goswami, D., Chakraborty, S., Guha, A. and Gries, M. (2015) Time Series Characterization of Gaming Workload for Runtime Power Management. IEEE Transactions on Computers, 64, 260-273. https://doi.org/10.1109/TC.2013.198</mixed-citation></ref><ref id="scirp.119960-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Cioara, T., Anghel, I., Salomie, I., Copil, G., Moldovan, D. and Grindean, M. (2011) Time Series Based Dynamic Frequency Scaling Solution for Optimizing the CPU Energy Consumption. 2011 IEEE 7th International Conference on Intelligent Computer Communication and Processing, Cluj-Napoca, 25-27 August 2011, 477-483. https://doi.org/10.1109/ICCP.2011.6047919</mixed-citation></ref><ref id="scirp.119960-ref19"><label>19</label><mixed-citation publication-type="book" xlink:type="simple">Gordon, M.S. and Schmidt, M.W. (2005) Advances in Electronic Structure Theory: GAMESS a Decade Later. In: Dykstra, C.E., Frenking, G., Kim, K.S. Scuseria, G.E., Eds., Theory and Applications of Computational Chemistry: The First Forty Years, Elsevier Science, Amsterdam, 1167-1189. https://doi.org/10.1016/B978-044451719-7/50084-6</mixed-citation></ref><ref id="scirp.119960-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Barca, G.M.J., Bertoni, C., Carrington, L., Datta, D., De Silva, N., Emiliano Deustua, J., Fedorov, D.G., Gour, J.R., Gunina, A.O., Guidez, E., Harville, T., Irle, S., Ivanic, J., Kowalski, K., Leang, S.S., Li, H., Li, W., Lutz, J.J., Magoulas, I., Mato, J., Mironov, V., Nakata, H., Pham, B.Q., Piecuch, P., Poole, D., Pruitt, S.R., Rendell, A.P., Roskop, L.B., Ruedenberg, K., Sattasathuchana, T., Schmidt, M.W., Shen, J., Slipchenko, L., Sosonkina, M., Sundriyal, V., Tiwari, A., Galvez Vallejo, J.L., Westheimer, B., W&amp;lstrok;och, M., Xu, P., Zahariev, F. and Gordon, M.S. (2020) Recent Developments in the General Atomic and Molecular Electronic Structure System. The Journal of Chemical Physics, 152, Article ID: 154102. https://doi.org/10.1063/5.0005188</mixed-citation></ref><ref id="scirp.119960-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Barca, G.M.J., Galvez-Vallejo, J.L., Poole, D.L., Rendell, A.P. and Gordon, M.S. (2020) High-Performance, Graphics Processing Unit-Accelerated Fock Build Algorithm. Journal of Chemical Theory and Computation, 16, 7232-7238. https://doi.org/10.1021/acs.jctc.0c00768</mixed-citation></ref><ref id="scirp.119960-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Barca, G.M.J., Alkan, M., Galvez-Vallejo, J.L., Poole, D.L., Rendell, A.P. and Gordon, M.S. (2021) Faster Self-Consistent Field (SCF) Calculations on GPU Clusters. Journal of Chemical Theory and Computation, 17, 7486-7503. https://doi.org/10.1021/acs.jctc.1c00720</mixed-citation></ref><ref id="scirp.119960-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Summit (Supercomputer). https://en.wikipedia.org/wiki/Summit_(supercomputer)</mixed-citation></ref><ref id="scirp.119960-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Barca, G.M.J., Poole, D.L., Vallejo, J.L.G., Alkan, M., Bertoni, C., Rendell, A.P. and Gordon, M.S. (2020) Scaling the Hartree-Fock Matrix Build on Summit. SC20: International Conference for High Performance Computing, Networking, Storage and Analysis, Atlanta, 9-19 November 2020, 1-14. https://doi.org/10.1109/SC41405.2020.00085</mixed-citation></ref><ref id="scirp.119960-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Barca, G.M.J., Galvez Vallejo, J.L., Poole, D.L., Alkan, M., Stocks, R., Rendell, A.P. and Gordon, M.S. (2021) Enabling Large-Scale Correlated Electronic Structure Calculations: Scaling the RI-MP2 Method on Summit. Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC ’21), St. Louis, 14-19 November 2021, Article No. 40. https://doi.org/10.1145/3458817.3476222</mixed-citation></ref><ref id="scirp.119960-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Peixeiro, M. (2022) Time Series Forecasting in Python. Manning, Shelter Island.</mixed-citation></ref><ref id="scirp.119960-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Sundriyal, V., Sosonkina, M., Poole, D. and Gordon, M.S. (2020) Runtime Power Allocation Approach for Gamess Hybrid CPU-GPU Implementation. Concurrency and Computation: Practice and Experience, 32, Article No. e5917. https://doi.org/10.1002/cpe.5917</mixed-citation></ref><ref id="scirp.119960-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">NVIDIA Tesla V100 GPU Accelerator. https://images.nvidia.com/content/technologies/volta/pdf/tesla-volta-v100-datasheet-letter-fnl-web.pdf</mixed-citation></ref></ref-list></back></article>