| Preface | p. v |
| Introduction | p. 1 |
| Field of Scheduling for Parallel Processing | p. 1 |
| Basic Scheduling Notions | p. 2 |
| Scheduling Theory Notions | p. 2 |
| Computer Systems Notions | p. 3 |
| Why We Need Scheduling | p. 4 |
| Problems, Models, Algorithms, and Schedules | p. 5 |
| References | p. 7 |
| Basics | p. 9 |
| Selected Definitions Form Graph Theory | p. 9 |
| Methodology of Complexity Theory | p. 13 |
| Problems, Machines, Complexity Functions | p. 14 |
| Basic Complexity Classes | p. 15 |
| Approximability of Hard Problems | p. 17 |
| Solving Hard Combinatorial Problems | p. 19 |
| Branch and Bound Algorithm | p. 20 |
| Dynamic Programming | p. 21 |
| Linear Programming | p. 22 |
| Metaheuristics | p. 23 |
| Parallel Performance Metrics | p. 25 |
| References | p. 28 |
| Vision of Scheduling in Parallel Systems | p. 31 |
| Hardware | p. 31 |
| CPU | p. 31 |
| Memory | p. 32 |
| Interconnection | p. 34 |
| Programming Environments | p. 37 |
| Runtime Environments | p. 42 |
| Operating System Peculiarities | p. 43 |
| Resource Managers | p. 45 |
| References | p. 51 |
| Classic Scheduling Theory | p. 55 |
| Definitions | p. 55 |
| ¿/ß/¿ Notation and Complexity Inference | p. 59 |
| Scheduling Parallel Processors | p. 61 |
| Cmax Criterion | p. 61 |
| Lmax Criterion | p. 67 |
| ¿cj, ¿ wjcj Criteria | p. 72 |
| Beyond the Classics | p. 74 |
| New Criteria | p. 75 |
| Multicriteria Scheduling | p. 77 |
| Online Scheduling | p. 80 |
| Remarks on the Classic Scheduling Theory | p. 82 |
| References | p. 83 |
| Parallel Tasks | p. 87 |
| Parallel Tasks in Practice | p. 87 |
| Parallel Applications | p. 87 |
| Bandwidth and Storage Allocation | p. 91 |
| Reliable Computing | p. 92 |
| Assumptions and Definitions | p. 92 |
| Types of Parallel Tasks | p. 92 |
| Processing Time Functions | p. 95 |
| Extension of ¿/ß/¿ Notation | p. 96 |
| Rigid Tasks | p. 98 |
| Cmax, Lmax Criteria | p. 99 |
| Minsum Criteria | p. 108 |
| Other Heuristics for Rigid Task Scheduling | p. 111 |
| Moldable Tasks | p. 117 |
| Cmax Criterion | p. 117 |
| Minsum Criteria | p. 127 |
| Other Heuristics for Moldable Task Scheduling | p. 128 |
| Malleable Tasks | p. 130 |
| Cmax, Lmax, max WjSj Criteria | p. 131 |
| Minsum Criteria | p. 136 |
| Other Heuristics for Malleable Task Scheduling | p. 138 |
| Tasks with Hypercube Shape | p. 139 |
| Subcube Allocation | p. 140 |
| Cmax, Lmax Criteria | p. 147 |
| Minsum Criteria | p. 153 |
| Other Heuristics for Tasks with Hypercube Shape | p. 153 |
| Tasks with Mesh Shape | p. 156 |
| Submesh Allocation | p. 156 |
| Heuristics with a Guarantee | p. 168 |
| Heuristics Without a Guarantee | p. 176 |
| Multiprocessor Tasks | p. 180 |
| Cmax, Lmax, Criteria | p. 180 |
| Minsum Criteria | p. 193 |
| Concluding Remarks on Parallel Task Model | p. 196 |
| References | p. 197 |
| Scheduling with Communication Delays | p. 209 |
| Scheduling with Communication Delays in Practice | p. 210 |
| Formulation of the Problem | p. 213 |
| Notation and Preliminaries | p. 213 |
| Interconnection Topology and Communication Delay Models | p. 215 |
| Technical Terminology | p. 218 |
| Extension of ¿/ß/¿ Notation | p. 218 |
| Limited Processor Number and No Duplication | p. 219 |
| Hard Cases | p. 219 |
| Polynomial Cases | p. 220 |
| Heuristics with a Guarantee | p. 234 |
| Heuristics Without a Guarantee | p. 238 |
| Limited Processor Number and Duplication | p. 246 |
| Complexity of the Problem | p. 246 |
| Heuristics with a Guarantee | p. 246 |
| Heuristics Without a Guarantee | p. 247 |
| Unlimited Processor Number and No Duplication | p. 250 |
| Hard Cases | p. 250 |
| Polynomial Cases | p. 250 |
| Heuristics with a Guarantee | p. 257 |
| Heuristics Without a Guarantee | p. 263 |
| Unlimited Processor Number and Duplication | p. 265 |
| Hard Cases | p. 265 |
| Polynomial Cases | p. 265 |
| Heuristics with a Guarantee | p. 268 |
| Heuristics Without a Guarantee | p. 270 |
| Scheduling in Processor Networks | p. 273 |
| Scheduling in Log P Model | p. 275 |
| Notation | p. 275 |
| Hard Cases | p. 278 |
| Polynomial Cases | p. 279 |
| Heuristics with a Guarantee | p. 281 |
| Heuristics Without a Guarantee | p. 284 |
| Remarks on Scheduling in Log P Model | p. 285 |
| Scheduling with Hierarchical Communication | p. 286 |
| Problem Formulation and Notation | p. 286 |
| Complexity of the Problem | p. 287 |
| Heuristics with a Guarantee | p. 289 |
| Further Reading and Conclusions | p. 291 |
| Other Branches of Scheduling with Communication Delays | p. 291 |
| Observations on Scheduling with Communication Delays | p. 292 |
| References | p. 293 |
| Divisible Loads | p. 301 |
| Star - Basic Formulation | p. 302 |
| Base Model | p. 302 |
| Start-Up Times, Message Sequencing, Complexity | p. 304 |
| Communication Options | p. 305 |
| Equivalent Speed | p. 307 |
| Interconnection Topologies | p. 307 |
| Chains | p. 307 |
| Trees | p. 309 |
| Meshes | p. 310 |
| Hypercubes | p. 313 |
| Arbitrary Graphs | p. 315 |
| Multi-installment Processing | p. 315 |
| Memory Constraints | p. 317 |
| Single Installement Processing | p. 317 |
| Multi-installment Processing | p. 321 |
| Processing Cost Optimization | p. 325 |
| Negligible Start-Up Times | p. 325 |
| Nonzero Start-Up Times | p. 326 |
| Multiple Tasks | p. 327 |
| Single Source Loads | p. 327 |
| Multiple Source Load | p. 331 |
| Time-Varying Environment | p. 333 |
| Expected Search Time | p. 336 |
| Steady-State Divisible Load Scheduling | p. 337 |
| Single Originator | p. 337 |
| Multiple Originators | p. 339 |
| Online Scheduling | p. 340 |
| Measuring Heuristics | p. 340 |
| Loop Scheduling | p. 341 |
| Other Heuristics | p. 343 |
| Toward Discrete Load Granularity | p. 346 |
| Rounding Techniques | p. 346 |
| Discretely Divisible Loads | p. 348 |
| DLT and Performance Evaluation | p. 349 |
| DLT and the Classic Performance Measures | p. 349 |
| Equivalent Processors and Ultimate Performance | p. 351 |
| Isoefficiency | p. 352 |
| Divisible Loads in Practice | p. 353 |
| Divisible Applications | p. 353 |
| Empirical Confirmations of DLT | p. 356 |
| Concluding Remarks on DLT | p. 359 |
| References | p. 360 |
| Back to Scheduling Models | p. 367 |
| On Scheduling Models | p. 367 |
| What Is a Parallel Application? | p. 368 |
| Parallel Systems in Scheduling Models | p. 369 |
| On Bridging the Models | p. 369 |
| The Case of Granularity | p. 370 |
| Criteria and Constraints | p. 371 |
| On Scheduling Algorithms | p. 372 |
| Computational Costs | p. 372 |
| Where Is My Scheduling Information? | p. 373 |
| It Is a Matter of Time | p. 375 |
| Toward Scheduling Problem Taxonomy Anyway? | p. 376 |
| References | p. 377 |
| Summary of the Notation | p. 379 |
| Index | p. 381 |
| Table of Contents provided by Ingram. All Rights Reserved. |