Standardize caching in Java. Introduction to JCache and In-Memory data grid solutions
|
|
- Tamsyn Avice Shaw
- 5 years ago
- Views:
Transcription
1 Standardize caching in Java Introduction to JCache and In-Memory data grid solutions
2 Agenda 1. What is caching? 2. JCache overview 3. Quick walk through providers 4. C2MON highlights
3 What is caching?
4 What is caching? Cache: A high-performance, low-latency datastructure in which an application places a temporary copy of information that is likely to be used more than once
5 Benefits of using cache Performance Scale up get the most out of one machine Scale out add more capacity with more machines Usually very fast and easy to apply
6 When to use caching When applications use the same data more than once When cost (time / resources) of making an initial copy is lower than fetching or producing the data again or when it isfaster to request from a Cache
7 Some general use cases
8 JCache overview
9 What is JCache? A common mechanism for performing CRUD operations from Caches Provides core caching concepts and API Provides application portability between various Caching solutions
10 JCache: Main features Read/Write Integration support Cache Event Listeners Type-safety - fully generic ConcurrentMap like API Statistics Store-By-Value/Store-By-Reference Annotations support Support for local and distributed caching Topology Agnostic - Topologies not defined or restricted by the specification
11 Store-By-Value and Store-By-Reference JSR-107 storing mechanisms: Store-By-Reference (optional) Object key =... Object value =... cache.put(key, value); assert cache.get(key) == value; assert cache.iterator().next().getkey() == key; Store-By-Value(default)
12 Cache Consistency Consistency refers to the behavior of caches and the guarantees that exist when concurrent cache mutation occur together with the visibility of the mutations when multiple threads are accessing a cache. An implementation may provide support for different consistency models in addition to the required Default Consistency model. Method boolean containskey(k key) V get(k key) V getandput(k key, V value) Iterator<Cache.Entry<K, V>> iterator() void put(k key, V value) boolean putifabsent(k key, V value) boolean remove(k key) <T> T invoke(k key, EntryProcessor<K, V, T> entryprocessor, Object... arguments); Default Consistency last value happen-before happen-before last value happen-before happen-before plus compare and swap happen-before plus compare and swap happen-before
13 Cache Topologies Embedded approach Client/Server approach
14 Cache Types replicated cache partitioned cache
15 JCache Core interfaces
16 JCache API
17 CacheManager Configures and manages named Caches caches may be created dynamically or predefined provides Cache infrastructure provides Cache scopes(for clusters) provides important for Store-By-Value Cache ClassLoaders Provides Cache lifecycle management
18 Cache A Cache is a Map-like data-structure that permits the temporary storage of Key-based Values, some what like java.util.map data-structure. A Cache is owned by a single CacheManager.
19 Entry An Entry is a single key-value pair stored by a Cache.
20 ExpiryPolicy Eternal Cache entries will never expire. Access Cache entries will expire if they have not been accessed within a configured time interval. Creation Cache entries will expire after a configured time interval from when they were added to the cache. Update Cache entries will expire if they have not been modified within a configured time interval.
21 JCache Runtime Structure
22 JCache API example if Cache already exists, or it s configured in XML: CachingProvider provider = Caching.getCachingProvider(); CacheManager manager = provider.getcachemanager(); Cache<Long, Person> personcache = manager.getcache( personcache, Long.class, Person.class); personcache.put(1l, new Person()); Person person = personcache.get(1l); if Cache doesn t exist and we want to configure it programmatically: CacheManager cachemanager = Caching.getCachingProvider().getCacheManager(); MutableConfiguration<Long, Person> config = new MutableConfiguration<>(); config.settypes(long.class, Person.class); config.setstorebyvalue(true); // value is serialized cachemanager.createcache("personcache", config);
23 Atomic Operations: EntryProcessor allows develop Lock-Free API eliminates round-trips in distributed systems Needs Serialization (if distributed) An invocable function that allows applications to perform compound operations on a Cache.Entry atomically, according the defined* consistency of a Cache. Any Cache.Entry mutations will not take effect until after the EntryProcessor.process(MutableEntry, Object...) method has completed execution. Implementations may execute EntryProcessor}s in situ, thus avoiding locking, round-trips and expensive network transfers. JCache specification
24 EntryProcessor usage example String name = Foo ; cache.invoke(k key, (entry, arguments) -> { V value = entry.getvalue(); value.setname(name); entry.setvalue(value); return null; }); public class CustomEntryProcessor implements EntryProcessor<K, V, T> public T process(mutableentry<string, Long> entry, Object... arguments) throws EntryProcessorException { V value = entry.getvalue(); value.setname(arguments[0]); entry.setvalue(value); return null; } } // Usage cache.invoke(k key, new CustomEntryProcessor(), T arguments);
25 Cache Annotations The JCache covers the most common @CacheRemoveAll
26 JCache annotations = personcache ) public class PersonRepository public void put(@cachekey Long Person person) public Person get(@cachekey Long id) { Person person = // get object from DB return person; public void invalidate(@cachekey Long id) {} public void invalidateall() {}
27 JCache supporting frameworks
28 Cache Providers with JCache Support Ehcache Hazelcast Ignite Coherence Infinispan
29 Ehcache Terracotta as one of the companies supporting actively JSR107 Full JSR107 support Flexible Scalable minimal dependencies Open Source Licensing - Apache 2.0 license
30 Hazelcast Full TCK Compliant implementation for: Embedded Members Very fast and highly scalable JCache Implementation Dead simple Near Cache support
31 Apache Ignite Near Cache support fully JCache TCK compliant Distributed Queries Apache 2 license
32 C2MON use case evaluation
33 Current implementation of C2MON Cache module Runs on Ehcache + Terracotta Ehcache dependent Cluster based on Terracotta(license required) Limited amount of clients Forced Store-By-Value very complex clustered locking system
34 Goals Support for JCache standard Fully Open Source Clusterable Support of junit tests Auto detections of nodes in the cluster Easier cluster-locking mechanism No limitations on cache clients eventual replacement for JMS messaging Nice to have: Continuous query
35 Summary + lesson learned JCache vs vendor specific features Which is my favoured cache? Best documentation, material, resources
36 Thank you!
37 References JCache specification Hazelcast documentation Ignite documentation Ehcache documentation stackoverflow
Oracle*Coherence*12.1.3*
Oracle*Coherence*12.1.3* Cloud&Applica,on&Founda,on& Dave*Felcey* Product*Management* Oracle*Coherence* June,*2014* Copyright* *2014*Oracle*and/or*its*affiliates.*All*rights*reserved.** * Oracle*ConfidenHal*
More informationJava Caching API The Java Caching API is an API for interacting with caching systems from Java programs
Java Caching API The Java Caching API is an API for interacting with caching systems from Java programs Proposed Final Draft Specification JSR107 Expert Group Specification Leads: Greg Luck, Terracotta
More informationUsing the new javax.cache Caching Standard
Using the new javax.cache Caching Standard Greg Luck, CTO Terracotta Cameron Purdy, Founder Coherence and VP, Oracle JavaOne 2012 Session CON11546 Typical Bottlenecks 1 3 2 4 Types of Scaling Types of
More informationEhcache API Developer Guide. Version 10.1
Ehcache API Developer Guide Version 10.1 October 2017 This document applies to Terraco a DB and Terraco a Ehcache Version 10.1 and to all subsequent releases. Specifications contained herein are subject
More informationMotivation There are applications for which it is critical to establish certain availability, consistency, performance etc.
1 Motivation Motivation There are applications for which it is critical to establish certain availability, consistency, performance etc. Banking Web mail KOS, CourseWare (to some degree) Questions How
More information<Insert Picture Here>
Caching Schemes & Accessing Data Lesson 2 Objectives After completing this lesson, you should be able to: Describe the different caching schemes that Coherence
More informationPerformance, Scalability and High-availability of Enterprise Applications
Performance, Scalability and High-availability of Enterprise Applications Miroslav Blaško miroslav.blasko@fel.cvut.cz Winter Term 2017 Miroslav Blaško (miroslav.blasko@fel.cvut.cz)performance, Scalability
More informationCloud Programming on Java EE Platforms. mgr inż. Piotr Nowak
Cloud Programming on Java EE Platforms mgr inż. Piotr Nowak Distributed data caching environment Hadoop Apache Ignite "2 Cache what is cache? how it is used? "3 Cache - hardware buffer temporary storage
More information/** * Gimme Caching * The JCache Way */
/** * Gimme Caching * The JCache Way */ Disclaimer This presentation may include certain forward-looking statements and projections provided by the Company. Any such statements and projections reflect
More informationA memcached implementation in Java. Bela Ban JBoss 2340
A memcached implementation in Java Bela Ban JBoss 2340 AGENDA 2 > Introduction > memcached > memcached in Java > Improving memcached > Infinispan > Demo Introduction 3 > We want to store all of our data
More informationXTP, Scalability and Data Grids An Introduction to Coherence
XTP, Scalability and Data Grids An Introduction to Coherence Tom Stenström Principal Sales Consultant Oracle Presentation Overview The challenge of scalability The Data Grid What
More informationApache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source
Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source DMITRIY SETRAKYAN Founder, PPMC https://ignite.apache.org @apacheignite @dsetrakyan Agenda About In- Memory Computing Apache Ignite
More informationEnterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing
Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Jürgen Höller, Principal Engineer, SpringSource 2012 SpringSource, A division of VMware. All rights reserved Deployment Platforms: Becoming
More informationGemeinsam mehr erreichen.
Gemeinsam mehr erreichen. Bring the process to the cached data in Oracle Coherence September 2015 Agenda Currrent Situation Coherence in the CAF What is Coherence? Characteristics of Coherence Data Grid
More informationUsing MVCC for Clustered Databases
Using MVCC for Clustered Databases structure introduction, scope and terms life-cycle of a transaction in Postgres-R write scalability tests results and their analysis 2 focus: cluster high availability,
More informationIntroduction to Infinispan
Introduction to Infinispan Tomáš Sýkora JBoss Data Grid Quality Engineering Red Hat Contact: tsykora@redhat.com IRC: #infinispan on freenode November 21st 2014 1 Don't work so hard... Beer? Parties? Nah,
More informationThe new Ehcache and Hibernate Caching SPI Provider
The new Ehcache 2.0.0 and Hibernate Caching SPI Provider Presented by: Chris Dennis, Software Engineer, Terracotta Inc. May 12, 2010 Agenda Intro to Ehcache and Terracotta Ehcache and Ehcache + Terracotta
More informationWHO AM I.
WHO AM I Christoph Engelbert (@noctarius2k) 8+ years of professional Java development Specialized to performance, GC, traffic topics Apache DirectMemory PMC Previous companies incl. Ubisoft and HRS Official
More informationOracle Fusion Middleware
Oracle Fusion Middleware Developing Oracle Coherence Applications for Oracle WebLogic Server 12c (12.2.1.2.0) E77826-02 December 2016 Documentation for developers and architects that describes how to develop,
More informationAbout Terracotta Ehcache. Version 10.1
About Terracotta Ehcache Version 10.1 October 2017 This document applies to Terraco a Ehcache Version 10.1 and to all subsequent releases. Specifications contained herein are subject to change and these
More informationEasy Distributed Systems Using Hazelcast. Peter Veentjer
Easy Distributed Systems Using Hazelcast Peter Veentjer Whoami Working for Hazelcast Team Lead Quality & Performance Author of Mastering Hazelcast 3' 14 years Java experience Big love Concurrency control
More informationBoost Your Hibernate and Application Performance
Boost Your Hibernate and Application Performance Presented by: Greg Luck, Founder and CTO Ehcache March 3, 2010 Agenda Intro to Ehcache and Terracotta Code: Scaling Spring Pet Clinic With Hibernate With
More information<Insert Picture Here> Oracle Application Cache Solution: Coherence
Oracle Application Cache Solution: Coherence 黃開印 Kevin Huang Principal Sales Consultant Outline Oracle Data Grid Solution for Application Caching Use Cases Coherence Features Summary
More informationCoherence An Introduction. Shaun Smith Principal Product Manager
Coherence An Introduction Shaun Smith Principal Product Manager About Me Product Manager for Oracle TopLink Involved with object-relational and object-xml mapping technology for over 10 years. Co-Lead
More informationAchieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.
Achieving Scalability and High Availability for clustered Web Services using Apache Synapse Ruwan Linton [ruwan@apache.org] WSO2 Inc. Contents Introduction Apache Synapse Web services clustering Scalability/Availability
More informationPragmatic Clustering. Mike Cannon-Brookes CEO, Atlassian Software Systems
Pragmatic Clustering Mike Cannon-Brookes CEO, Atlassian Software Systems 1 Confluence Largest enterprise wiki in the world 2000 customers in 60 countries J2EE application, ~500k LOC Hibernate, Lucene,
More informationAdvanced HTTP session management with Oracle Coherence
Advanced HTTP session management with Oracle Coherence Michał Kuratczyk principal solution architect, Oracle Oracle Coherence distributed in memory key value NoSQL data grid for Java,.NET and C++ objects
More information1 Markus Eisele, Insurance - Strategic IT-Architecture
1 Agenda 1. What is JPA? 2. What is Coherence? 3. Why Coherence with JPA? 4. JOTG - JPA On The Grid 1. JPA Backed Caches 2. JPA 2nd Level Cache 3. JPA 2nd Level Cache with JPA Backed Cache 5. Summary 2
More informationSpring and Coherence Recipes
Spring and Coherence Recipes David Whitmarsh, Phil Wheeler December 4, 2013 Outline 1 IoC Frameworks 2 Problems with Spring and Coherence 3 ApplicationContexts 4 LifeCycle 5 Bean Definition and Injection
More informationWHITE PAPER. Caching Strategies. By Christoph Engelbert. Technical Evangelist Senior Solutions Architect Hazelcast
WHITE PAPER Caching Strategies By Christoph Engelbert Technical Evangelist Senior Solutions Architect WHITE PAPER Caching Strategies This document aims to describe different strategies for application
More informationTopLink Grid: Scaling JPA applications with Coherence
TopLink Grid: Scaling JPA applications with Coherence Shaun Smith Principal Product Manager shaun.smith@oracle.com Java Persistence: The Problem Space Customer id: int name: String
More informationBuilding a Scalable Architecture for Web Apps - Part I (Lessons Directi)
Intelligent People. Uncommon Ideas. Building a Scalable Architecture for Web Apps - Part I (Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi (http://www.directi.com http://wiki.directi.com http://careers.directi.com)
More information{brandname} 9.4 Glossary. The {brandname} community
{brandname} 9.4 Glossary The {brandname} community Table of Contents 1. 2-phase commit........................................................................... 2 2. Atomicity, Consistency, Isolation,
More informationHigh Performance in-memory computing with Apache Ignite
High Performance in-memory computing with Apache Ignite Building low latency, near real time application Shamim Ahmed Bhuiyan, Michael Zheludkov and Timur Isachenko This book is for sale at http://leanpub.com/ignite
More informationMiddleware for Sensor Networks
Middleware for Sensor Networks Krzysztof Piotrowski piotrowski@ihp-ffo.de Background Application Middleware Sensor Network Application Middleware Sensor Network Middleware for Sensor Networks 2 Middleware
More informationΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ
ΠΑΡΑΡΤΗΜΑ «Β» ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ Α/Α ΠΕΡΙΓΡΑΦΗ ΕΚΠΑΙΔΕΥΣΗΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ 1. Java SE8 Fundamentals What Is a Java Program? Introduction to Computer Programs Key Features of the Java Language
More informationGive Your Site a Boost With memcached. Ben Ramsey
Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 8-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationGive Your Site a Boost With memcached. Ben Ramsey
Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More information<Insert Picture Here>
Introduction to Data Grids & Oracle Coherence Lesson 1 Objectives After completing this lesson, you should be able to: Describe Data Grid drivers Describe Oracle
More informationOverview. CMSC 330: Organization of Programming Languages. Concurrency. Multiprocessors. Processes vs. Threads. Computation Abstractions
CMSC 330: Organization of Programming Languages Multithreaded Programming Patterns in Java CMSC 330 2 Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to
More informationAgenda. Apache Ignite Project Apache Ignite Data Fabric: Data Grid HPC & Compute Streaming & CEP Hadoop & Spark Integration Use Cases Demo Q & A
Introduction 2015 The Apache Software Foundation. Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation. Agenda Apache Ignite Project Apache
More informationApache OpenJPA. Bean Validation Integration in JPA 2.0. July 17, Copyright 2009, The Apache Software Foundation
Apache OpenJPA http://openjpa.apache.org/ Bean Validation Integration in JPA 2.0 July 17, 2009 Copyright 2009, The Apache Software Foundation Legal This presentation is based on Early Access levels of
More informationDistributed Caching: Essential Lessons
Distributed Caching: Essential Lessons Stuttgart JUG 19 June 2006 Cameron Purdy Agenda Introduction Grid Overview Distributed Caching & Data Grid Topologies Data Source Integration Data Grid Processing
More informationOracle Coherence 3.6: Share and Manage Data in Clusters
Oracle Coherence 3.6: Share and Manage Data in Clusters Volume I Student Guide D66791GC10 Edition 1.0 November 2010 D69716 Authors Mark Lindros Copyright 2010, Oracle and/or its affiliates. All rights
More informationGridGain and Apache Ignite In-Memory Performance with Durability of Disk
GridGain and Apache Ignite In-Memory Performance with Durability of Disk Dmitriy Setrakyan Apache Ignite PMC GridGain Founder & CPO http://ignite.apache.org #apacheignite Agenda What is GridGain and Ignite
More informationan Object-Based File System for Large-Scale Federated IT Infrastructures
an Object-Based File System for Large-Scale Federated IT Infrastructures Jan Stender, Zuse Institute Berlin HPC File Systems: From Cluster To Grid October 3-4, 2007 In this talk... Introduction: Object-based
More informationData Management in Application Servers. Dean Jacobs BEA Systems
Data Management in Application Servers Dean Jacobs BEA Systems Outline Clustered Application Servers Adding Web Services Java 2 Enterprise Edition (J2EE) The Application Server platform for Java Java Servlets
More informationJVA-563. Developing RESTful Services in Java
JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop
More informationChapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7
CONTENTS Chapter 1 Introducing EJB 1 What is Java EE 5...2 Java EE 5 Components... 2 Java EE 5 Clients... 4 Java EE 5 Containers...4 Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7
More informationInfinispan from POC to Production
Infinispan from POC to Production Who am I? Mark Addy, Senior Consultant Fast, Reliable, Secure, Manageable Agenda Part 1 An existing production system unable to scale Part 2 A green-field project unable
More informationEfficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection
Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Agenda 2 Bottlenecks Mutable vs. Immutable Caching/Pooling Strings Primitives Final Classloaders Exception Handling Concurrency
More informationforeword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration
contents foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration xix xxxii PART 1 GETTING STARTED WITH ORM...1 1 2 Understanding object/relational
More informationOracle Coherence and WebLogic 12c Delivering Real Time Push at Scale Steve Millidge
Oracle Coherence and WebLogic 12c Delivering Real Time Push at Scale Steve Millidge About Me Founder of C2B2 Leading Independent Middleware Experts Non-functional Experts Vendor Neutral Red Hat (JBoss),
More informationHibernate Search Googling your persistence domain model. Emmanuel Bernard Doer JBoss, a division of Red Hat
Hibernate Search Googling your persistence domain model Emmanuel Bernard Doer JBoss, a division of Red Hat Search: left over of today s applications Add search dimension to the domain model Frankly, search
More informationOracle Corporation
1 2012 Oracle Corporation Oracle WebLogic Server 12c: Developing Modern, Lightweight Java EE 6 Applications Will Lyons, Director of WebLogic Server Product Management Pieter Humphrey, Principal Product
More information10/18/2017. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414
Announcements Database Systems CSE 414 Lecture 11: NoSQL & JSON (mostly not in textbook only Ch 11.1) HW5 will be posted on Friday and due on Nov. 14, 11pm [No Web Quiz 5] Today s lecture: NoSQL & JSON
More informationHow (Not) to Build Scalable Applications in ONOS. Jordan Halterman Member of Technical ONF
How (Not) to Build Scalable Applications in ONOS Jordan Halterman Member of Technical Staff @ ONF 1 Distributed Applications @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService
More informationCoherence Managed Servers
Coherence 12.1.2 Managed Servers Noah Arliss Software Development Manager (Sheriff) 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. The$following$is$intended$to$outline$our$general$
More informationPage 1
Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory
More informationMonday, November 21, 2011
Infinispan for Ninja Developers Mircea Markus, Red Hat R&D Who s this guy? R&D JBoss Clustering @ Redhat JBoss clustering: JBossCache, PojoCache, jgroups,.. Infinispan developer - day 1 Founder Radargun
More informationExam Questions 1Z0-895
Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale
More informationAdobe ColdFusion (2016 release)
Adobe (2016 release) Feature improvement history Features included in each edition of Adobe API Manager API monitoring API version and lifecycle management API access control API rate limiting and throttling
More informationHybrid Shipping Architectures: A Survey
Hybrid Shipping Architectures: A Survey Ivan Bowman itbowman@acm.org http://plg.uwaterloo.ca/~itbowman CS748T 14 Feb 2000 Outline Partitioning query processing Partitioning client code Optimization of
More informationIntroduction to Spring Framework: Hibernate, Spring MVC & REST
Introduction to Spring Framework: Hibernate, Spring MVC & REST Training domain: Software Engineering Number of modules: 1 Duration of the training: 36 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual
More informationTERRACOTTA DB: FASTEST FOR IN-MEMORY DATA
TERRACOTTA DB: FASTEST FOR IN-MEMORY DATA The volume of data ingested into our systems is only going to accelerate with the Internet of Things (IoT) and tighter app integration on mobile devices like smartphones.
More informationPractical Concurrency. Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Practical Concurrency Agenda Motivation Java Memory Model Basics Common Bug Patterns JDK Concurrency Utilities Patterns of Concurrent Processing Testing Concurrent Applications Concurrency in Java 7 2
More informationModule 5: Performance Issues in Shared Memory and Introduction to Coherence Lecture 10: Introduction to Coherence. The Lecture Contains:
The Lecture Contains: Four Organizations Hierarchical Design Cache Coherence Example What Went Wrong? Definitions Ordering Memory op Bus-based SMP s file:///d /...audhary,%20dr.%20sanjeev%20k%20aggrwal%20&%20dr.%20rajat%20moona/multi-core_architecture/lecture10/10_1.htm[6/14/2012
More informationAP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS
AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this
More informationCS November 2018
Bigtable Highly available distributed storage Distributed Systems 19. Bigtable Built with semi-structured data in mind URLs: content, metadata, links, anchors, page rank User data: preferences, account
More informationCS November 2017
Bigtable Highly available distributed storage Distributed Systems 18. Bigtable Built with semi-structured data in mind URLs: content, metadata, links, anchors, page rank User data: preferences, account
More informationJava EE Architecture, Part Two. Java EE architecture, part two 1
Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,
More informationRedis based In-Memory Data Grid and Distributed Locks in Java. Nikita Koksharov, Founder of Redisson
Redis based In-Memory Data Grid and Distributed Locks in Java Nikita Koksharov, Founder of Redisson Redisson overview (Redis based In-Memory Data Grid) Distributed Collections Distributed Objects Distributed
More informationSoftware Architect, Deutsche Bank
Santiago Martin-Romani santiago_martin@yahoo.com Software Architect, Deutsche Bank Reasons to use Oracle Coherence Application layer friendly Single holistic view! Scalable! Fast, in-memory speeds, data
More informationCS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio
CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio Fall 2017 1 Outline Inter-Process Communication (20) Threads
More informationOracle Fusion Middleware 12c
Oracle Fusion Middleware 12c Cloud Application Foundation Coherence 12.1.2 Coherence 12.1.2 Configuration Enhancements (or Building Your Own Services) Brian Oliver Senior Consulting
More informationTuesday, June 22, JBoss Users & Developers Conference. Boston:2010
JBoss Users & Developers Conference Boston:2010 Infinispan s Hot Rod Protocol Galder Zamarreño Senior Software Engineer, Red Hat 21st June 2010 Who is Galder? Core R&D engineer on Infinispan and JBoss
More informationJava Enterprise Edition
Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data
More informationDistributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014
Distributed Systems 29. Distributed Caching Paul Krzyzanowski Rutgers University Fall 2014 December 5, 2014 2013 Paul Krzyzanowski 1 Caching Purpose of a cache Temporary storage to increase data access
More informationJava 8 Programming for OO Experienced Developers
www.peaklearningllc.com Java 8 Programming for OO Experienced Developers (5 Days) This course is geared for developers who have prior working knowledge of object-oriented programming languages such as
More information104. Intermediate Java Programming
104. Intermediate Java Programming Version 6.0 This course teaches programming in the Java language -- i.e. the Java Standard Edition platform. It is intended for students with previous Java experience
More informationHIBERNATE MOCK TEST HIBERNATE MOCK TEST IV
http://www.tutorialspoint.com HIBERNATE MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Hibernate Framework. You can download these sample mock tests
More informationJAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder
JAVA PERFORMANCE PR SW2 S18 Dr. Prähofer DI Leopoldseder OUTLINE 1. What is performance? 1. Benchmarking 2. What is Java performance? 1. Interpreter vs JIT 3. Tools to measure performance 4. Memory Performance
More informationWhat is Groovy? Almost as cool as me!
What is Groovy? Groovy is like a super version of Java. It can leverage Java's enterprise capabilities but also has cool productivity features like closures, builders and dynamic typing. From http://groovy.codehaus.org/
More informationCommon JBoss Data Grid Architectures
Common JBoss Data Grid Architectures Ray Tsang (rtsang@redhat.com) Solution Architect, Red Hat June 10, 2013 Ray Tsang, All Rights Reserved Lots of Reads Web Service Web Service Web Service Application
More informationRealtime visitor analysis with Couchbase and Elasticsearch
Realtime visitor analysis with Couchbase and Elasticsearch Jeroen Reijn @jreijn #nosql13 About me Jeroen Reijn Software engineer Hippo @jreijn http://blog.jeroenreijn.com About Hippo Visitor Analysis OneHippo
More informationTECHED USER CONFERENCE MAY 3-4, 2016
TECHED USER CONFERENCE MAY 3-4, 2016 Bob Jeffcott Software AG Big Data Adabas In Memory Data Management with Terracotta 2016 Software AG. All rights reserved. For internal use only AGENDA 1. ADABAS/NATURAL
More informationEsper EQC. Horizontal Scale-Out for Complex Event Processing
Esper EQC Horizontal Scale-Out for Complex Event Processing Esper EQC - Introduction Esper query container (EQC) is the horizontal scale-out architecture for Complex Event Processing with Esper and EsperHA
More informationCoherence & WebLogic Server integration with Coherence (Active Cache)
WebLogic Innovation Seminar Coherence & WebLogic Server integration with Coherence (Active Cache) Duško Vukmanović FMW Principal Sales Consultant Agenda Coherence Overview WebLogic
More informationInfinispan for Ninja Developers
Infinispan for Ninja Developers Mircea Markus, Red Hat R&D Who s this guy? R&D RedHat/Clustering Infinispan developer - day 1 Founder Radargun JBoss clustering: jgroups, JBossCache.. Agenda Transactions
More informationIntroduction. Distributed Systems IT332
Introduction Distributed Systems IT332 2 Outline Definition of A Distributed System Goals of Distributed Systems Types of Distributed Systems 3 Definition of A Distributed System A distributed systems
More informationRobust Data Sharing with Key-Value Stores Replication over multiple cloud storage providers
Robust Data Sharing with Key-Value Stores Replication over multiple cloud storage providers Cristina Basescu, Christian Cachin, Ittay Eyal, Robert Haas, Alessandro Sorniotti, Marko Vukolic and Ido Zachevsky
More informationShared Memory Programming with OpenMP (3)
Shared Memory Programming with OpenMP (3) 2014 Spring Jinkyu Jeong (jinkyu@skku.edu) 1 SCHEDULING LOOPS 2 Scheduling Loops (2) parallel for directive Basic partitioning policy block partitioning Iteration
More information2005, Cornell University
Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson bh79@cornell.edu Agenda Kuali Application Architecture CATS Case Study CATS Demo CATS Source
More informationSCALE OUT AND CONQUER: ARCHITECTURAL DECISIONS BEHIND DISTRIBUTED IN-MEMORY SYSTEMS VLADIMIR OZEROV YAKOV ZHDANOV
SCALE OUT AND CONQUER: ARCHITECTURAL DECISIONS BEHIND DISTRIBUTED IN-MEMORY SYSTEMS VLADIMIR OZEROV YAKOV ZHDANOV WHO? Yakov Zhdanov: - GridGain s Product Development VP - With GridGain since 2010 - Apache
More informationSecond assignment came out Monday evening. Find defects in Hnefetafl rules written by your classmates. Topic: Code Inspection and Testing
Announcements Second assignment came out Monday evening Topic: Code Inspection and Testing Find defects in Hnefetafl rules written by your classmates Compare inspection, coverage testing, random testing,
More informationDesigning Next-Generation Data- Centers with Advanced Communication Protocols and Systems Services. Presented by: Jitong Chen
Designing Next-Generation Data- Centers with Advanced Communication Protocols and Systems Services Presented by: Jitong Chen Outline Architecture of Web-based Data Center Three-Stage framework to benefit
More informationDeep Dive: Cluster File System 6.0 new Features & Capabilities
Deep Dive: Cluster File System 6.0 new Features & Capabilities Carlos Carrero Technical Product Manager SA B13 1 Agenda 1 Storage Foundation Cluster File System Architecture 2 Producer-Consumer Workload
More informationDISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Definition of a Distributed System (1) A distributed system is: A collection of
More informationUser Plugins. About Plugins. Deploying Plugins
User Plugins About Plugins Artifactory Pro allows you to easily extend Artifactory's behavior with your own plugins written in Groovy. User plugins are used for running user's code in Artifactory. Plugins
More information6232B: Implementing a Microsoft SQL Server 2008 R2 Database
6232B: Implementing a Microsoft SQL Server 2008 R2 Database Course Overview This instructor-led course is intended for Microsoft SQL Server database developers who are responsible for implementing a database
More information