Skip to search boxSkip to navigationSkip to main content

Shared memory parallelization of data mining algorithms: Techniques, programming interface, and performance

  • Ruoming Jin(corresponding author)
    ,
  • Ge Yang
    ,
  • Gagan Agrawal
*Corresponding author for this work
Scholary Output:
Contribution to journal
Article
Peer-review

Abstract

With recent technological advances, shared memory parallel machines have become more scalable, and offer large main memories and high bus bandwidths. They are emerging as good platforms for data warehousing and data mining. In this paper, we focus on shared memory parallelization of data mining algorithms. We have developed a series of techniques for parallelization of data mining algorithms, including full replication, full locking, fixed locking, optimized full locking, and cache-sensitive locking. Unlike previous work on shared memory parallelization of specific data mining algorithms, all of our techniques apply to a large number of popular data mining algorithms. In addition, we propose a reduction-object-based interface for specifying a data mining algorithm. We show how our runtime system can apply any of the techniques we have developed starting from a common specification of the algorithm. We have carried out a detailed evaluation of the parallelization techniques and the programming interface. We have experimented with apriori and fp-tree-based association mining, k-means clustering, k-nearest neighbor classifier, and decision tree construction. The main results from our experiments are as follows: 1) Among full replication, optimized full locking, and cachesensitive locking, there is no clear winner. Each of these three techniques can outperform others depending upon machine and dataset parameters. These three techniques perform significantly better than the other two techniques. 2) Good parallel efficiency is achieved for each of the four algorithms we experimented with, using our techniques and runtime system. 3) The overhead of the interface is within 10 percent in almost all cases. 4) In the case of decision tree construction, combining different techniques turned out to be crucial for achieving high performance.

Publication Information

Output type

Scholary Output:
Contribution to journal
Article
Peer-review

Original language

English (US)

Pages from-to (Number of pages)

Pages 71-89 (19 pages)

Journal (Volume, Issue Number)

IEEE Transactions on Knowledge and Data Engineering (Volume 17, Issue 1)

Publication milestones

  • Published - 01/2005

Publication status

Published - 01/2005

ISSN

1041-4347

Publication IDs

  • Scopus: 17444402472

Publication metrics

Metrics

SciVal
FWCI
3.73
SciVal
Author count
3
SciVal
Paper percentile
93
SciVal
Top percentile
10
SciVal
citations
83
Fractional count
1
Fractional count
0.33
Fractional count
2
Fractional count
0.67
Fractional count
1
Fractional count
1
Scopus
citations

PlumX, opens in new tab

Citation count
85
Captures
75

Funding Details

This research was supported by the US National Science Foundation CAREER award ACI-9733520, US National Science Foundation grant CCR-9808522, and US National Science Foundation grant ACR-9982087. The equipment for this research was purchased under US National Science Foundation grant EIA-9703088.
FunderFunding numbers
NSF
ACR-9982087, CCR-9808522, ACI-9733520, EIA-9703088