GridGain - Grid Computing Made Simple

21
GridGain – Java Grid Computing Made Simple Nikita Ivanov www.gridgain.org

description

GridGain is a Java-based open source grid computing infrastructure. GridGain is free and is dual licensed under LGPL and Apache 2.0 licenses. It is built in Java and for Java and embodies the best the modern Java 5 programming model has to offer.

Transcript of GridGain - Grid Computing Made Simple

Page 1: GridGain - Grid Computing Made Simple

GridGain – Java Grid Computing Made Simple

Nikita Ivanovwww.gridgain.org

Page 2: GridGain - Grid Computing Made Simple

Agenda

• GridGain• What is Grid Computing and why?• What is GridGain?• Key Concepts

• Demos• Grid Application in 15 Minutes

GridGain – Java Grid Computing With AOP

Slide 2

Page 3: GridGain - Grid Computing Made Simple

Slide 3

What is Grid Computing?

•Compute Grids•Parallelize logic execution

•Data Grids•Parallelize data storage

•Grid Computing = Compute Grids + Data Grids

•a.k.a. Data Partitioning + Affinity Map/Reduce

GridGain – Java Grid Computing With AOP

Page 4: GridGain - Grid Computing Made Simple

Slide 4

Why Grid Computing?

•Ask Google, Yahoo, eBay, Amazon•Solves problems often unsolvable otherwise

•Google has ~1,000,000 nodes in its grid

•Uniformed programming paradigm •Scales from garage to Google

GridGain – Java Grid Computing Made Simple

Page 5: GridGain - Grid Computing Made Simple

What is GridGain?

• Grid computing framework• Compute + Data = Grid Computing

• Innovative MapReduce • Integration with leading Data Grids

• Ground-breaking simplicity• Java centric

• Built in Java and for Java• Open source

• LGPL/Apache license

GridGain – Java Grid Computing Made Simple

Slide 5

Page 6: GridGain - Grid Computing Made Simple

Professional Open Source

• GridGain - Professional Open Source• Open source => Free

• Software • Community support• Source code• No gimmicks, no attributions, no strings attached

• Plus commercial enterprise-level support and services

• Indemnification• Custom SLAs• On-demand patches• Advanced management & monitoring

• Like JBoss, Spring Source, Mule Source…GridGain – Java Grid Computing Made

SimpleSlide 6

Page 7: GridGain - Grid Computing Made Simple

Key Concepts

• MapReduce• Zero Deployment• On Demand Scalability• Fault Tolerance• Blend-In Integration• Transparent Grid Enabling• Data Grids Integration• JMX-based Monitoring

Slide 7GridGain – Java Grid Computing Made Simple

Page 8: GridGain - Grid Computing Made Simple

MapReduce

Slide 8

1. Task execution request

2. Task splits into jobs3. Result of job execution4. Aggregation of job

results

GridGain – Java Grid Computing Made Simple

Page 9: GridGain - 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 9GridGain – Java Grid Computing Made Simple

Page 10: GridGain - Grid Computing Made Simple

On Demand Scalability

• Early and late load balancing:• Optimal scalability for non-deterministic

execution on the grid

• Load Balancing SPI• Early load balancing

• Collision (scheduling) SPI• Late load balancing

=> Most comprehensive scalability support

Slide 10GridGain – Java Grid Computing Made Simple

Page 11: GridGain - Grid Computing Made Simple

On Demand Scalability, cont.

Slide 11GridGain – Java Grid Computing Made Simple

Page 12: GridGain - Grid Computing Made Simple

Fault Tolerance

• Customizable failover resolution• Automatic failover• Fail-fast, fail-slow implementation

• Failure – is result too• Redundant jobs• Asynchronous results processing

• Policy-based continuation

• Checkpoints for long-running tasks• “Smart” restart in case of failover

Slide 12GridGain – Java Grid Computing Made Simple

Page 13: GridGain - 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• Marshalling• OnDemand

GridGain – Java Grid Computing Made Simple

Page 14: GridGain - Grid Computing Made Simple

Blend-In Integration, cont.

Application Servers• JBoss AS• BEA Weblogic• IBM Websphere• Glassfish• TomcatData Grids• JBoss Cache• Coherence• GigaSpacesAOP• JBoss AOP• Spring AOP• AspectJ

Messaging Middleware• Mule• JMS

• ActiveMQ• SunMQ

• Jgroups• Email• TCP, IP-MulticastOthers• Spring• Junit• JXInsight

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

Slide 14GridGain – Java Grid Computing Made Simple

Page 15: GridGain - Grid Computing Made Simple

Transparent Grid Enabling01 class BizLogic {02   @Gridify(…) 03   public static Result process(String param) {04     ...05   }06 }07 08 class Caller {09   public static void Main(String[] args) {10     GridFactory.start();11 12     try {13       BizLogic.process(args[0]);14     }15     finally {16       GridFactory.stop();17     }18   }19 }

Slide 15

Execution of process() method will be performed on the grid

GridGain – Java Grid Computing Made Simple

Page 16: GridGain - Grid Computing Made Simple

Data Grids Integration

• Compute + Data = Grid Computing• Out-of-the-box support:

• JBoss Cache, Oracle Coherence

• 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

Page 17: GridGain - Grid Computing Made Simple

Data Grid Integration, cont.

Slide 17GridGain – Java Grid Computing Made Simple

Page 18: GridGain - Grid Computing Made Simple

JMX-Based Monitoring

• Full JMX instrumentation• Every SPI• Kernal

• Flexible access• Programmatic via JMX API• From GUI JMX console

• Jboss Management• Hyperic• JConsole

Slide 18GridGain – Java Grid Computing Made Simple

Page 19: GridGain - Grid Computing Made Simple

Roadmap

• GridGain 1.5.0 out July 27th, 2007• GridGain 2.0.0 out on February 12th, 2008

• GridGain 2.0.1 out on March 7th, 2008• GridGain 2.0.2 out on April 4th, 2008• GridGain 2.5 – Q308

• Mobile Grid Computing: Google Android• Utility or on-demand computing: Amazon EC2• Web 2.0 Grid Computing: REST + JSON• Enhanced Management and Monitoring

Slide 19GridGain – Java Grid Computing Made Simple

Page 20: GridGain - Grid Computing Made Simple

Demos

• Java 5/Eclipse 3.2/Windows XP• GridGain 2.0

GridGain – Java Grid Computing Made Simple

Slide 20

Page 21: GridGain - Grid Computing Made Simple

Q & A

Slide 21

Thanks for your time!

Nikita Ivanov: [email protected]: www.gridgain.org

GridGain – Java Grid Computing Made Simple