Grid Computing With AOP – Fun, Simple and Productive

batterycopperInternet και Εφαρμογές Web

12 Νοε 2013 (πριν από 4 χρόνια και 1 μέρα)

109 εμφανίσεις

GridGain


Java Grid Computing
Made Simple

Nikita Ivanov

www.gridgain.org

Agenda


GridGain


What is Grid Computing and why?


What is GridGain and why?


Why Java and Open Source?


Key Concepts


Demos


Grid Application in 15 Minutes


Running JUnits on Grid

GridGain


Java Grid Computing Made Simple

Slide
2

Product. Business. People.

Slide
3

What is Grid Computing?


Compute Grids


Parallelize logic execution


Data Grids


Parallelize data storage


Grid Computing = Data Grids + Compute Grids


Data Partitioning + Affinity Map/Reduce


Product. Business. People.

Slide
4

Why Grid Computing?


Ask Google, Yahoo, eBay, Amazon


Solves problems often unsolvable otherwise


Google has almost 1,000,000 nodes in its grid


Uniformed programming paradigm that scales from garage to
Google


This code returns the same result on 1, 2 or 1,000 nodes


only faster, much faster…




@
Gridify
(
taskName

= "Optimizer")

public double
optimizePortfolio
(Portfolio p) {


...

}

What is GridGain?


Grid computing framework


Full
-
stack grid computing


Innovative Map/Reduce


Integration with leading Data Grids


Elegant simplicity


Think Spring, Hibernate vs. EJB2


Java centric


Built in Java and for Java


Open source


LGPL/Apache license

GridGain


Java Grid Computing Made Simple

Slide
5

Why GridGain?


Existing projects are:


Too complex to use


Globus, GridEngine anyone?


Too expensive to use


$M for DataSynapse, Platform, UD


Not Java
-
based or Java friendly


Alien to Java 5 and JEE

GridGain


Java Grid Computing Made Simple

Slide
6

Professional Open Source


GridGain
-

Professional Open Source


Open source


FREE software


FREE upgrades


FREE community support


FREE source code


No gimmicks


Commercial enterprise
-
level support and services


Indemnification


Custom SLAs


Guaranteed response time


Like JBoss, Spring Source, Mule Source…

GridGain


Java Grid Computing Made Simple

Slide
7

Key Concepts


MapReduce


Zero Deployment


On Demand Scalability


Blend
-
In Integration


Transparent Grid Enabling with AOP


Data Grids Integration

Slide
8

GridGain


Java Grid Computing Made Simple

MapReduce

Slide
9

1.
Task execution request

2.
Task splits into jobs

3.
Result of job execution

4.
Aggregation of job results

GridGain


Java Grid Computing Made Simple

MapReduce Example

Slide
10

GridGain


Java Grid Computing Made Simple

Zero Deployment


Peer
-
to
-
Peer On
-
Demand Class Loading technology


No Ant scripts to run


No JARs to copy or FTP


No nodes to restart


Develop in EXACTLY the same way as locally


Change
-
>Compile
-
>Run on the grid


Start many grid nodes in


Single JVM


debug grid apps locally (!)


Single computer


run grid on your workstation


Single biggest developers’ productivity boost




Slide
11

GridGain


Java Grid Computing Made Simple

On Demand Scalability

Slide
12

GridGain


Java Grid Computing Made Simple

Blend
-
In Integration


Checkpoints


Failover


Collision Resolution


Topology management


Load balancing


Deployment


Service Provider Interface (SPI)
-
based architecture


Plug in and customize almost any aspect of grid computing
framework


LEGO
-
like assembly of custom grid infrastructure


Grid computing framework aspect that are fully pluggable:


Slide
13


Communication


Discovery


Tracing


Startup


Event storage

GridGain


Java Grid Computing Made Simple

Blend
-
In Integration, cont.

Application Servers


JBoss AS


BEA Weblogic


IBM
Websphere


Glassfish


Tomcat

Data Grids


JBoss Cache


Coherence


GigaSpaces

AOP


JBoss AOP


Spring AOP


AspectJ


Messaging Middleware


Mule


JMS


ActiveMQ


SunMQ


Jgroups


Email


TCP, IP
-
Multicast

Others


Spring


Junit


JXInsight




“Out
-
of
-
the
-
box” integration with:

Slide
14

GridGain


Java Grid Computing Made Simple

Transparent Grid Enabling w/AOP


01

class

BizLogic

{

02

@
Gridify
(…)



灵扬pc

獴慴sc

剥獵ot

灲潣敳o⡓(r楮g

灡r慭
)

{



⸮.



}



}






捬c獳

䍡Cl敲

{



灵扬pc

獴慴sc

v潩o

M慩渨n瑲楮杛g

慲杳)

{



䝲楤䙡捴潲礮y瑡rt
⠩(

11


12

try

{

13

BizLogic.process
(args[0]);

14

}

15

finally

{

16

GridFactory.stop
();

17

}

18

}

19

}

Slide
15

GridGain


Java Grid Computing Made Simple

Data Grids Integration


Data + Compute Grids = Full stack grid
computing


Compute grids parallelize
processing logic


Data grids parallelize
data storage


Affinity Map/Reduce


ability to co
-
locate
processing logic and the data


Minimizes “noise” traffic


Optimal grid load and performance

GridGain


Java Grid Computing Made Simple

Slide
16

Data Grids Integration, cont.


GridGain full stack grid computing:


GridGain
+JBoss Cache


Full OPEN SOURCE grid computing platform


Native integration


GridGain
+Coherence Data Grid


Native integration


GridGain
+GigaSpaces Data Grid


One compute grid
-

many data grids


Freedom of choice




Slide
17

GridGain


Java Grid Computing Made Simple

Data Grid Integration, cont.

Slide
18

GridGain


Java Grid Computing Made Simple

Demos


Java 5/Eclipse 3.2/Windows XP


GridGain 2.0

GridGain


Java Grid Computing Made Simple

Slide
19

Q & A

Slide
20

Thanks for your time!


Nikita Ivanov:
nivanov@gridgain.com

GridGain:
www.gridgain.org



GridGain


Java Grid Computing Made Simple