SlideShare a Scribd company logo
MapReduce In The Cloud Infinispan Distributed Task Execution Framework
MapReduce In The Cloud
          Infinispan Distributed Task Execution Framework




Manik Surtani
May 3rd 2011, JUDCon - Boston
Welcome to the Data Deluge
Background

• Emergence of data beyond human scale
• Outgrows current platforms in scale, structure, processing time
• Abundance of unstructured, machine generated data
• Does not fit into current software paradigms
• Not confined to Twitter, Facebook and Google only
• Need new platforms built for Big Data from ground up
Big Data

• How did Big Data happen?
• Exponential changes in storage, bandwidth and data
  creation
• Data exhaust
• Drowning in data and not knowing what to do with it
• Leverage, not discard Big Data
• We are not even aware of data revolution around us
Hard disk cost & capacity history
         1000000                                                                                     1000000

           100000                                                                                        100000

             10000
                                                                                                          10000
              1000
                                                                                                           1000
                100
                                                                                                            100
                  10

                   1                                                                                         10


                 0.1                                                                                          1
                    1980               1985               1990     1995   2000       2005         2010
                                                Cost per GB in US$               Capacity in MB

Source: http://en.wikipedia.org/wiki/History_of_hard_disk_drives
“There was 5 exabytes of
                information created between the
               dawn of civilization through 2003....




                                                                                                      Eric Schmidt, August 4th, 2010

Source: http://www.readwriteweb.com/archives/google_ceo_schmidt_people_arent_ready_for_the_tech.php
“There was 5 exabytes of
                information created between the
               dawn of civilization through 2003....

                                                                 ... that much information is
                                                                now created every two days”


                                                                                                      Eric Schmidt, August 4th, 2010

Source: http://www.readwriteweb.com/archives/google_ceo_schmidt_people_arent_ready_for_the_tech.php
Big Data challenges

• Powerful platforms available today, however...
• Need to be genius to build systems on top of them
• Equivalent to programming client/server apps in assembly
  language
• Is there a need for a new language?
• Confusion is as big as Big Data
• Simpler yet equally powerful solutions needed
“Infinispan without
MapReduce is like owning a
  Ferrari without a
Driving License”
           - Vladimir Blagojevic
Infinispan Big Data goals

• Why waste a Ferrari?
• Humble beginnings
• Simplicity without sacrificing power
• Capitalize on existing Infinispan infrastructure
• Reuse of current programming abstractions
• Two frameworks: distributed executors and MapReduce
Infinispan Distributed Execution
           Framework

• Leverage familiar ExecutorService, Callable abstractions
• Expand it to distributed, parallel computing paradigm
• Looks like a regular ExecutorService
• Feels like a regular ExecutorService
• The magic that goes on within Infinispan is completely
  transparent to users
• Nevertheless, users can experience it :-)
So simple it fits on one slide
public interface DistributedExecutorService extends ExecutorService {

      <T, K> Future<T> submit(Callable<T> task, K... input);

      <T> List<Future<T>> submitEverywhere(Callable<T> task);

      <T, K > List<Future<T>> submitEverywhere(Callable<T> task, K... input);
 }


 public interface DistributedCallable<K, V, T> extends Callable<T> {

     void setEnvironment(Cache<K, V> cache, Set<K> inputKeys);

}
However,behind the scenes..
Do not forget Gene Amdahl

                                                                   Speedup = 1/(p/n)+(1-p)


                                                              However, problems that increase the percentage of
                                                              parallel time with their size are more scalable than
                                                              problems with fixed percentage of parallel time




                                                                                                 p = parallel fraction
                                                                                                 n = number of processors

Source: https://computing.llnl.gov/tutorials/parallel_comp/
π approximation
Infinispan MapReduce

• We already have a data grid!
• Leverages Infinispan’s DIST mode
• Cache data is input for MapReduce tasks
• Task components: Mapper, Reducer, Collator
• MapReduceTask cohering them together
MapReduce model




