Dynamic Adaptation to CPU and Memory Load in Scientific Applications

Dynamic Adaptation to CPU and Memory Load in Scientific Applications

W&M ScholarWorks Dissertations, Theses, and Masters Projects Theses, Dissertations, & Master Projects 2004 Dynamic adaptation to CPU and memory load in scientific applications Richard Tran Mills College of William & Mary - Arts & Sciences Follow this and additional works at: https://scholarworks.wm.edu/etd Part of the Computer Sciences Commons, and the Mathematics Commons Recommended Citation Mills, Richard Tran, "Dynamic adaptation to CPU and memory load in scientific applications" (2004). Dissertations, Theses, and Masters Projects. Paper 1539623457. https://dx.doi.org/doi:10.21220/s2-my1g-nn08 This Dissertation is brought to you for free and open access by the Theses, Dissertations, & Master Projects at W&M ScholarWorks. It has been accepted for inclusion in Dissertations, Theses, and Masters Projects by an authorized administrator of W&M ScholarWorks. For more information, please contact [email protected]. DYNAMIC ADAPTATION TO CPU AND MEMORY LOAD IN SCIENTIFIC APPLICATIONS A Dissertation Presented to The Faculty of the Department of Computer Science The College of William and Mary in Virginia In Partial Fulfillment Of the Requirements for the Degree of Doctor of Philosophy by Richard Tran Mills 2004 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. APPROVAL SHEET This dissertation is submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Richard Tran Mills Approved by the committeq/November 2004 Dimitrios Nikolopemlos ( jVirginia Torczon Robe'rt VoTgt^^' / Richard Wolski Department of Computer Science University of California, Santa Barbara ii Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. To my family—especially my mother and father—and the Commodore-64 personal computer. iii Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Table of Contents Acknowledgments viii List of Tables x List of Figures xi Abstract xiv 1 Introduction 2 1.1 C o n trib u tio n s .................................................................................................................... 4 1.1.1 Dynamic load balancing of inner-outer iterative solvers .......................... 5 1.1.2 Dynamic memory adaptation in scientific applications ......................... 5 1.2 R e le v a n c e .......................................................................................................................... 6 1.3 O r g a n iz a tio n .................................................................................................................... 7 2 Background and related work 9 2.1 Load b a la n c in g ................................................................................................................ 9 2.1.1 Pools of independent tasks ............................................................................ 10 2.1.2 Data partitioning ................................................................................................ 12 2.1.2.1 Geometric partitioning .................................................................. 13 2.1.2.2 Topological partitioning.................................................................. 14 2.1.2.3 Load balancing adaptive computations ................................... 16 iv Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 2.1.3 Load balancing under variable external load ............................................... 18 2.2 Addressing memory shortage ...................................................................................... 19 2.2.1 Out-of-core algorithms...................................................................................... 20 2.2.2 Virtual memory system modifications ....................................................... 22 2.2.3 Memory-adaptive algorithm s ........................................................................ 23 2.3 Application-centric adaptive scheduling ................................................................. 25 3 Load balancing flexible-phase iterations 28 3.1 Flexible-phase iteration ................................................................................................ 29 3.2 Coarse-grain Jacobi-Davidson implementation ....................................................... 30 3.3 Load balancing J D c g ....................................................................................................... 33 3.3.1 Experimental evaluation ................................................................................... 34 3.4 Load balancing a fully multigrain Jacobi-Davidson solver ............................... 36 3.4.1 Benefits of multigrain parallelism .................................................................. 36 3.4.2 Load imbalance in the full multigrain case .................................................. 38 3.5 A load balanced Additive-Schwarz preconditioner for FG M RES ...................... 39 4 Load balancing under memory pressure 43 4.1 Load-balanced JDcg under memory pressure ........................................................... 43 4.2 Avoiding thrashing from within the algorithm ....................................................... 44 4.2.1 Choosing the parameters ............................................................................... 48 4.2.2 Experimental results ......................................................................................... 49 4.3 Limitations of the memory-balancing approach .................................................... 52 5 A dynamic memory adaptation framework 55 5.1 A portable framework for memory adaptivity ....................................................... 55 5.2 Elements of the implementation .................................................................................. 57 5.3 Algorithms for adapting to memory availability .................................................... 58 5.3.1 Detecting memory shortage............................................................................ 59 v Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 5.3.2 Detecting memory surplus............................................................................... 63 5.3.2.1 Problems with overly aggressive probing.................................. 63 5.3.2.2 Balancing performance penalties with a dynamic probing p o lic y ................................................................................................... 64 5.4 Further details of the adaptation algorithms ........................................................... 68 5.4.1 Estimating the static memory s iz e ................................................................. 69 5.4.2....................................Calculating R p e n ................................................................................. 70 5.4.2.1 A low frequency probing approach .............................................. 70 5.4.2.2 Probing with higher frequency................................................... 72 6 Design of MMlib: A memory-malleability library 77 6.1 The general framework supported by MM l i b ....................................................... 77 6.2 Data structures ................................................................................................................. 78 6.3 Core ................... interface and functionality ................................................................. 79 6.4 Optimizations and additional functionality .............................................................. 80 6.4.1 Memory access at sub-panel granularity .................................................... 80 6.4.2 Eviction of “most-missing” panels ............................................................... 83 7 Experimental evaluation of memory-adaptation 86 7.1 Application kernels .......................................................................................................... 86 7.1.1 Conjugate Gradient (CG) ................................................................................... 86 7.1.2 Modified Gram-Schmidt (MGS) ..................................................................... 87 7.1.3 Monte-Carlo Ising model simulation (ISING) .......................................... 89 7.2 Experimental environments and methodology ....................................................... 91 7.3 Choosing the MM lib p a ra m e te rs ............................................................................... 94 7.3.1 Panel s i z e .............................................................................................................. 95 7.3.2 R p e n -m a x................................................................................................................. 97 7.3.3 Choice of probing type ...................................................................................... 98 vi Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 7.3.3.1 Static memory pressure ................................................................. 98 7.3.3.2 Highly variable memory pressure ................................................ 100 7.4 Graceful degradation of performance ........................................................................ 102 7.4.1 Effects of panel write-frequency .................................................................... 103 7.5 Quick response

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    148 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us