High-level Interfaces and Abstractions for Grid-based Data Mining

33
High-level Interfaces and Abstractions for Grid-based Data Mining Gagan Agrawal Department of Computer and Information Sciences Ohio State University (joint work with Ruoming Jin, Liang Chen, Xiaogang Li, Leo Glimcher, Ge Yang, Xuan Zhang)

description

High-level Interfaces and Abstractions for Grid-based Data Mining. Gagan Agrawal Department of Computer and Information Sciences Ohio State University (joint work with Ruoming Jin, Liang Chen, Xiaogang Li, Leo Glimcher, Ge Yang, Xuan Zhang). Scalable Mining Problem. - PowerPoint PPT Presentation

Transcript of High-level Interfaces and Abstractions for Grid-based Data Mining

Page 1: High-level Interfaces and Abstractions for Grid-based Data Mining

High-level Interfaces and Abstractions for Grid-based Data

Mining

Gagan Agrawal

Department of Computer and Information SciencesOhio State University

(joint work with Ruoming Jin, Liang Chen, Xiaogang Li, Leo Glimcher, Ge Yang, Xuan Zhang)

Page 2: High-level Interfaces and Abstractions for Grid-based Data Mining

Scalable Mining Problem

Our understanding of what algorithms and parameters will give desired insights is often limited

The time required for creating scalable implementations of different algorithms and running them with different parameters on large datasets slows down the data mining process

Page 3: High-level Interfaces and Abstractions for Grid-based Data Mining

Mining in a Grid Environment

A data mining application in a grid environment - - Needs to exploit different forms of available parallelism

- Needs to deal with different data layouts and formats - Needs to adapt to resource availability

We should be targeting users who are used to programming systems like matlab / SQL / …

Page 4: High-level Interfaces and Abstractions for Grid-based Data Mining

What do we need ?

The ability to exploit different forms of architectures/parallelism without hard-coding

Distributed memory, shared memory, combination of two

Self adaptation based upon resource availability and need for interactivity

Support for high-level schemas on datasets, without loosing performance

Support for processing data streams in a grid environment

Page 5: High-level Interfaces and Abstractions for Grid-based Data Mining

Research Projects

FREERIDE (Framework for Rapid Implementation of Datamining Engines)

High-level specification of a parallel data mining algorithm Flexibly exploit different forms of parallelism

GATES (Grid-based AdapTive Execution on Streams) OGSA based Support for processing distributed streams in a grid

environment Self Adaptation to meet real-time constraints

XML-based high-level abstractions of datasets XQuery/XPath for application development Use of compiler techniques for program transformation and

efficiency

Page 6: High-level Interfaces and Abstractions for Grid-based Data Mining

FREERIDE Overview Framework for Rapid

Implementation of datamining engines

Demonstrated for a variety of standard mining algorithm

Targeted distributed memory parallelism, shared memory parallelism, and combination

Can be used as basis for scalable grid-based data mining implementations

Published in SDM 01, SDM 02, SDM 03, Sigmetrics 02, Europar 02, IPDPS 03, IEEE TKDE (to appear)

Page 7: High-level Interfaces and Abstractions for Grid-based Data Mining

Key Observation from Mining Algorithms

Popular algorithms have a common canonical loop

Can be used as the basis for supporting a common middleware

Parallelism of different forms and execution on disk-resident datasets

While( ) {

forall( data instances d) {

I = process(d)

R(I) = R(I) op d

}

…….

}

Page 8: High-level Interfaces and Abstractions for Grid-based Data Mining

Shared Memory Parallelization Techniques

Full Replication: create a copy of the reduction object for each thread

Full Locking: associate a lock with each element

Optimized Full Locking: put the element and corresponding lock on the same cache block

Fixed Locking: use a fixed number of locks Cache Sensitive Locking: one lock for all

elements in a cache block

Page 9: High-level Interfaces and Abstractions for Grid-based Data Mining

Trade-offs between Techniques

Memory requirements: high memory requirements can cause memory thrashing

Contention: if the number of reduction elements is small, contention for locks can be a significant factor

Coherence cache misses and false sharing: more likely with a small number of reduction elements

Page 10: High-level Interfaces and Abstractions for Grid-based Data Mining

Combining Shared Memory and Distributed Memory Parallelization

Distributed memory parallelization by replication of reduction object

