Predicting the Runtime of Memory Intensive Batch Workloads

2018 
Data centers use their non-peak business hours to run batch jobs in order to maximize the resource utilization. Large data centers may run thousands of batch jobs every day. These jobs typically process large volumes of data and can either be compute or memory intensive. Batch jobs may perform data reconciliation, risk analysis, and carry out analytics that are critical for the business. Hence, it is imperative that these jobs complete within the available time frame. New servers with large number of core and Non-Uniform Memory Access (NUMA) architecture provide very large compute capacity. This means that many batch jobs can be run concurrently to minimize their collective completion time. However, excessive parallelism may create memory access bottleneck and adversely affect the completion time. The objective of this work is to predict the completion time of concurrently running batch jobs. We assume each job to be multithreaded and memory intensive. A prediction model based on memory and CPU contention is proposed. Our predictions are based on server simulation that uses individual batch job data to predict the completion time of concurrently running jobs. The efficacy of our approach is validated using STREAM, a well-known open source synthetic benchmark. We also study the effect of hyper-threading and memory binding on prediction accuracy of our model.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    24
    References
    4
    Citations
    NaN
    KQI
    []