What’s New in XAP 7.0 July 28, 2009 Shay Banon, System ArchitectUri Cohen, Product Manager
Agenda
XAP 7.0: End-to-End Solution on a Single PlatformGigaSpaces eXtreme Application Platform (XAP) 7.0An enterprise-grade application server for deploying and scaling Java and .NET applications under the most demanding and changing requirements.Session high availabilityDynamic scalingApplication containerIn Memory Data GridAsync. Persistency
The Secret Sauce = Space Based Architecture (SBA)A software architecture pattern for achieving linear scalability of stateful, high-performance applicationsInspired by JavaSpaces & Yale’s Tuple-Space Model Lessons learned from Next-Gen Internet servicesPartitions the application and packages all middleware functions into one lightweight scalable unitThe data grid is the foundation Linear Scalability
Typical Architecture – XAP 7.0  Dynamic LB Configuration Managed Jetty Web Containers, Http Session on top of the Space  Interact with BL and Data via Space API, events, remoting or task executorsBusiness Logic and Data on top of the Data Grid Partitioning and collocation for best performance and scalability Async. Persistency Proactive Administration
Agenda
Recent Releases 2007/20086.0/2007 – Streamline Space Based ArchitectureSingle model for design, development, testing and deploymentSimplicity – OpenSpaces framework.NET API 6.5/2008 – RobustnessNative C++ APIPlatform Interoperability (Java/.NET/C++)Performance, scalability and stability improvementsSVF – Service Virtualization Framework (remoting)6.6/2008 – Platform CompletenessWeb Application SupportTask Executors Fuller .Net SBA (.Net PUs, Event containers)Additional optimizations and improvements
Agenda
R7.0 ThemesEven Better Data Grid Performance and ScalabilityPerformance improvements and better memory utilizationDramatically faster read access for local caches and embedded clients Mulitcore scalability Improved Monitoring & Administration CapabilitiesMajor overhaul of the management GUIAll new GigaSpaces agent  component Comprehensive Groovy/Java administration & monitoring APIDeployment zonesImproved logging and troubleshooting capabilitiesSimplicity & UsabilitySimpler APIs - readByIdSimpler and standard packagingSimpler to configure in your IDEMap/Reduce Grid Task Execution API – now also in .Net
7.0 Performance & Footprint ImprovementsRestructuring of internal data structures (for better multi-core concurrency and lock-free read) Refactored eviction mechanism New local cache storage model Results: Significantly better concurrency in highly multithreaded environments (more details in next slides) And, significantly reduced memory footprint for indexed fields:XAP 6.6: 150-200 bytes per index fieldXAP 7.0: 20-30 bytes per index field
7.0 Performance Improvements
7.0 Performance Improvements
7.0 Performance Improvements
Management GUI Overhaul Accurately reflects the XAP runtime modelIncludes: Comprehensive monitoring of all layers: hosts, JVMs, processing units, web apps, spaces
Detailed information about the processing unit
Operate on all cluster layers:start and stop JVMs, deploy/undeploy PUs,relocate running instances, scale up/downThe GigaSpaces Agent New runtime component Think of it as the GigaSpaces daemon / service Agent can start, stop and restart other runtime components: GSM, GSC, LUS, CustomJust start the agent, the rest will be done for youDefine global/local number of GSMs, GSCs and LUSse.g. 4 global GSMs, 2 local (per machine) GSCs, 2 global LUSsFull control from the UI / Admin API
Administration & Monitoring API Comprehensive monitoring of all layersEvent based programming model Cluster wide statistics Groovy bindings Operate on all cluster layers – start and stop JVMs, deploy/undeploy processing units, relocate running instances, scale up/down
Administration & Monitoring API – Samples Start GSM and GSCs, deploy, wait for the space to start:
Administration & Monitoring API – Samples Monitor stats with Groovy closures:
Auto Scaling Your App Using the Admin API Calculating average request rate (Groovy):
Scaling up (Groovy):Task Execution API Grid Processing API
New in 7.0 - .Net Support
Data-aware task processing
Automatic space-side resource injection
Code mobility (Java only)
Synchronous or asynchronous execution
Cluster wide execution (Map/Reduce)
Dynamic Language Support
Java:
.Net: Case Study – Social Network Search Optimization Fetch N degrees of relationship
Case Study – Social Network Search Optimization MySql Solution: Pre-warming social network data in memory Single instance ~200 milliseconds to fetch 2 level (direct friends and friends of friends)