Naturally combines with full replication on shared memory

For locking with non-trivial memory layouts, two options

Communicate locks also Copy reduction elements to a separate buffer

Page 11: High-level Interfaces and Abstractions for Grid-based Data Mining

Apriori Association Mining

Relative Performance of Full Replication, Optimized Full Locking and Cache-Sensitive Locking

0

20000

4000060000

80000

100000

0.10% 0.05% 0.03% 0.02%

Support Levels

Tim

e(s)

fr

ofl

csl

500MB dataset, N2000,L20, 4 threads

Page 12: High-level Interfaces and Abstractions for Grid-based Data Mining

K-means Shared Memory Parallelization

0

200

400

600

800

1000

1200

1400

1600

1thread

4threads

16threads

full repl

opt full locks

cache sens.Locks

Page 13: High-level Interfaces and Abstractions for Grid-based Data Mining

Performance on Cluster of SMPs

0

10000

20000

30000

40000

50000

60000

70000

1 node 2nodes

4nodes

8nodes

1 thread 2 threads 3 threads

Apriori Association Mining

Page 14: High-level Interfaces and Abstractions for Grid-based Data Mining

Results from EM Clustering Algorithm

EM is a popular data mining algorithm

Can we parallelize it using the same support that worked for other clustering algo (k-means) and algo for other mining tasks

0

500

1000

1500

2000

2500

3000

1 2 4 8nodes

1 thread 2 threads 3 threads 4 threads

Page 15: High-level Interfaces and Abstractions for Grid-based Data Mining

Results from FP-tree

0

10

20

30

40

50

60

1 2 4 8

1 thread 2 threads 3 threads

FPtree: 800 MB dataset 20 frequent itemsets

Page 16: High-level Interfaces and Abstractions for Grid-based Data Mining

A Case Study: Decision Tree Construction

• Question: can we parallelize decision tree construction using the same framework ?

• Most existing parallel algorithms have a fairly different structure (sorting, writing back …)

• Being able to support decision tree construction will significantly add to the usefulness of the framework

• Focused on Gehrke’s RainForest framework

Page 17: High-level Interfaces and Abstractions for Grid-based Data Mining

Shared Memory Parallelization Strategies

Pure approach: only apply one of full replication, optimized full locking and cache-sensitive locking

Vertical approach: use replication at top levels, locking at lower

Horizontal: use replication for attributes with a small number of distinct values, locking otherwise

Mixed approach: combine the above two

Page 18: High-level Interfaces and Abstractions for Grid-based Data Mining

Results

Combining full replication and cache-sensitive locking

0

500

1000

1500

2000

2500

3000

1 2 4 8

No. of Nodes

Tim

e(s

) horizontal

vertical

mixed

Page 19: High-level Interfaces and Abstractions for Grid-based Data Mining

SPIES On (a) FREERIDE

Developed a new communication efficient decision tree construction algorithm – Statistical Pruning of Intervals for Enhanced Scalability (SPIES)

Combines RainForest with statistical pruning of intervals of numerical attributes to reduce memory requirements and communication volume

Does not require sorting of data, or partitioning and writing-back of records

0

1000

2000

3000

4000

5000

6000

7000

1node

8nodes

1thread 2threads 3threads

Page 20: High-level Interfaces and Abstractions for Grid-based Data Mining

Applying FREERIDE for Scientific Data Mining

Joint work with Machiraju and Parthasarathy

Focusing on feature extraction, tracking, and mining approach developed by Machiraju et al.

A feature is a region of interest in a dataset

A suite of algorithms for extracting and tracking features

Page 21: High-level Interfaces and Abstractions for Grid-based Data Mining

FREERIDE Summary

Demonstrated a common framework for parallelization of a wide range of mining algos

Association mining – apriori and fp-tree Clustering – k-means and EM Decision tree construction Nearest neighbor search

Both shared memory and distributed memory parallelism

A number of advantages Ease parallelization Support higher-level interfaces

Page 22: High-level Interfaces and Abstractions for Grid-based Data Mining

Outline

FREERIDE (Framework for Rapid Implementation of Datamining Engines)

High-level specification of a parallel data mining algorithm Flexibly exploit different forms of parallelism

GATES (Grid-based Adaptive Execution on Streams) OGSA based Support for processing distributed streams in a grid

environment Self Adaptation to meet real-time constraints

