{'fraction_non_alphanumeric': 0.012334801762114538, 'fraction_numerical': 0.0, 'mean_word_length': 5.682352941176471, '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}}
A Dynamic Load Balancing Scheme for Distributed Formal Concept Analysis

Formal Concept Analysis (FCA) finds applications in several areas including data mining, artificial intelligence, and software engineering. FCA algorithms are computationally expensive and their recursion tree has an irregular structure. Several parallel algorithms have been implemented to manage the computational complexity of FCA. Most of them assume a shared memory environment where they maintain a shared queue of computational tasks and the workers store and retrieve tasks from that queue. Although the shared queue approach addresses the computation skew by fine grained sharing, it causes communication bottlenecks in a distributed memory environment. In this work, we propose static and dynamic load balancing strategies that are applicable in distributed memory environment. We parallelize the FCA algorithm called Linear time Closed itemset Miner and show that the proposed load balancing strategies effectively deal with the computation skew. They not only distribute the load evenly among the workers but also minimize the communication overhead.