Whats New In GigaSpaces Xap 7.0

  • 1.
    What’s New inXAP 7.0 July 28, 2009 Shay Banon, System ArchitectUri Cohen, Product Manager
  • 2.
  • 3.
    XAP 7.0: End-to-EndSolution on a Single PlatformGigaSpaces eXtreme Application Platform (XAP) 7.0An enterprise-grade application server for deploying and scaling Java and .NET applications under the most demanding and changing requirements.Session high availabilityDynamic scalingApplication containerIn Memory Data GridAsync. Persistency
  • 4.
    The Secret Sauce= Space Based Architecture (SBA)A software architecture pattern for achieving linear scalability of stateful, high-performance applicationsInspired by JavaSpaces & Yale’s Tuple-Space Model Lessons learned from Next-Gen Internet servicesPartitions the application and packages all middleware functions into one lightweight scalable unitThe data grid is the foundation Linear Scalability
  • 5.
    Typical Architecture –XAP 7.0 Dynamic LB Configuration Managed Jetty Web Containers, Http Session on top of the Space Interact with BL and Data via Space API, events, remoting or task executorsBusiness Logic and Data on top of the Data Grid Partitioning and collocation for best performance and scalability Async. Persistency Proactive Administration
  • 6.
  • 7.
    Recent Releases 2007/20086.0/2007– Streamline Space Based ArchitectureSingle model for design, development, testing and deploymentSimplicity – OpenSpaces framework.NET API 6.5/2008 – RobustnessNative C++ APIPlatform Interoperability (Java/.NET/C++)Performance, scalability and stability improvementsSVF – Service Virtualization Framework (remoting)6.6/2008 – Platform CompletenessWeb Application SupportTask Executors Fuller .Net SBA (.Net PUs, Event containers)Additional optimizations and improvements
  • 8.
  • 9.
    R7.0 ThemesEven BetterData Grid Performance and ScalabilityPerformance improvements and better memory utilizationDramatically faster read access for local caches and embedded clients Mulitcore scalability Improved Monitoring & Administration CapabilitiesMajor overhaul of the management GUIAll new GigaSpaces agent component Comprehensive Groovy/Java administration & monitoring APIDeployment zonesImproved logging and troubleshooting capabilitiesSimplicity & UsabilitySimpler APIs - readByIdSimpler and standard packagingSimpler to configure in your IDEMap/Reduce Grid Task Execution API – now also in .Net
  • 10.
    7.0 Performance &Footprint ImprovementsRestructuring of internal data structures (for better multi-core concurrency and lock-free read) Refactored eviction mechanism New local cache storage model Results: Significantly better concurrency in highly multithreaded environments (more details in next slides) And, significantly reduced memory footprint for indexed fields:XAP 6.6: 150-200 bytes per index fieldXAP 7.0: 20-30 bytes per index field
  • 11.
  • 12.
  • 13.
  • 14.
    Management GUI OverhaulAccurately reflects the XAP runtime modelIncludes: Comprehensive monitoring of all layers: hosts, JVMs, processing units, web apps, spaces
  • 15.
    Detailed information aboutthe processing unit
  • 16.
    Operate on allcluster layers:start and stop JVMs, deploy/undeploy PUs,relocate running instances, scale up/downThe GigaSpaces Agent New runtime component Think of it as the GigaSpaces daemon / service Agent can start, stop and restart other runtime components: GSM, GSC, LUS, CustomJust start the agent, the rest will be done for youDefine global/local number of GSMs, GSCs and LUSse.g. 4 global GSMs, 2 local (per machine) GSCs, 2 global LUSsFull control from the UI / Admin API
  • 17.
    Administration & MonitoringAPI Comprehensive monitoring of all layersEvent based programming model Cluster wide statistics Groovy bindings Operate on all cluster layers – start and stop JVMs, deploy/undeploy processing units, relocate running instances, scale up/down
  • 18.
    Administration & MonitoringAPI – Samples Start GSM and GSCs, deploy, wait for the space to start:
  • 19.
    Administration & MonitoringAPI – Samples Monitor stats with Groovy closures:
  • 20.
    Auto Scaling YourApp Using the Admin API Calculating average request rate (Groovy):
  • 21.
    Scaling up (Groovy):TaskExecution API Grid Processing API
  • 22.
    New in 7.0- .Net Support
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
    .Net: Case Study– Social Network Search Optimization Fetch N degrees of relationship
  • 31.
    Case Study –Social Network Search Optimization MySql Solution: Pre-warming social network data in memory Single instance ~200 milliseconds to fetch 2 level (direct friends and friends of friends)
  • 32.
    Case Study –Social Network Search Optimization GigaSpaces Solution:
  • 33.
    Store network inspace, partitioned by userId
  • 34.
    Use Executors tofetch network
  • 35.
    > 1st degreeuses distributed broadcast task (async)
  • 36.
    2nd degree inunder 5 milliseconds, 3rd degree in under 10 millisecondsDeployment Zones Tag GSCs with Zones
  • 37.
    Can represent: DRPsites, racks, etc.
  • 38.
    Restrict deployment tospecific zones
  • 39.
    Enforce different zonesfor primary and backup of same partitionImproved Logging Based on customer feedback, extensibleTime based log file rollover policy Daily, weekly, monthly Log file naming: 2009-07-26~13.44-gigaspaces-gsc_1-uri01-5492.logImproved log message format:2009-07-26 14:02:57,375 processorPU.1 [1] INFO [org...PUServiceBeanImpl] - StoppedDate & timeComponentHostnamePIDDate & timePU InstanceLevelComponentMessage
  • 40.
    Simpler Packaging Nomore shared-libStandard .war structure Better class loader isolation Simpler to get started with:Reduced required jars All under same dir
  • 41.
  • 42.
    Future DirectionSecurity (7.0.1)Multi-datacenter support over WANOut-of-the-box SLAFurther improve manageability Enhanced Querying Capabilities Extend JEE supportEJB 3JPA
  • 43.
  • 44.
    Summary – XAP7.0 Value Proposition
  • 45.
    Try it Nowon the CloudAvailable on gigaspaces.com/demo