{'fraction_non_alphanumeric': 0.016927899686520375, 'fraction_numerical': 0.0, 'mean_word_length': 5.21011673151751, '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}}
Asynchronous Rendering of Time-Variant Volumes with Workload-Based Data Shuffling

Complex time-varying phenomena usually produce volume datasets that are not static but dynamic in time. The amounts of storage and the computing power needed to visualize such datasets can easily exceed what could be offered by a single processor. Therefore, networks of computers are ideal to render them. However, data distribution schemes can be highly vulnerable to how the user wants to visualize the data, which could be stored in bricks that have several levels of resolutions. This scenario is highly influenced by the error estimates that low resolution data accumulate to represent high resolution data. Different set of error tolerances can produce rendering sequences that make the workload of processors imbalance. We present the asynchronous rendering of time-variant volume datasets under a shuffled distribution, which is based on the expected number of bricks to render. The data is subdivided into partitions that hold many bricks; a metric is then calculated for every partition. The partitions are then mapped to processors based on the metric, so that high concentration of bricks go where low concentration have been previously assigned; and vice versa. Because of this behavior, asynchronous rendering is required; otherwise, processors stand idle instead of rendering frames. Our results compare our method against the traditional synchronous rendering found in most of the parallel rendering literature. In all cases, our method balances the workload better in terms of number of bricks.