Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard
-
Upload
ben-cotton -
Category
Technology
-
view
342 -
download
1
description
Transcript of Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard
![Page 1: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/1.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard
![Page 2: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/2.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard
Winter 1997, high stakes problems encountered by those
Enterprises that trusted the “Web Applications are ready!”
promise.
CASE: The week before Christmas 1997 the web-facing
OMS at www.amazon.com repeatedly crashed. Availability
was severely impacted. Millions of dollars in potential
revenue were lost. Credibility with customers damaged. Put
simply, AMAZON.com cannot go down the week before
Christmas!
An urgent, immediate solution was required to correct legacy
application architectures so that they could reliably and
performantly operate at “Internet scale”.
Enter Caching Technology!
Early (Major) Problems:
![Page 3: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/3.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard
Caching technology providers had a huge incentive to deliver
a 100% sound and100% complete solution …. At Stake?
The World Wide Web as a reliable and performant
application platform.
NEEDED:
1. Accommodate application architects & developers with the capability to
rapidly implement Caching technology.
2. Offload the database (ULTRA URGENT!)
3. Scale UP (How do I make the cache‟s in-process heap scale?)
4. Scale OUT (How do I distribute my cache to multiple processes?)
5. Buffer against load variability
What is at stake for Caching Solution Providers and
their Customers?
![Page 4: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/4.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 4
A Brief History of the Data Locality &
Latency Problem
![Page 5: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/5.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard
The very first data locality problem – Ma Bell
and the FCC assignment of Area Codes. 1947.
NYC 212
LA 213
CHIC 312
…
MEMPHIS 901
RALEIGH 919
![Page 6: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/6.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 6
The Data Locality Problem
Big Decision: How much am I willing to “pay” to have
my data as close as possible to processing resources?
![Page 7: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/7.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 7
Moving the data further away from the processing
…
P1 P2
Local Unix Kernel (IPC
Messages, Semaphores, Shared Memory)
![Page 8: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/8.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 8
P1 P2
RDBMS
Local Client-Server
A little further …
![Page 9: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/9.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 92/15/2014
P1 P2
RDBMS
Data Server
A little further … LAN Client Server
Client Host 1Client Host 2
![Page 10: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/10.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 10
P1 P2
RDBMS
Public Data Source
And further still … WAN Client Server
Internet
![Page 11: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/11.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 11
Latency Problem = Given that data is available, how fast
can I access it for processing?
Forget networked client server!! All Low-Latency apps use highly
optimized data feeds to bring the data “local”.
![Page 12: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/12.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 12
Latency Math ….
![Page 13: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/13.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 13
Latency Physics ….
2,000 PhD Physicists now working on Wall St.
U.S. Colleges and Universities cannot produce nearly
enough Physics PhDs to meet Wall St. demand
Many of these PhD Physicists are from former Soviet-Bloc
countries
COLD-WAR priority work = building defenses that could
stop Western advances in Stealth technology (largely un-
successful)
POST COLD-WAR priority work = designing low-
latency, high-frequency Capital Markets trading algorithms
(very successful!)
![Page 14: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/14.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 14
Latency Physics ….
Famous LL/HF Capital Markets Trading Algorithms =
“Cherokee Nation”
“Marco Polo”
“Boston Shuffler”
“Frog Pond”
“Carnival”
“Twilight”
![Page 15: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/15.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard
Why these names, e.g. Why “Cherokee Nation”?
![Page 16: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/16.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 16
Latency Physics …. Bottom Line :
Great Latency iff Great
Location
FAMOUS CASE STUDY = NYC Carrier
Hotel
Algorithms “check in” but … They don’t “check
out” ! (details to follow)
http://www.carrierhotels.com/news/September200
1/60hudson.shtml
![Page 17: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/17.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 17
![Page 18: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/18.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 18
![Page 19: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/19.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 19
![Page 20: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/20.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 20
![Page 21: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/21.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 21
![Page 22: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/22.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 22
Full story of the legend of the NYC Carrier Hotel … and
how it became the place where
“wall street trading algorithms check in … but they don’t
check out”
is very compellingly told here:
http://www.ted.com/talks/kevin_slavin_how_algorithms_sh
ape_our_world.html
![Page 23: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/23.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 23
Beyond LL/HF Caching‟s Mathematics, Physics and
(dramatic) case studies we can sum up the general
definition of Caching performance in one simple
expression ratio:
How can we best make this happen w/ Java
Caching technology?
![Page 24: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/24.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 24
![Page 25: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/25.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 25
![Page 26: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/26.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard
CAP: The simplest view of simultaneous service
guarantee capabilities and tradeoffs.
DataNode
1
DataNode
2
Abstract Communication Partition
1. Allowing 1 or both available nodes to be UPDATED
means you lose simultaneous Consistency
2. To guarantee simultaneous Consistency you must
make 1 node unAvailable
3. If you want both C & A then all nodes must
communicate and synchronize, but then you gain
Partition risk (Communication could break).
![Page 27: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/27.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 27
Ben starts a “Birthday Reminder” service
@t=1 Call Ben … put(“name”,”DOB”);
@t=2 Call Ben … get(„name”,”DOB”);
//lacks availability … what if 2 calls arrive at same time?
Ben adds ex-wife to answer phones
Call svc … put(“name”,”DOB”);
Call svc … get(“name”,”DOB”);
//lacks consistency … what if call
@t=1 Ben answers = put(“name”,”DOB”)
@t=2 call back … but ..ex-Wife answers … get(“name”,”DOB”)
fails?
Ben & ex-Wife add coherency and synchronization protocol
Call svc … put(“name”,”DOB”);
Ben & ex-Wife get in fight …stop talking. //coherency sol‟n
useless!
Call svc … get(“name”,”DOB”);
//lacks partition tolerance
![Page 28: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/28.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 28
![Page 29: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/29.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard
Protocols for Cache Replacement/Consistency
Protocols for Cache Partition(Node) Health/Healing
• Belady‟s Algorithm (aka Clairvoyant)
• LRU
• MRU
• Random
• LFU
• LIRRS
• CLOCK – FIFO/LIFO/FILO/LILO
• Cardiology Protocol
• - Nodes obliged to produce “Heart Beat”
• - Central „Cardiologist‟ consumes HB pulses, treats „illness‟
• Gossip Protocol• - Nodes obliged to produce “rumors” about neighboring nodes
• - Central “Gossip columnist” collect rumors, treats ‟illness‟ based on
Gossip credibility policy.
![Page 30: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/30.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 30
Java Caching API “Join Points” =
![Page 31: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/31.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 31
Enough of the theory of Caching… on to the
standard Java Caching API …
On to JSR-107!
Before JSR-107 all Java Caching vendors provided
proprietary APIs
Caching code suffered from vendor lock-in
Just like JDBC solved this problem for the RDBMS
community, JSR-107 solves this problem for the
JCACHE community
JSR-107 completely open … not hosted on private
jcp.org EG forum. Hosted on
http://groups.google.com/group/jsr107 public EG
forum.
![Page 32: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/32.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 32
![Page 33: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/33.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 33
![Page 34: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/34.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 34
![Page 35: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/35.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 35
![Page 36: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/36.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 36
(blank)
![Page 37: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/37.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 37
![Page 38: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/38.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 38
A JSR-107 compliant Caching implementation is
“Transactional” in 2 important (different) senses:
1. Compound access/mutate operations against a
Cache Entry are guaranteed to be EXCLUSIVE and
ATOMIC.
(see javax.cache.Cache.EntryProcessor interface)
2. Compound operations against a Cache are
guaranteed to preserve Transactional ACID properties.
(see JTA and javax.transaction.UserTransaction
interface)
![Page 39: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/39.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 39
Important to note re: JSR-107 specification of
“Transactional” Java Caching …
If a Java Caching provider claims to be “JSR-107
Transactions compliant”, then all of the following transactional
isolation levels are guaranteed to be available in the provider‟s
JSR-107 implementation:
TX_READ_UNCOMMITTED
TX_READ_COMMITTED no „Dirty Read‟ guaranteed
TX_REPEATABLE_READ „Repeatable Read‟ assurance
guaranteed
TX_SERIALIZABLE no „Phantom Read‟ guaranteed
In other words, a 100% sound and 100% complete API
capability for managing transaction isolation is guaranteed.
CRUCIAL for Capital Markets Java Caching uses cases!!
![Page 40: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/40.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 40
JSR-107 => all Java Caches now guarantee TX capabilities:
TX_THR_1 JCACHE_ENTRY TX_THR_2
@t=0 utx.begin(); $5 utx.begin();
@t=1 mutate(credit $1) $6
@t=2 $6 val = access() //$6
@t=3 //more processing $6 //more processing
@t=4 utx.rollback() $5
@t=5 $5 utx.commit() //$6 ??
// NOTE: @t=4 DIRTY_READ realized by TX_THR_2 access()
@t=2
![Page 41: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/41.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 41
Can we use JSR-107 API to prevent Dirty Reads?
Of course!!
Just code TX_THR_2 like this
javax.cache.CacheManager cm = javax.cache.Caching.getCacheManager(id);javax.cache.Cache c = cm.createCacheBuilder(“bank_cache”)
.setTransactionEnabled(javax.cache.transaction.IsolationLevel.READ_COMMITTED,javax.cache.transaction.Mode.LOCAL
).build();
javax.transaction.UserTransaction jsr107_utx = new JSR107ProviderJTAUserTransactionImpl(c);jsr107_utx.begin();try {
//processBigDecimal cash = c.get(ACCOUNT_ID); // @t=2 … guaranteed to BLOCK until TX_THR_1 commits/RB//process morejsr107_utx.commit();
} catch (Exception e) {jsr107_utx.rollback();
}
// STILL NEEDED => OPTIMISITIC and PESSIMISTIC block policy (via API) for @t=2 DIRTY_READ
![Page 42: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/42.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 422/15/2014 42
JSR-107 => DIRTY READ prevention
TX_THR_1 JCACHE_ENTRY TX_THR_2
@t=0 utx.begin(); $5 utx.begin();
@t=1 mutate(credit $1) $6
@t=2 $6 val = access() //BLOCK
@t=3 //more processing $6
@t=4 utx.rollback() $5
@t=5 $5 val = access() //$5
// DIRTY READ guaranteed to be PREVENTED
![Page 43: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/43.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 43
What about rare transactional use cases that have extreme TX_ISOLATION demands? E.g.
Intolerance to PHANTOM_READS? Can JSR-107 accommodate these rare (but important ) uses
cases?
Answer = YES!!
What about multiple, dynamic views of the same Cache with different (possibly extreme)
TX_ISOLATION demands?
Answer = YES
EG common Bond Portfolio CACHE shared by both RETAIL and INSTITUTIONAL Trading desks
Can we use JSR-107 API to accommodate all TX_ISOLATION tolerances (and
intolerances) ?
… HY Credit
Portfolio (3,000 bonds)
RETAIL desk
1000s of trades daily
Each trade = few millis to transact
Avg Trade = $5,000 USD
Use JSR-107
TX_READ_COMMITTED
INSTITUTIONAL desk
dozen or so trades daily
Each trade = 4-6 secs to transact
Avg Trade = $10,000,000 USD
PHANTOM_READ intolerant
Use JSR-107
TX_SERIALIZABLE
trade trade
![Page 44: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/44.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 44
![Page 45: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/45.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 45
![Page 46: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/46.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 46
![Page 47: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/47.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 47
![Page 48: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/48.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 48
![Page 49: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/49.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 49
Fluent Builder Pattern
![Page 50: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/50.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 50
![Page 51: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/51.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 51
![Page 52: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/52.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 52
![Page 53: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/53.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 53
![Page 54: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/54.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 54
![Page 55: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/55.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 55
![Page 56: Data Locality, Latency and Caching: JSR-107 and the new Java JCACHE Standard](https://reader033.fdocuments.us/reader033/viewer/2022052311/559c1caf1a28ab14158b4672/html5/thumbnails/56.jpg)
Data Locality, Latency and Caching: JSR-107 and the new Java Standard 2/15/2014 56
Questions (?)
http://www.parleys.com/#st=5&id=3046
Acknowledgment: Much of this PPT was taken
from Greg Luck and Cameron Purdy‟s JavaOne
2012 presentation on JSR-107 see=