{'fraction_non_alphanumeric': 0.0190325138778747, 'fraction_numerical': 0.00951625693893735, 'mean_word_length': 5.471794871794872, '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}}
Quality-Oriented Task Allocation and Scheduling in Transcoding Servers With Heterogeneous Processors

Dynamically adaptive streaming over HTTP requires a large-scale server to transcode various bitrate versions in which different preset parameters can be used to provide different video qualities at each resolution. When transcoding servers contain a heterogeneous mix of CPUs and GPUs, the task scheduler must choose a processor and preset parameter for each transcoding task to meet the transcoding deadlines while achieving the best possible video quality. We apply regression analysis to sample variable-bit-rate videos to provide accurate (mean absolute percentage error values from 1.3% to 13.9%) model for predicting bitrate, transcoding time and video quality at each resolution on different processors. We build this into a greedy allocation and scheduling algorithm which first satisfies deadlines with low video quality, and then redistributes the workload to improve that quality while continuing to meet the deadlines. This scheme was both simulated and implemented on a testbed server. It satisfies all deadlines while outperforming standard algorithms by between 3.12% and 15.59% in terms of popularity-weighted video quality divided by bitrate.