XML-based high-level abstractions of datasets XQuery/XPath for application development Use of compiler techniques for program transformation and

efficiency

Page 23: High-level Interfaces and Abstractions for Grid-based Data Mining

GATES

Grid-based AdapTive Execution on Streams

Targets (distributed) processing of (distributed) data streams

Built on OGSA model Self adaptation to meet

real-time constraint on processing

Page 24: High-level Interfaces and Abstractions for Grid-based Data Mining

GATES: Motivation Processing of streams widely studied in data mining

algorithms / database systems Focus on centralized processing of centralized streams Most work to date on algorithms (particularly in data

mining) Many applications involve high-volume data streams

Data from large scale experiments / simulations Digitized images from a movie camera Network traffic

Data may arise from distributed sources Analysis / consumption of results may be distributed

Many users wanting different analyses/results Insufficient compute power at one site

Improving wide-area bandwidth / QoS can allow grid-based real-time processing of data streams

Page 25: High-level Interfaces and Abstractions for Grid-based Data Mining

A Future Application Scenario

Tatabe et al. CCGRID 2002

Page 26: High-level Interfaces and Abstractions for Grid-based Data Mining

GATES Requirements

For application developers Relieve from complexities of using grid resources Automatic resource discovery and resource/requirement

matching Simple interface for enabling self-adaptation to meet

real-time constraints For application deployer

Simple deployment –deploy only at the application container and distribution of processing is handled automatically

For application user Dynamic adaptation to meet real-time constraints

Adaptation to resource requirements and resource availability

Page 27: High-level Interfaces and Abstractions for Grid-based Data Mining

GATES Processing Structure

Processing is in a set of stages First stage is at or close to data source, last stage is

close to where results are desired Each stage can have up to three threads

Input Stream Thread: creates and listens to a socket, connect to stream users

StreamService Provider: Extracts and executes the processing associated with this stage

Output Stream Thread: Creates and monitors a socket, send write possible event to stream users

Page 28: High-level Interfaces and Abstractions for Grid-based Data Mining

Self Adaptation in GATES Observation: Online (one-pass) analysis algorithms are

typically approximate Goal: Achieve the best accuracy with available resources,

subject to real-time constraint GATES approach:

Programmer exposes certain parameters in processing of each stage

Examples include: rate of sampling, size of summary structure

Programmer also specifies direction of sensitivity e.g. larger summary structure means more computation/communication

Parameters adjusted at runtime Currently based upon size of buffers: signal previous stage to

become faster/slower if buffer too small / too large Future possibilities: use profiling / performance models …

Page 29: High-level Interfaces and Abstractions for Grid-based Data Mining

Outline

FREERIDE (Framework for Rapid Implementation of Datamining Engines)

High-level specification of a parallel data mining algorithm Flexibly exploit different forms of parallelism

GATES (Grid-based Adaptive Execution on Streams) OGSA based Support for processing distributed streams in a grid

environment Self Adaptation to meet real-time constraints

XML-based high-level abstractions of datasets XQuery/XPath for application development Use of compiler techniques for program transformation and

efficiency

Page 30: High-level Interfaces and Abstractions for Grid-based Data Mining

TEXT

….

NetCDF

RMDB

HDF5

XML

XQuery

???

Project Overview

Page 31: High-level Interfaces and Abstractions for Grid-based Data Mining

Our goals Support datasets of different formats - HDF5 - Netcdf - Chunked multi-dimensional datasets Ease of programming - provide high level abstraction of datasets - physical details are hidden from application developers - Use XQuery/XPath for application development

Compiler optimizations for performance - physical details are exposed to compiler - optimizations at both high level and low level Published in ICS 2003, LCPC 2003, DBPL 2003, prior

compiler work in ICS 2002, PACT 2001, ICS 2000 ….

Page 32: High-level Interfaces and Abstractions for Grid-based Data Mining

External Schema

XQuery/XPath

Compiler

XML Mapping Service

System Architecture

logical XML schema physical XML schema

C++/C

Page 33: High-level Interfaces and Abstractions for Grid-based Data Mining

Summary

Developing data mining applications for a grid environment is hard

Need independence from architectures and data formats

Need high performance System software tools are needed

Flexibly exploiting parallelism High-level abstractions on datasets Self-adaptation

Data stream processing is going to be an important problem for grids

Distributed streams and/or distributed processing