Source: http://labs.google.com/papers/mapreduce.html
Mapper, Reducer, Collator
public interface Mapper<KIn, VIn, KOut, VOut> extends Serializable {

     void map(KIn key, VIn value, Collector<KOut, VOut> collector);

}


public interface Reducer<KOut, VOut> extends Serializable {

     VOut reduce(KOut reducedKey, Iterator<VOut> iter);

}

public interface Collator<KOut, VOut, R> {

     R collate(Map<KOut, VOut> reducedResults);

}
Roadmap

• Improve task execution container
• Failover, execution policies
• Make sure it scales to terabytes and petabytes
• Integration with Hibernate OGM
• Analytics and BI tools
• Do we need data analysis language?
Parting thoughts

• Data revolution is here, today!
• Profound socio-economic impact
• Do not sleep through it
• Infinispan as a platform for Big Data
• Join us in these exciting endeavours
Questions?
    http://www.infinispan.org
    http://blog.infinispan.org
http://www.twitter.com/infinispan
    #infinispan on FreeNode

         Rate this talk!
http://spkr8.com/t/7384

More Related Content

Similar to MapReduce In The Cloud Infinispan Distributed Task Execution Framework (20)

PDF
Hadoop.mapreduce
Michael Hepburn
 
PPTX
10c introduction
mapr-academy
 
PPTX
10c introduction
Inyoung Cho
 
PPTX
Galaxy of bits
Michal Zylinski
 
PDF
Distributed computing the Google way
Eduard Hildebrandt
 
PPTX
Internet of Everything
Cisco Services
 
PDF
Bassa presentation
Wathsala Vithanage
 
PDF
Voltaire - Reducing the Runtime of Collective Communications
Voltaire
 
PDF
MongoDB Hadoop and Humongous Data
MongoDB
 
PDF
Simulation Informatics
David Gleich
 
PDF
Bayesian Counters
DataWorks Summit
 
PDF
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
Inderjeet Singh
 
PDF
Lecture 7: Data-Intensive Computing for Text Analysis (Fall 2011)
Matthew Lease
 
PPTX
Cloud Programming Models: eScience, Big Data, etc.
Alexandru Iosup
 
PDF
5. thurs 230 315 simonetto - financial impact of analytics
Jon Hedlund
 
PPTX
Class 30: Sex, Religion, and Politics
David Evans
 
PDF
Virus Detection System
Antiy Labs
 
PPTX
Boston HUG - Cloudera presentation
reedshea
 
PPT
Introduction to Performance Testing Part 1
C.T.Co
 
PPTX
Kansas City Big Data: The Future Of Insights - Keynote: "Big Data Technologie...
kcitp
 
Hadoop.mapreduce
Michael Hepburn
 
10c introduction
mapr-academy
 
10c introduction
Inyoung Cho
 
Galaxy of bits
Michal Zylinski
 
Distributed computing the Google way
Eduard Hildebrandt
 
Internet of Everything
Cisco Services
 
Bassa presentation
Wathsala Vithanage
 
Voltaire - Reducing the Runtime of Collective Communications
Voltaire
 
MongoDB Hadoop and Humongous Data
MongoDB
 
Simulation Informatics
David Gleich
 
Bayesian Counters
DataWorks Summit
 
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
Inderjeet Singh
 
Lecture 7: Data-Intensive Computing for Text Analysis (Fall 2011)
Matthew Lease
 
Cloud Programming Models: eScience, Big Data, etc.
Alexandru Iosup
 
5. thurs 230 315 simonetto - financial impact of analytics
Jon Hedlund
 
Class 30: Sex, Religion, and Politics
David Evans
 
Virus Detection System
Antiy Labs
 
Boston HUG - Cloudera presentation
reedshea
 
Introduction to Performance Testing Part 1
C.T.Co
 
Kansas City Big Data: The Future Of Insights - Keynote: "Big Data Technologie...
kcitp
 

Recently uploaded (20)

PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Ad

