{'fraction_non_alphanumeric': 0.024557395773843516, 'fraction_numerical': 0.003997715591090805, 'mean_word_length': 5.84375, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 3, '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}}
Throughput Optimized Scheduler for Dispersed Computing Systems

Dispersed computing is promising paradigm to supplement the conventional cloud computing. Performing computation on the edge leads to significant reduction in communication with the remote cloud. However, challenges exist to fully exploit the advantages of dispersed computing systems: The edge devices are heterogeneous in computation and communication capacity; Tasks decomposed from the target applications can have complex precedence requirements captured by a Directed Acyclic Graph (DAG). With these challenges in mind, we propose a throughput optimized task scheduler, targeting at applications (such as computer vision and video processing) where input data are continuously and steadily fed into the execution pipeline. The scheduler incorporates two innovative techniques: task duplication and task splitting. To circumvent low bandwidth data links in the highly heterogeneous environment, we duplicate critical tasks to reroute communication paths. To load-balance the various tasks in complicated target applications, we split heavy-loaded tasks to allow cooperation of multiple nearby edge devices. Through simulation, we thoroughly evaluate the performance of the scheduler under various configuration of tasks and dispersed systems. Task duplication improves throughput of the baseline schedule significantly (> 1.2×), for systems with large variance in data link bandwidth and tasks with large communication-to-computation ratio. Task splitting leads to significant throughput improvement (> 1.25×) for systems with heterogeneous processing power and tasks with large variance in workload. On average, our scheduler improves throughput of the baseline schedule by > 1.6×.