{'fraction_non_alphanumeric': 0.02695697252462416, 'fraction_numerical': 0.0, 'mean_word_length': 5.868327402135232, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Towards Next Generation Resource Management at Extreme-Scales

With the exponential growth of distributed systems in both FLOPS and parallelism (number of cores/threads), scientific applications are growing more diverse with various workloads. These workloads include traditional large-scale high performance computing (HPC) MPI jobs, and HPC ensemble workloads that support the investigation of parameter sweeps using many small-scale coordinated jobs, as well as the fine-grained loosely-coupled many-task computing (MTC) workloads. Delivering high throughput and low latency for all the workloads has driven us designing and implementing the next-generation resource management systems that are magnitudes more scalable and available than today's centralized batchscheduled ones at extreme-scales for both MTC and HPC applications. We devised a generic taxonomy to explore the design choices for extreme-scale system services, and proposed that the key-value stores could serve as a viable building block for scalable distributed system services. We designed and developed fullydistributed architectures for next-generation resource management systems, which are radically different from the traditional centralized architecture; we also proposed the distributed data-aware work stealing and resource stealing techniques to achieve distributed workload and resource balancing at extreme-scales. We studied the distributed architectures with the proposed techniques through simulations (SimMatrix and SimSLURM++) up to exascale with millions of nodes, as well as through real systems (MATRIX & SLURM++) at thousands of nodes’ scales. We are currently working on pushing both MATRX (a fullydistributed resource management system for MTC applications) and SLURM++ (a partition-based fullydistributed resource management system for HPC applications) to support the running of real scientific MTC and HPC workloads at large scales.