Parallelization of the K-Means Algorithm with Applications to Big Data Clustering

要約

LLoyd のアルゴリズムを使用した K-Means クラスタリングは、指定されたデータセットを K 個の異なるクラスターに分割する反復アプローチです。
このアルゴリズムは、次の目的関数 \[\ \min \Sigma_{i=1}^{n}||x_i-\mu_{x_i}||^2\] に基づいて各ポイントをクラスターに割り当てます。 シリアル アルゴリズムには反復が含まれます。
重心から各データポイントの距離を計算し、データポイントを最も近い重心に割り当てるステップ。
このアプローチは本質的に期待値最大化ステップとして知られています。
クラスタリングには、反復ごとに距離を計算するための広範な計算が必要ですが、データ ポイントの数が増加するにつれて距離も増加します。
これにより、並列処理の余地が得られます。
ただし、並列プロセスでは、各スレッドが更新された重心値にアクセスでき、どの重心値にも競合状態が存在しないことを確認する必要があります。
このプロジェクトでは 2 つの異なるアプローチを比較します。
最初のアプローチは、すべてのプロセスが並行して実行される OpenMP フラット同期方式で、同期を使用してクラスターの安全な更新を保証します。
私たちが採用する 2 番目のアプローチは、OpenACC を使用した GPU ベースの並列化アプローチです。ここでは、GPU アーキテクチャを利用してアルゴリズムのチャンクを並列化し、計算時間の短縮を観察します。
速度向上、効率、さまざまなデータ ポイントにかかる時間、プロセス数などの指標を分析して 2 つのアプローチを比較し、得られる相対的なパフォーマンスの向上を理解します。

要約(オリジナル)

The K-Means clustering using LLoyd’s algorithm is an iterative approach to partition the given dataset into K different clusters. The algorithm assigns each point to the cluster based on the following objective function \[\ \min \Sigma_{i=1}^{n}||x_i-\mu_{x_i}||^2\] The serial algorithm involves iterative steps where we compute the distance of each datapoint from the centroids and assign the datapoint to the nearest centroid. This approach is essentially known as the expectation-maximization step. Clustering involves extensive computations to calculate distances at each iteration, which increases as the number of data points increases. This provides scope for parallelism. However, we must ensure that in a parallel process, each thread has access to the updated centroid value and no racing condition exists on any centroid values. We will compare two different approaches in this project. The first approach is an OpenMP flat synchronous method where all processes are run in parallel, and we use synchronization to ensure safe updates of clusters. The second approach we adopt is a GPU based parallelization approach using OpenACC wherein we will try to make use of GPU architecture to parallelize chunks of the algorithm to observe decreased computation time. We will analyze metrics such as speed up, efficiency,time taken with varying data points, and number of processes to compare the two approaches and understand the relative performance improvement we can get.

arxiv情報

著者 Ashish Srivastava,Mohammed Nawfal
発行日 2024-05-20 14:18:36+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.DC, cs.LG パーマリンク