{'fraction_non_alphanumeric': 0.024793388429752067, 'fraction_numerical': 0.002253944402704733, 'mean_word_length': 5.7272727272727275, '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}}
Strategies for Reliable, Cloud-Based Distributed Real-Time and Embedded Systems

Cloud computing enables elastic and dynamic resource provisioning while providing cost-effective computing solutions. However, while cloud computing provides customers access to scalable and elastic resources, it does not guarantee the user's expectations of Quality of Service (QoS). This is because a number of customers share resources in the cloud infrastructure simultaneously: compute-intensive processes and network traffic associated with one customer often impact the performance of other applications operated on the same infrastructure in unexpected ways. The inability of the cloud to enforce QoS and provide execution guarantees prevents cloud computing from becoming useful for distributed, real-time and embedded (DRE) systems. Providing the required levels of service to support DRE systems in the cloud is complicated for a variety of reasons: (1) lack of effective monitoring that prevents timely auto-scaling needed for DRE systems, (2) hyper visors and data-center networks that do not support real-time scheduling of resources, and (3) absence of efficient and predictable fault tolerant mechanisms with acceptable overhead and consistency. This paper describes ongoing and proposed doctoral research to address these challenges.