{'fraction_non_alphanumeric': 0.018880647336480108, 'fraction_numerical': 0.0, 'mean_word_length': 5.566371681415929, '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}}
DMake : A Tool for Monitoring and Configuring Distributed Systems

Designers of long-running distributed systems must define management policies to address the various runtime disruptions that can arise in distributed settings. In many applications, notably ones requiring high-assurance guarantees, this management infrastructure must be flexible enough to represent non-trivial requirements and dependencies, and poised to quickly adapt if changes in the behavior of the system require an intervention. Our belief is that with the emergence of cloud computing and a very large scale “migration” of applications towards cloud hosting, a growing community of non-experts will find themselves developing such applications, and that software tools oriented towards this sort of cloud user will be required. Our paper describes DMake, a new system responding to this need. DMake is unusual in offering a very flexible range of management options through a familiar and widely popular model: that of the Unix make utility. DMake represents a significant generalization of Unix make, and its extended “makefile” format can express complex policies. The system has a rigorous semantics, including strong consistency and reliability properties that map to distributed consensus (state machine replication). We believe that DMake opens the door to much more sophisticated management policies by users with relatively little specialized training in distributed computing or system management.