The document discusses caching and new features in Ehcache 2 and Hibernate caching. It describes reasons for caching like offloading resources, improving performance, and enabling scalability. It discusses how caching works by leveraging principles of locality of reference and Pareto distributions. It also covers challenges like data size, staleness, and maintaining coherency in a clustered environment.
Dimemas and Multi-Level Cache SimulationsMário Almeida
This report describes the simulation and benchmarking steps taken in order to predict the parallel performance of an application using Dimemas and Cache-level simulations. Using Dimemas [3] the time
behaviour of NAS [1] integer sort was simulated for the architecture of the Barcelona Super Computer, MareNostrum [4]. The performance was evaluated as a function of the architecture latency, bandwidth,
connectivity and CPU speed. For Cache-Level Simulations, Intel's pin tool was used to benchmark a simple parallel application in function of the cache and cluster sizes.
Dimemas and Multi-Level Cache SimulationsMário Almeida
This report describes the simulation and benchmarking steps taken in order to predict the parallel performance of an application using Dimemas and Cache-level simulations. Using Dimemas [3] the time
behaviour of NAS [1] integer sort was simulated for the architecture of the Barcelona Super Computer, MareNostrum [4]. The performance was evaluated as a function of the architecture latency, bandwidth,
connectivity and CPU speed. For Cache-Level Simulations, Intel's pin tool was used to benchmark a simple parallel application in function of the cache and cluster sizes.
Tungsten University: Setup and Operate Tungsten ReplicatorsContinuent
Do you have the background necessary to take full advantage of Tungsten Replicator in your environments? Tungsten offers enterprise-quality replication features in an open source package hosted on Google Code. This virtual course teaches you how to set up innovative topologies that solve complex replication problems. We start with single MySQL servers running MySQL replication and show a simple path migration path to Tungsten.
Course Topics
- Checking host and MySQL prerequisites
- Downloading code from http://code.google.com/p/tungsten-replicator/
- Installation using the tungsten-installer utility
- Transaction filtering using standard filters as well as customized filters you write yourself
- Enabling and managing parallel replication
- Configuring multi-master and fan-in using multiple replication services
- Backup and restore integration
- Troubleshooting replication problems
- Logging bugs and participating in the Tungsten Replicator community
Replication is a powerful technology that takes knowledge and planning to use effectively. We give you the background that makes replication easier to set up, and allows you to take full advantage of the Tungsten Replicator benefits. Learn how to configure and use it more effectively for your projects in the cloud as well as on-premises hardware.
In this deck from ATPESC 2019, Jack Dongarra from UT Knoxville presents: Adaptive Linear Solvers and Eigensolvers.
"Success in large-scale scientific computations often depends on algorithm design. Even the fastest machine may prove to be inadequate if insufficient attention is paid to the way in which the computation is organized. We have used several problems from computational physics to illustrate the importance of good algorithms, and we offer some very general principles for designing algorithms. Two subthemes are, first, the strong connection between the algorithm and the architecture of the target machine; and second, the importance of non-numerical methods in scientific computations."
Watch the video: https://wp.me/p3RLHQ-lq3
Learn more: https://extremecomputingtraining.anl.gov/archive/atpesc-2019/agenda-2019/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Agenda:
Red Hat JBoss and SAP Collaboration
Red Hat JBoss - Overview
SAP Netweaver Gateway
SAP PartnerEdge program for Application Development
Call to Action
Q&A
Predicting Defects in SAP Java Code: An Experience Reporttilman.holschuh
Which components of a large software system are the
most defect-prone? In a study on a large SAP Java system,
we evaluated and compared a number of defect predictors,
based on code features such as complexity metrics, static
error detectors, change frequency, or component imports,
thus replicating a number of earlier case studies in an industrial
context. We found the overall predictive power to
be lower than expected; still, the resulting regression models
successfully predicted 50–60% of the 20% most defectprone
components.
Tungsten University: Setup and Operate Tungsten ReplicatorsContinuent
Do you have the background necessary to take full advantage of Tungsten Replicator in your environments? Tungsten offers enterprise-quality replication features in an open source package hosted on Google Code. This virtual course teaches you how to set up innovative topologies that solve complex replication problems. We start with single MySQL servers running MySQL replication and show a simple path migration path to Tungsten.
Course Topics
- Checking host and MySQL prerequisites
- Downloading code from http://code.google.com/p/tungsten-replicator/
- Installation using the tungsten-installer utility
- Transaction filtering using standard filters as well as customized filters you write yourself
- Enabling and managing parallel replication
- Configuring multi-master and fan-in using multiple replication services
- Backup and restore integration
- Troubleshooting replication problems
- Logging bugs and participating in the Tungsten Replicator community
Replication is a powerful technology that takes knowledge and planning to use effectively. We give you the background that makes replication easier to set up, and allows you to take full advantage of the Tungsten Replicator benefits. Learn how to configure and use it more effectively for your projects in the cloud as well as on-premises hardware.
In this deck from ATPESC 2019, Jack Dongarra from UT Knoxville presents: Adaptive Linear Solvers and Eigensolvers.
"Success in large-scale scientific computations often depends on algorithm design. Even the fastest machine may prove to be inadequate if insufficient attention is paid to the way in which the computation is organized. We have used several problems from computational physics to illustrate the importance of good algorithms, and we offer some very general principles for designing algorithms. Two subthemes are, first, the strong connection between the algorithm and the architecture of the target machine; and second, the importance of non-numerical methods in scientific computations."
Watch the video: https://wp.me/p3RLHQ-lq3
Learn more: https://extremecomputingtraining.anl.gov/archive/atpesc-2019/agenda-2019/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Agenda:
Red Hat JBoss and SAP Collaboration
Red Hat JBoss - Overview
SAP Netweaver Gateway
SAP PartnerEdge program for Application Development
Call to Action
Q&A
Predicting Defects in SAP Java Code: An Experience Reporttilman.holschuh
Which components of a large software system are the
most defect-prone? In a study on a large SAP Java system,
we evaluated and compared a number of defect predictors,
based on code features such as complexity metrics, static
error detectors, change frequency, or component imports,
thus replicating a number of earlier case studies in an industrial
context. We found the overall predictive power to
be lower than expected; still, the resulting regression models
successfully predicted 50–60% of the 20% most defectprone
components.
SAP Integration with Red Hat JBoss Technologieshwilming
SAP ERP provides different approaches to integrate Java applications with business logic written in ABAP. With JBoss Fuse, the SOA Platform, and Data Services Platform, Red Hat offers flexible middleware solutions for service-oriented integration and orchestration. As a leading provider of integrated solutions and longtime Premier Partner, akquinet has a long history of projects integrating individual applications based on JBoss with standard ERP software such as SAP or Navision.
Based on various real world examples, we will show different ways to integrate SAP ABAP backends with JBoss Middleware. We will discuss the pros and cons of integrating Java EE applications using (a) the REST based approach with NetWeaver Gateway, (b) JBoss Data Services Platform with NetWeaver Gateway (c) SOAP based Web Services and (d) Remote Function Calls with the Java EE Connector Architecture (JCA) and the SAP Java Connector (JCo) library
Practical SAP pentesting workshop (NullCon Goa)ERPScan
All business processes are generally contained in ERP systems. Any information an attacker might want is stored in a company’s ERP. This information can include financial, customer or public relations, intellectual property, personally identifiable information and more. And SAP is the most popular business application vendor with more than 250000 customers worldwide.
The workshop conducted by Alexander Polyakov, CTO of ERPScan, at NullCon Goa Conference is a practical SAP pentesting guide.
Integrating SAP the Java EE Way - JBoss One Day talk 2012hwilming
Cuckoo is an open source Resource Adapter for SAP that is compatible to the Java Connector Architecture (JCA) version 1.5.
It enables developers of Java EE applications to call functions in a SAP backend, making use of Java EE features like Container Managed Transactions and Security.
Hibersap helps developers of Java applications to call business logic in SAP backends. It defines a set of Java annotations to map SAP function modules to Java classes as well as a small, clean API to execute these function modules and handle transaction and security aspects.
Hibersap's programming model is quite similar to those of modern O/R mappers, significantly speeding up the development of SAP interfaces and making it much more fun to write the integration code.
A presentation on how automatic memory management and adaptive compilation impact on latency of applications. Includes some ideas on how to minimise these affects.
Building High Scalability Apps With TerracottaDavid Reines
Senior Architect David Reines will present the simple yet powerful clustering capabilities of Terracotta. David will include a brief overview of the product, an in-depth discussion of Terracotta Distributed Shared Objects, and a live load test demonstrating the importance of a well designed clustered application.
David Reines is a Senior Consultant at Object Partners Inc. He has lead the development efforts of several mission-critical enterprise applications in the Twin Cities area. During this time, he has worked very closely with numerous commercial and open source JEE technologies. David has always favored a pragmatic approach to selecting enterprise application technologies and is currently focusing on building highly-concurrent distributed applications using Terracotta.
Intégration Hybris / SAP
SAP JAVA Connector
PLAN
Introduction
Solution d’intégration Asynchrone
Solution d’intégration Synchrone
SAP Java Connector
Abréviation : SAP JCO
L’objectif:
Définir UN middleware QUI assure la communication avec SAP.
Supporter l’implémentation des applications Desktop & Web.
Caractéristiques SAP JCO :
basé sur JNI - Java Native Interface- CE qui permet d’accéder à bibliothèque CPI-C (Common Programming Interface - Communications) .
EFFectue des apples à des function En mode inbound (Java client appel BAPI OU RFM) OU outbound (ABAP calls external Java Server).
SAP Jco est mutli-Platforms.
Architecture SAP JAVA CoNNECTOR
SAP JCO BAPI
Business Application Programming Interface : des interfaces de programmation normalisées qui permettent aux programmes externes d'avoir accès aux données et aux processus de gestion du système SAP.
SAP JCO JAR
Etablissement de connexion .
Execution des Functions.
accès Et La navigation dans les tables.
Mapping ENTRE ABAP et JAVa data types.
Programmation multithreading.
Gestion des exceptions.
Développement BAPI
Exemple BAPI Stock :
Paramètres BAPI INPUT
Tester BAPI Dans SAP
Télécharger et installer SAP GUI ( SAP logon) :
Tester BAPI Dans SAP
Configuration SAP GUI ( SAP logon) :
Tester BAPI Dans SAP
Connexion SAP GUI ( SAP logon) :
Tester BAPI Dans SAP
Tester BAPI Dans SAP
Tester BAPI Dans SAP
Configurer DESTINATION RFC
L’ajout des extensions SAP Comme DES dépendances de projet dans le fichier localextensions.xml.
Création ou modification de l’impex de création de la RFC destination : sap.impex
Développer BAPI Dans Hybris
Les étapes à suivre :
Récupérer Une Connexion.
Récupérer La fonction BAPI.
Définir les paramètres d’import de la. Fonction BAPI.
Exécuter la fonction.
Récupérer les paramètres d’Export de la fonction.
Récupérer Stock
Conclusion
L’intégration entre SAP / Hybris S’impose Jour après Jour
; Personne N’est à l’abris de cette mutation.
L'intégration SAP / Hybris s’effectue Selon deux mode Synchrone à l’aide de SAP JAVA Connector et Asynchrone à l’aide de DataHUB.
SAP JAVA Connector se base Sur la Notion des BAPIs: des interfaces de programmation normalisées qui permettent aux programmes externes d'avoir accès aux données et aux processus de gestion du système SAP.
SAP LOGON GUI Permet de Tester les BAPI DANS SAP.
Pour plus de détails sur hybris-SAP Solution Integration , Rendez-vous sur : https://wiki.hybris.com/display/release5/Getting+Started+with+hybris-SAP+Solution+Integration
MERCI Pour Votre Attention
Terracotta is a high performance open source Java clustering technology which includes native support via plug-ins to seamlessly integrate with applications based on Hibernate, EHCache, Spring and more. In this session, learn how to integrate Terracotta into your Hibernate application in just a few simple steps. Then visualize your application in real-time and tune it's performance using the Terracotta developer console, a sophisticated runtime visualization, profiling and debugging tool included with the core Terracotta kit.
Information Flow on the Intranet at Region Västra GötalandKristian Norling
Presentation made at Search Solutions 2011, 16th of november in London.
At Region Västra Götaland the goal to give the right person, the right information at the right time, place and context on the intranet, led to a holistic view of information flow including the life cycle of information. Even though the search platform plays a very important part of the information flow, it exists in an ecosystem of systems supporting the intranet. Kristian will talk about how that ecosystem works in practice and show some examples.
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)BIOVIA
Pipeline Pilot has wrangled large volumes of scientific data for many years. The emergence of "Big Data" challenges in other fields has brought many new tools and techniques to the table. This session will demonstrate various approaches to handling big data in Pipeline Pilot and show now Pipeline Pilot can integrate with "NoSQL" data stores such as Apache Cassandra and MongoDB. The second half of this session will be focus on audience participation and open discussion around big data tools and techniques to help inform our community and our future product road map.
We present Spark Serving, a new spark computing mode that enables users to deploy any Spark computation as a sub-millisecond latency web service backed by any Spark Cluster. Attendees will explore the architecture of Spark Serving and discover how to deploy services on a variety of cluster types like Azure Databricks, Kubernetes, and Spark Standalone. We will also demonstrate its simple yet powerful API for RESTful SparkSQL, SparkML, and Deep Network deployment with the same API as batch and streaming workloads. In addition, we will explore the "dual architecture": HTTP on Spark. This architecture converts any spark cluster into a distributed web client with the familiar and pipelinable SparkML API. These two contributions provide the fundamental spark communication primitives to integrate and deploy any computation framework into the Spark Ecosystem. We will explore how Microsoft has used this work to leverage Spark as a fault-tolerant microservice orchestration engine in addition to an ETL and ML platform. And will walk through two examples drawn from Microsoft's ongoing work on Cognitive Service composition, and unsupervised object detection for Snow Leopard recognition.
Introducing Exactly Once Semantics To Apache KafkaApurva Mehta
Here are slides from my talk on introducing exactly once semantics to Apache Kafka. The talk was given at the Kafka Summit NYC, 8 May 2017.
The slides dive into the design of transactions in Apache Kafka.
Similar to The new ehcache 2.0 and hibernate spi (20)
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
The new ehcache 2.0 and hibernate spi
1. Caching, and what’s new in Ehcache
2 and Hibernate Caching Provider
Thursday, 17 June 2010
2. Why Cache?
Reasons to cache:
Offload - reducing the amount of resources consumed and hence cost
Performance - increasing the speed of processing
Scale out - distributed caching is a leading scale-out architecture
www.terracotta.org 2
Thursday, 17 June 2010
3. Truncating the request-response Loop
load balancer
load balancer
HTTPD HTTPD HTTPD
Application Application
server server
ehcache ehcache
Terracotta ... Terracotta
Terracotta
Server ... Terracotta
Server MySQL
Server Database
stripe 1 Server
stripe n
stripe 1 stripe n
www.terracotta.org 3
Thursday, 17 June 2010
4. Truncating the request-response Loop
load balancer
load balancer
HTTPD HTTPD HTTPD
Application Application
server server
ehcache ehcache
Terracotta ... Terracotta
Terracotta
Server ... Terracotta
Server MySQL
Server Database
stripe 1 Server
stripe n
stripe 1 stripe n
www.terracotta.org 3
Thursday, 17 June 2010
5. Truncating the request-response Loop
load balancer
load balancer
HTTPD HTTPD HTTPD
Application Application
server server
ehcache ehcache
Terracotta ... Terracotta
Terracotta
Server ... Terracotta
Server MySQL
Server Database
stripe 1 Server
stripe n
stripe 1 stripe n
www.terracotta.org 3
Thursday, 17 June 2010
6. Truncating the request-response Loop
load balancer
load balancer
HTTPD HTTPD HTTPD
Application Application
server server
ehcache ehcache
Terracotta ... Terracotta
Terracotta
Server ... Terracotta
Server MySQL
Server Database
stripe 1 Server
stripe n
stripe 1 stripe n
www.terracotta.org 3
Thursday, 17 June 2010
7. Truncating the request-response Loop
load balancer
load balancer
HTTPD HTTPD HTTPD
Application Application
server server
ehcache ehcache
Terracotta ... Terracotta
Terracotta
Server ... Terracotta
Server MySQL
Server Database
stripe 1 Server
stripe n
stripe 1 stripe n
www.terracotta.org 3
Thursday, 17 June 2010
8. Amdahl’s Law
Amdahl's law, after Gene Amdahl, is used to find the system speed up
from a speed up in part of the system.
1 / ((1 - Proportion Sped Up) + Proportion Sped Up / Speed up)
To apply Amdahl’s law you must measure the components of system
time and the before and after affect of the perf change made.
It is thus an empirical approach.
Not recommended is the other approach “When all you have is a hammer
every problem looks like a nail”. Lots of times it is something completely
new. However very few developers will take the time to make careful
measurements.
www.terracotta.org 4
Thursday, 17 June 2010
9. Cache Efficiency
cache efficiency = cache hits / total hits
➡ High efficiency = high offload
➡ High efficiency = high performance
www.terracotta.org 5
Thursday, 17 June 2010
10. Why does caching work?
Locality of Reference
Pareto Distributions
www.terracotta.org 6
Thursday, 17 June 2010
11. Locality of Reference
Many computer systems exhibit the phenomenon of locality of reference.
Data that is near other data or has just been used is more likely to be
used again.
Temporal locality - refers to the reuse of specific data and/or resources
within relatively small time durations.
Spatial locality - refers to the use of data elements within relatively close
storage locations
e.g. this is the reason for hierarchical memory design in computers
www.terracotta.org 7
Thursday, 17 June 2010
12. Pareto Distributions
Chris Anderson, of Wired Magazine, coined the term The Long Tail to
refer to Ecommerce systems.
The mathematical term is a Pareto Distribution aka Power Law
Distribution.
www.terracotta.org 8
Thursday, 17 June 2010
13. Another Problem...
But...
What if the data set is too large to fit in the cache?
What about staleness of data
www.terracotta.org 9
Thursday, 17 June 2010
14. Coherency with SOR
classically solved with an automatic expiry. Ehcache has both TTL and
TTI.
Better:
Eternal caching plus a cache invalidation protocol
Write-through or behind caches. The SOR gets updated in-line with the
cache. Hibernate read-write and transactional strategies are examples.
Also Ehcache CacheWriter
www.terracotta.org 10
Thursday, 17 June 2010
15. Why run a cluster?
Availability, most often n+1 redundancy
Scale out
But this creates a new cascade of problems:
• N * problem
• Cluster coherency problem
• CAP theorem limits
www.terracotta.org 11
Thursday, 17 June 2010
16. N * Problem
On a single node work is done once and then cached. Cache hits offload.
But in a cluster the work must be done N times, where N is the number of
nodes
The solution to the N * times problem is a replicated or distributed cache
replicated cache - the data is copied to each node. All data is held in
each node
distributed cache - the most used data is held in a node. The balance of
the data is held outside the application node
www.terracotta.org 12
Thursday, 17 June 2010
17. Cluster Coherency Problem
Each cache makes independent cache changes. The caches become
different
Solved partly by a replicated or distributed cache
But, without locking, race conditions will cause incoherencies
Solution is a coherent, distributed or replicated cache
www.terracotta.org 13
Thursday, 17 June 2010
18. CAP Theorem PACELC
The CAP theorem, also known as Brewer's theorem, states that it is
impossible for a distributed computer system to simultaneously provide
all three of the following guarantees: consistency, availability and
tolerance to partition.
A better explanation of the tradeoffs is PACELC: if there is a partition (P)
how does the system tradeoff between availability and consistency (A
and C); else (E) when the system is running as normal in the absence of
partitions, how does the system tradeoff between latency (L) and
consistency (C)?
There is no right answer, but the properties to be traded off will be
different for different applications. So the solution must be configurable.
1. http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html
www.terracotta.org 14
Thursday, 17 June 2010
19. About Ehcache
The world's most widely used Java cache
Founded in 2003
Apache 2.0 License
Integrated by lots of projects, products
Hibernate Provider implemented 2003
Web Caching 2004
Distributed Caching 2006
Greg Luck becomes co-spec lead of JSR107
JCACHE (JSR107) implementation 2007
REST and SOAP APIs 2008
SourceForge Project of the Month March 2009
Acquired by Terracotta 2009; Integrated with Terracotta Server
Ehcache 2.0 March 2010
Forrester Wave “Leader” May 2010
www.terracotta.org 15
Thursday, 17 June 2010
25. Ehcache 2 - New Features
Hibernate 3.3+ Caching SPI
Old SPI was heavily synchronized and not well suited to
clusters
New SPI uses CacheRegionFactory
Fully cluster safe with Terracotta Server Array
Unification of the Ehcache and Terracotta 3.2 providers
JTA i.e. transactional caching strategy
JTA
Cache as an XAResource
Detects most common Transaction Managers
Others configurable
Works with Spring, EJB and manual transactions
www.terracotta.org 21
Thursday, 17 June 2010
26. Ehcache 2 - New Features
Write-behind
Offloads Databases with high write workloads
CacheWriter Interface to implement
cache.putWithWriter(...) and cache.removeWithWriter(...)
Write-through and Write-behind modes
Batching, coalescing and very configurable
Standalone with in-memory write-behind queue.
TSA with HA, durability and distributed workload balancing
Bulk Loading
incoherent mode for startup or periodic cache loading
10 x faster
No change to the API (put, load etc).
SetCoherent(), isCoherent(), waitForCoherent()
www.terracotta.org 22
Thursday, 17 June 2010
27. Ehcache 2 - New Features ...cont.
New CAP configurability – per cache basis
coherent – run coherent or incoherent (faster)
synchronousWrites – true for ha, false is faster
copyOnRead – true to stop interactions between threads outside
of the cache
Cluster events – notification of partition and reconnection
NonStopCache - decorated cache favouring availability
UnlockedReadsView - decorated cache favouring speed
Management
Dynamic Configuration of common cache configs from JMX and
DevConsole
New web-based Monitoring with UI and API
www.terracotta.org 23
Thursday, 17 June 2010
28. Ehcache 2.0 Monitoring Options
JMX
• is built in to Ehcache but...
• JMX needs use portmap
• Slow
• Machines may be headless
Terracotta Dev Console (if using Terracotta)
Ehcache Console, new in 2.1
www.terracotta.org 24
Thursday, 17 June 2010
29. Including Web Services
Simple + Performant + Coherent + HA + Scaleable
Application
Ehcache Terracotta Terracotta
Server Server
Application
Ehcache Terracotta Terracotta
Server Server
Application
Ehcache Terracotta
Terracotta Server
Server
PHP App
C App
Web Container
REST/
Ehcache
C# App HTTP
Server
Ruby App
www.terracotta.org 25
Thursday, 17 June 2010
30. Terracotta Developer Console
Cache hit ratios
Hit/miss rates
Hits on the database
Cache puts
Detailed efficiency of cache
regions
Dramatically simplifies tuning
and operations, and shows the
database offload.
www.terracotta.org 26
Thursday, 17 June 2010
31. Ehcache Console
Web based
Configuration
Efficiency
Memory Use
Comes with supported versions
API to connect Operations
Monitoring
www.terracotta.org 27
Thursday, 17 June 2010
42. REST Performance
Ehcache Server Memcache
4000
3000
2000
1000
0
Get Multi-Get Put Remove
Source: MemcacheBench with Java clients. Time for 10,000 operations
www.terracotta.org 38
Thursday, 17 June 2010
43. Ehcache with Terracotta vs the Rest
Application
Tests done with Owners = 25K and 125K which translates
to total objects of 0.3 M and 1.5 M
Minimal tuning.
Cluster Configuration:
8 Client JVMs (1.75G Heap)
1 (+0) Terracotta Servers (6G Heap)
MySql: sales18.
www.terracotta.org 39
Thursday, 17 June 2010
44. Ehcache with Terracotta vs the Rest
Ehcache
Replicated with RMI not included because not coherent
Single TSA Server
15 threads and some with 100 threads
IMDG
15 threads
Cache deployed in Partitioned Mode
Tests were also done with Replicated – which did well for
small cache sizes but failed to complete with larger cache
sizes. So, it is not included.
memcached
15 threads
1 server
www.terracotta.org 40
Thursday, 17 June 2010
45. Hibernate - Read Only TPS
www.terracotta.org 41
Thursday, 17 June 2010
49. Test Source
The code behind the benchmarks is in the
Terracotta Community SVN repository.
Download https://svn.terracotta.org/repo/forge/
projects/ehcacheperf/
(Terracotta Community Login Required)
www.terracotta.org 45
Thursday, 17 June 2010
50. Performance Conclusions
With Hibernate, Using Spring Pet Clinic
After app servers and DBs tuned by
independent 3rd parties
30-95% database load reduction
80 times read-only performance of MySQL
Notably lower latency
1.5 ms versus 120 ms for database (25k)
www.terracotta.org 46
Thursday, 17 June 2010
51. What about NoSQL?
Ehcache + Terracotta configured with persistence gives you a NoSQL
store with limited features i.e. no search
TerraStore - new open source project from Sergio Bossa is a document
oriented NoSQL store based on Terracotta and ful
www.terracotta.org 47
Thursday, 17 June 2010