MapReduce In The Cloud Infinispan Distributed Task Execution Framework

  • 2. MapReduce In The Cloud Infinispan Distributed Task Execution Framework Manik Surtani May 3rd 2011, JUDCon - Boston
  • 3. Welcome to the Data Deluge
  • 4. Background • Emergence of data beyond human scale • Outgrows current platforms in scale, structure, processing time • Abundance of unstructured, machine generated data • Does not fit into current software paradigms • Not confined to Twitter, Facebook and Google only • Need new platforms built for Big Data from ground up
  • 5. Big Data • How did Big Data happen? • Exponential changes in storage, bandwidth and data creation • Data exhaust • Drowning in data and not knowing what to do with it • Leverage, not discard Big Data • We are not even aware of data revolution around us
  • 6. Hard disk cost & capacity history 1000000 1000000 100000 100000 10000 10000 1000 1000 100 100 10 1 10 0.1 1 1980 1985 1990 1995 2000 2005 2010 Cost per GB in US$ Capacity in MB Source: http://en.wikipedia.org/wiki/History_of_hard_disk_drives
  • 7. “There was 5 exabytes of information created between the dawn of civilization through 2003.... Eric Schmidt, August 4th, 2010 Source: http://www.readwriteweb.com/archives/google_ceo_schmidt_people_arent_ready_for_the_tech.php
  • 8. “There was 5 exabytes of information created between the dawn of civilization through 2003.... ... that much information is now created every two days” Eric Schmidt, August 4th, 2010 Source: http://www.readwriteweb.com/archives/google_ceo_schmidt_people_arent_ready_for_the_tech.php
  • 9. Big Data challenges • Powerful platforms available today, however... • Need to be genius to build systems on top of them • Equivalent to programming client/server apps in assembly language • Is there a need for a new language? • Confusion is as big as Big Data • Simpler yet equally powerful solutions needed
  • 10. “Infinispan without MapReduce is like owning a Ferrari without a Driving License” - Vladimir Blagojevic
  • 11. Infinispan Big Data goals • Why waste a Ferrari? • Humble beginnings • Simplicity without sacrificing power • Capitalize on existing Infinispan infrastructure • Reuse of current programming abstractions • Two frameworks: distributed executors and MapReduce
  • 12. Infinispan Distributed Execution Framework • Leverage familiar ExecutorService, Callable abstractions • Expand it to distributed, parallel computing paradigm • Looks like a regular ExecutorService • Feels like a regular ExecutorService • The magic that goes on within Infinispan is completely transparent to users • Nevertheless, users can experience it :-)
  • 13. So simple it fits on one slide public interface DistributedExecutorService extends ExecutorService { <T, K> Future<T> submit(Callable<T> task, K... input); <T> List<Future<T>> submitEverywhere(Callable<T> task); <T, K > List<Future<T>> submitEverywhere(Callable<T> task, K... input); } public interface DistributedCallable<K, V, T> extends Callable<T> { void setEnvironment(Cache<K, V> cache, Set<K> inputKeys); }
  • 15. Do not forget Gene Amdahl Speedup = 1/(p/n)+(1-p) However, problems that increase the percentage of parallel time with their size are more scalable than problems with fixed percentage of parallel time p = parallel fraction n = number of processors Source: https://computing.llnl.gov/tutorials/parallel_comp/
  • 17. Infinispan MapReduce • We already have a data grid! • Leverages Infinispan’s DIST mode • Cache data is input for MapReduce tasks • Task components: Mapper, Reducer, Collator • MapReduceTask cohering them together
  • 19. Mapper, Reducer, Collator public interface Mapper<KIn, VIn, KOut, VOut> extends Serializable { void map(KIn key, VIn value, Collector<KOut, VOut> collector); } public interface Reducer<KOut, VOut> extends Serializable { VOut reduce(KOut reducedKey, Iterator<VOut> iter); } public interface Collator<KOut, VOut, R> { R collate(Map<KOut, VOut> reducedResults); }
  • 20. Roadmap • Improve task execution container • Failover, execution policies • Make sure it scales to terabytes and petabytes • Integration with Hibernate OGM • Analytics and BI tools • Do we need data analysis language?
  • 21. Parting thoughts • Data revolution is here, today! • Profound socio-economic impact • Do not sleep through it • Infinispan as a platform for Big Data • Join us in these exciting endeavours
  • 22. Questions? http://www.infinispan.org http://blog.infinispan.org http://www.twitter.com/infinispan #infinispan on FreeNode Rate this talk! http://spkr8.com/t/7384

