{'fraction_non_alphanumeric': 0.019450033534540577, 'fraction_numerical': 0.0, 'mean_word_length': 5.348936170212766, '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}}
ASAFESSS: A Scheduler-driven Adaptive Framework for Extreme Scale Software Stacks

In a context where the interaction between growingly heterogeneous dynamic hardware and sets of complex applications is intractible to model at compile-time, we acknowledge the need for a formal way to associate runtime parameter domains with software optimizations. A standard definition of - and access protocol to - runtime parameters is also necessary for compilers and application developers to adapt their optimizations to the runtime context. We advocate that the runtime parameters should concisely represent the interaction between software and the underlying hardware.
 We present a generic framework for collecting a useful set of runtime parameters and creating adaptive optimizations at all levels of the software stack. Runtime task schedulers can be leveraged advantageously to form run-time context information since they have direct access to the tasks that are running and scheduled. In the presented framework, high-level information is produced at the task granularity by the compiler, under the form of "task types," ensuring low management overhead.
 The approach is validated experimentally using a simple representation of the run-time context (which we call "runtime mode") that focuses on communication-to-computation imbalance. The software stack element used for validation is an adaptive data compression engine, which in practice could be part of the application or the runtime.