A simplified approach to accelerate matrix factorization of big data is to parallelize it. A commonly used method is to divide the matrix into multiple non-intersecting blocks and concurrently calculate them. This operation causes the Load balance problem, which significantly impacts parallel performance and is a big concern. A general belief is that the load balance across blocks is impossible by balancing rows and columns separately. We challenge the belief by proposing an approach of “Balanced Partitioning (BaPa)”. We demonstrate under what circumstance independently balancing rows and columns can lead to the balanced intersection of rows and columns, why, and how. We formally prove the feasibility of BaPa by observing the variance of rating numbers across blocks, and empirically validate its soundness by applying it to two standard parallel matrix factorization algorithms, DSGD and CCD++. Besides, we establish a mathematical model of “Imbalance Degree” to explain further why BaPa works well. BaPa is applied to synchronous parallel matrix factorization, but as a general load balance solution, it has significant application potential.
Coastal cities are increasingly vulnerable to urban storm surge hazards and the secondary hazards they cause (e.g., coastal flooding). Accurate representation of the spatio-temporal process of hazard event development is essential for effective emergency response. However, current knowledge graph representations face the challenge of integrating multi-source information with various spatial and temporal scales. To address this challenge, we propose a new information model for storm surge hazard events, involving a two-step process. First, a hazard event ontology is designed to model the components and hierarchical relationships of hazard event information. Second, we utilize multi-scale time segment integer coding and geographical coordinate subdividing grid coding to create a spatio-temporal framework, for modeling spatio-temporal features and spatio-temporal relationships. Using the 2018 typhoon Mangkhut storm surge event in Shenzhen as a case study and the hazard event information model as a schema layer, a storm surge event knowledge graph is constructed, demonstrating the integration and formal representation of heterogeneous hazard event information and enabling the fast retrieval of disasters in a given spatial or temporal range.
The latest implementation of the fully homomorphic encryption algorithm (FHEW), FHEW-V2, takes about 0.12 s for a bootstrapping on a single-node computer. It seems much faster than the previous implementations. However, the 30-bit homomorphic addition requires 270 times of bootstrapping; plus those spent on key generation, the total elapsed time climbs to 55 seconds, which is unacceptable. In this article, we reveal how to further optimize FHEW-V2 by focusing on efficiently constructing homomorphic full adders. We tackle inefficiency in FHEW-V2 by massive efforts: First, we explore FHEW-V2 and locate hotspots; second, we leverage the heterogeneous parallel computing model of multicore CPU and GPUs to remove the hotspots to improve performance. The empirical results show that a 30-bit homomorphic addition is completed in 23.8753 s after optimization, gaining an overall speedup of 2.2845; and a 6-bit homomorphic multiplication costs 25.8438, gaining an overall speedup of 2.2435. The 2.2845 speedup is a rough integration of a 13.248 speedup for the key generation and a 1.672 speedup for the bootstrapping; the 2.2435 speedup is a rough integration of the same key generation and a 1.675 speedup for the bootstrapping. We also reveal the strengths and weaknesses of FHEW-V2 by comparing it with a state-of-the-art somewhat homomorphic encryption algorithm, microsoft's simple encrypted arithmetic library (SEAL).