Editor's Notes

  • #2: \n
  • #3: Why Vladimir can&amp;#x2019;t make it\n\n
  • #4: Not into surfing, although I believe this picture captures a feeling about the data deluge quite well.\n* Big and scary\n* Inevitable\n* Kinda interesting, challenging\n* And full of opportunity\n\n\n
  • #5: We are in the era of big data, data beyond human scale\nBeyond the scale of most simple systems\nCloud helps, with cheap, on-demand storage and processing\nAnd while social networks are a good example of this, it isn&amp;#x2019;t just tied to social networks. We see aspects of big data crop up everywhere.\n \n\n\n
  • #6: Even prior to cloud and cheap,on-demand storage/processing, the cost of traditional storage has been dropping so fast that you may as well store everything you find out. Just in case. Like GMail. :)\n\n
  • #7: Wikipedia sums this up well, on this exponential scale of how the price of storage has been dropping.\n
  • #8: \n
  • #9: And this quote by Eric Schmidt gives you an idea of the scale and volume of data we&amp;#x2019;re dealing with today.\n
  • #10: We have things that can deal with big data.\nWe have the tools, but they are non-trivial.\nHadoop, for example, is tough to set up, hard to maintain, use, etc.\nM/R: is that enough? Do we need a higher level language to express this? IMO, yes. But for now, this is what we have.\n
  • #11: \n
  • #12: Infinispan and big data\nwrapped around 2 separate but related APIs:\nDistributed Executors and Map/Reduce\n(Map/Reduce implemented over DistExec)\n
  • #13: Start with DistExec. This is a simplistic API, extending familiar JDK abstractions.\nIt encapsulates the use case of wanting to distribute workloads on the grid, potentially with some data affinity. \nLets take a look at the API.\n\n
  • #14: \n
  • #15: This allows you to parallelise tasks across the grid. Essentially it takes JDK7&amp;#x2019;s Fork/Join concepts and distributes it across multi-nodes.\n
  • #16: But this suffers from the same issues that Fork/Join suffers from - at some point it is just too expensive to break up tasks, distribute it, etc.\nSo care must always be taken when considering distributing task execution.\n
  • #17: Example: Pi approximation.\nThis is an old brute-force algorithm using random points on the circle. The more &amp;#x201C;tasks&amp;#x201D; that get kicked off, the more accurate our approximation.\n\nLook at Impl, try with 1 node and try with 6 nodes\n\n
  • #18: \n
  • #19: \n
  • #20: \n
  • #21: That was distexec. So that&amp;#x2019;s cool to some degree, lets now look at Map/Reduce.\nM/R based on Google&amp;#x2019;s paper, allows you to perform a task over a data set in parallel, and pull back &amp;#x201C;reduced&amp;#x201D; results.\nIn the case of Infinispan, data is DIST anyway. So your global data set is disjoint.\n\n
  • #22: Google&amp;#x2019;s Map/Reduce model, from Google&amp;#x2019;s paper\nInput -&gt; Mapped -&gt; Reduced -&gt; Collated.\n
  • #23: 3 interfaces in Infinispan&amp;#x2019;s map/reduce API\n\nExplain word-count demo\nDemo on 1 node\nDemo on 6 nodes\n
  • #24: \n
  • #25: \n
  • #26: * Currently in an experimental phase\n* We need to do failover - behaviour as cluster size changes\n* Test on very large volumes\n* OGM - could make use of this for distributed queries\n* Integration with analysis tools\n* Data language? LINQ?\n
  • #27: \n
  • #28: \n