SlideShare ist ein Scribd-Unternehmen logo
1 von 99
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Java in the 21 Century: Are
you thinking far enough
ahead?
JVMCON 2018
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
This talk may seem to be about possible futures
for Java and the JVM
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
This talk is actually about why we have to think differently
about solving the problems of the future
Cloud Data Machine And
Analytics Learning Beyond
?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
So really this talk is about your future.
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Whatchya thinking
about now?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Thinking Java?
Still learning about features in Java 8?
Looking at Java 9 or going to Java 10?
Trying to understand the new feature release process?
What does “LTS” mean for Java?
Exploring “Java Platform Module System”?
Trying out Jshell?
Figuring out jlink?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167It’s easy to focus on now – it’s what we get paid for
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
What about a wider view?
What does it mean for EE now Oracle are donating it to Eclipse?
Why have IBM open sourced their JVM and Application Servers?
What should you be doing with MicroProfile?
Is Spring the right answer?
Should I be learning other programming languages?
Where does Java fit?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167Let’s think about what’s driving us
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Economics
Faster, cheaper, easier, better …
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Economics
Faster, cheaper, easier, better …
Like ‘Cloud’
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
From a JVM developers point of view…
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Cloud sucks!
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
You wanted Very long running, efficient,
monolithic applications
You were willing to trade startup time
for throughput
You were in it for the long
haul
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Short lived, container based, micro
service oriented, instant-on, always
available, cross server, polyglot
services
Now you want
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 1 2 3 4 5 6 7 8 9 101112131415161718
Throughput
Throughput
0
0.5
1
1.5
0 1 2 3 4 5 6
Throughput
Throughput
0
0.5
1
1.5
0 1 2 3 4 5 6
Throughput
Throughput
0
0.5
1
1.5
0 1 2 3 4 5 6
Throughput
Throughput
0
0.5
1
1.5
0 1 2 3 4 5 6
Throughput
Throughput
You want all of these models
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
And you want it ..
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Is to innovate faster – or loose to the competition
The immediate challenge for Java and the JVM
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
And to be fair – the JVM is rising to the challenges of Cloud
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
predictable
consistent cadence
easier migration increased innovation
There are good signs that our
ecosystem is positioning for a faster
pace
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Every development
team has both
common and unique
problems to solve.
Open source is key
to fast innovation
and adoption
OpenJDK
Eclipse OpenJ9
Open Liberty
Eclipse MicroProfile
Java EE
IBM Cloud
Docker
Kubernetes
Enabling everyone to participate
(and offering multiple starting points)
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
lambda
streams
modules
reactive streams
panama
valhalla
penrose
amber
Giving Java innovation a faster cadence
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Tomcat
Glassfish
Open Liberty
…
OpenJDK + Hotspot
OpenJDK + OpenJ9
J2EE
Micro-profile
And a variety of implementations to choose
from
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Container
awareness
Re-optimised JITs
Re-tuned GC’s
AOT
Generating New JVM
technologies
Jit As A Service
<your idea here>
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Cloud. We do know what to do.
Cloud makes you think differently
but mostly about footprint, resilience
and scaling
Modularity, Lambdas
J2EE going to Eclipse
That’s not really a big change.
How do you do things like…
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Imagine creating systems that can
Tailor responses to the personalities of your
customers without meeting a single one of them.
improve themselves
over time, learning
from and adapting to
the world around
them.
identify their own inefficiencies-and address them
automatically-in real time.
Uncover patterns, resources, trends and other
competitive advantages invisible to competitors and
their information systems.
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167Some people ask - Why should we use Java?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
IBM support three open runtimes
because between them they cover all
the bases for Cloud: both developer
communities and technical
capabilities
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
We’re going to take Java to places its never been
before.
And you’re coming too.
Here’s why…
3
0
3
1
Scripting Language Modern Native LanguageRuntime Language
3
2
Scripting Language Modern Native LanguageRuntime Language
Type Safe Type Safe, with InferenceDynamically Typed
Type Safe means JIT’s or compilers can optimise code
significantly better than a dynamically type language
Since an int is always an int
In Javascript a int is a thing until the very last minute
3
3
Scripting Language Modern Native LanguageRuntime Language
Type Safe Type Safe, with InferenceDynamically Typed
Bytecode: JIT Compiled JIT Compiled Pre-Compiled
JIT compilers can optimize as the workload changes.
Pre compiled code can’t do that
3
4
Scripting Language Modern Native LanguageRuntime Language
Type Safe Type Safe, with InferenceDynamically Typed
Bytecode: JIT Compiled JIT Compiled Pre-Compiled
Garbage Collected Garbage Collected Reference Counted
GC can run in the background at the cost of a buffer of memory. Can be
parallelized more effectively and more accurately (no circular
references)
3
5
Scripting Language Modern Native LanguageRuntime Language
Type Safe Type Safe, with InferenceDynamically Typed
Bytecode: JIT Compiled JIT Compiled Pre-Compiled
Garbage Collected Garbage Collected Reference Counted
Concurrent Threaded Single Thread Concurrent Work Pool
Single threaded means no locking or syncronisation needed. But CPU
workload is a major Achilles heel
3
6
Scripting Language Modern Native LanguageRuntime Language
Type Safe Type Safe, with InferenceDynamically Typed
Bytecode: JIT Compiled JIT Compiled Pre-Compiled
Garbage Collected Garbage Collected Reference Counted
Concurrent Threaded Single Thread Concurrent Work Pool
All Platforms All Platforms Apple Platforms and Linux
3
7
Runtime Language
Type Safe
Bytecode: JIT Compiled
Garbage Collected
Concurrent Threaded
All Platforms
These characteristics
let us take the JVM
anywhere.
No other runtime
environment comes
close
Cloud
IoT
AI
Data
Analytics
Real time
?
No other runtime
environment comes close
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
The biggest challenge for all of us is
learning to solve problems differently
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
The new problems we face are not ones
we can easily internalize, visualize
or even compute
• The reality of data analytics
• The promise of AI
These drivers are changing the face of computing as
we know it. And it’s barely started
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
The common challenges
Effective optimization
Visualisation of complex patterns
Extracting meaning from enormous amounts of data.
All things human beings are poor at doing
And so are current computer architectures
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Machine Learning etc
• Helps us find reasonable answers to questions.
• No guarantees on it being the best answer.
Organize a group of people at a table.
So that you get the ‘best’ conversation
You decide what
‘best’ means
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Two or three people - easy
What about 10? - how many combinations to consider?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Two or three people - easy
What about 10? - how many combinations to consider?
Going to need
some help here
3628800
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Two or three people - easy
What about 150?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
571338395644585459047893286526105400318
955357860112641825483758331798291248453
983931265744886753111453771078787468542
041626662501986845044663559491959220665
749425920957357789293253572904449624724
054167907221184454371222696755200000000
00000000000000000000000000000
Going to need a lot of help
here
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Machine Learning works because you design
and teach it – do you know how to do that?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
Lets do something more real
c c e n t u r y b j
m k h l y t n e w t
t c i g a f n n o y
f d h t u s i a o v
i a w a h o h r v e
d i r n v e n y s i
g a p t u a o e x t
q f e a m o j k b o
y i c h r b y p n a
t t n v a e i z h i
Java
In
The
Twenty
First
Century
Are
you
thinking
far
enough
ahead
IBM
Find
which
one of
these
words is
missing
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
@spoole167
How do you solve this problem?
For each String in the list.
Visit each element in the grid
Check if the string matches in any of the eight directions.
Record if found
Report which of the strings was not found
r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
Java
In
The
Twenty
First
Century
Are
you
thinking
far
enough
ahead
IBM
for(y=0;y<side && dir==null;y++) {
for(x=0;x<side && dir==null;x++) {
char c=p.charAt(x, y);
if(c==w.charAt(0)) {
int l=0,dy=y,dx=x;
while(l<w.length() && dy>0 && p.charAt(x,dy)==w.charAt(l)) { l++;dy--; }
if(l==w.length()) { dir="N";break;}
l=0;dx=x;
while(l<w.length() && dx<side && p.charAt(dx,y)==w.charAt(l)) { l++;dx++; }
if(l==w.length()) { dir="E";break;}
l=0;dx=x;dy=y;
while(l<w.length() && dy<side && p.charAt(x,dy)==w.charAt(l)) { l++;dy++; }
if(l==w.length()) { dir="S";break;}
l=0;dx=x;
while(l<w.length() && dx>0 && p.charAt(dx,y)==w.charAt(l)) { l++;dx--; }
if(l==w.length()) { dir="W";break;}
l=0;dx=x;dy=y;
while(l<w.length() && dy<side && dx<side && p.charAt(dx,dy)==w.charAt(l)) {
l++; dy++;dx++; }
if(l==w.length()) { dir="SE";break;}
l=0;dx=x;dy=y;
while(l<w.length() && dy<side && dx>0 && p.charAt(dx,dy)==w.charAt(l)) {
l++;dy++;dx--; }
if(l==w.length()) { dir="SW";break;}
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Certainly inefficient use of a CPU
0
10
20
30
40
50
60
70
80
90
100
Java
CPU %
CPU1 CPU2 CPU3 CPU4
BRUTE FORCE?
IntStream is=IntStream.range(0, side*side);
is.parallel().forEach( i -> {
int x=i % side;
int y=i / side;
<do horrible code checking here..
});
}
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Good use of a CPU
What about that code?
0
10
20
30
40
50
60
70
80
90
100
Java
CPU %
CPU1 CPU2 CPU3 CPU4
while( l<w.length() && dy>0
&&
p.charAt(x,dy)==w.charAt(l)) {
l++;dy--; }
BETTER?
c c e n t u r y b j
m k h l y t n e w t
t c i g a f n n o y
f d h t u s i a o v
i a w a h o h r v e
d i r n v e n y s i
g a p t u a o e x t
q f e a m o j k b o
y i c h r b y p n a
t t n v a e i z h i
When searching for
“java” we have to
make sure we don’t
run off the edge
while( l<w.length()
&& dy>0 &&
p.charAt(x,dy)==w.
charAt(l)) { l++;dy--
; }
c c e n t u r y b j
m k h l y t n e w t
t c i g a f n n o y
f d h t u s i a o v
i a w a h o h r v e
d i r n v e n y s i
g a p t u a o e x t
q f e a m o j k b o
y i c h r b y p n a
t t n v a e i z h i
Changing the data
reduces our code
Adding a empty
boarder the width
of the largest word
Means we’ll never run
off the end of the array
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
We can do better. private static int[][] offsets= {
{ 0 , -1 } , // N
{ 1 , -1 } , // NE
{ 1 , 0 } , // E
{ 1 , 1 } , // SE
{ 0 , 1 } , // S
{ -1 , 1 } , // SW
{ -1 , 0 } , // W
{ -1 , -1 } // NW
};
Turning the direction
problem into a data
driven one
+1-1
-1
+1
IntStream is=IntStream.range(0, (side+buffer)*(side+buffer)*8);
is.parallel().forEach( i -> {
int offsets[]=directions[i % 8];
int r = i / 8;
int x = i % r;
int y = i / r;
// loop through word matching each character
for(int i=0;i<word.length;i++) {
. . .
// move to next char in required direction by simply:
x+= offsets[0];
y+= offsets[1];
}
...
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
o n c i o s u c d q d v p l a a n u s t c z p a a s h x o o g t r g g f l w v d n s j z o e p e e x
i e h f q u o q p r d m r u r w e p a x a a g k m e z t u u k u h r f w f w b z j n w y r s v t m o
w g j k r g u q h x l i j f f n l y f z r z t r p x a h c n h a s c v r y m w m a d o g g z u y g k
c c v s k l m m v t p v e b z c g b i m c r z o b i r s z o s g y e l f l k q v t v r v w d v i i v
w s g x b w u l y p q e r a t e l t e j u o f a k m i q x z p h b h h l h a j k d u n j y b z z e g
o u n a l o s r m b k f j h z f m e l a u j k w o m o g i v s v c l c i u r o s j b e r o z m z l q
r x y t a k q h u t a y v m b a v z s c a k e v m t c v e b s h c b t i j k t m n c o x o c w z n y
s d a y f h n q g b i o z w s j n o j a o o n y q d b l s q f r x n h g z j u v s w q e f q t e d g
f y u i q v k o q c t o h e t o d w q n f f m o s c t v h r e n o y o g f h j w u v w u n u b a s k
z u y u f r h z h g p j g r i q m l k p e j z g h k w r g k v k k w n w x g v p l g e v c o c e j z
v n f m l b k o m q g t y z d n t s e r i i e b n w w b l q x v s i l q a e p e h r j l r e n z m l
m o n w q j s f r g k s e s k o i j d z k y p t s u d p c f e t p f g t t l s h d x f r z p c c n v
o e u a m w u b i z t b k i b o p l s u e p j z w t j x f s s v r b h j c v h m k d k j t l o z b m
x y i m m j l d c k z f k v b q r c l t q e y n e o x f z m w b d w r b g h r j b u f u g z a m c n
l j l b q q o n h n a f k h s r w p l h i m d l u s i s u l t i o g h v q u k n m h z u z u v l d u
q x y m n u m o o j o u i k i d k l w h z v t o g p u d h s n f u i m j q x m x s y g l k k p p l x
j s s e p a r y t o e x t i d b u s l n l y y t i p g d q p z e d z s j k i p a y i n x i l s y y v
y f d o h n j m n l p g m p a n q p b s u l y d a e j m x q b a f a t f q p r z t t w q n s o f e q
g k d s b j a j g v m r n j w k n c v i r i j t z a r a q r e c l t i q r v r t o a t e u t w s h w
d c x r g m r h k c n y r t t s a i t i y c n s b l f s v n v q z u f c b c g o t b w m k f e p x q
q m y x e x p p c r b v z n y b e p l h n k w i z m u h g a f m s u q m b f n j p s y r n g r r u r
v m s a a f e e p c e m k i k t n c c a i x q e z p i k c c i c h b c k l o m z y e j y x u a y u s
j q k z t o a j g z s q h p w i g f k k o n z m a g k y q u k w h e t a t y v h d q h p q u t m p s
r w x t l f g l k t h b k t j d d u x u w c k u o w j l y d l f i j h k v x x n t g g w r y n g n k
k e m g h v w v j p i p j e h g u u t p a x g i a e l m o h r h a u b d x s a t m y v l e v l n m f
j y c n d w g y i z e t o b e e b x c b z e i g n p q u i u f j r h p z o b b d k f c a r t k y q k
o k g k l l f b g b i z x j n n q h k k l w c q s g m o x y q f r m e f n w j f q h p p c z l y b k
f w p e e i d c m w m r k f a q o f k a i b y a l s j u z m s j z v c q x g m p k m j a o k k n l g
q o y r o p s w z z o v d x u k b u m y l e n x q k k l j r s f f n i k v i c s r e x j q c j a t c
c v l k l h r h k c d p l l j e b w g k t y m z d z k x n j p a q e i k f x x y l z m q h a h h y t
w l t r v c e i y w f f h j j l d w r h h e r f g j h z n b x m c l c i d l j o r b m g n j p c v b
y m d p i p i b z r c z p k p b l o q p f w p n e o d n l g v i h a p t h t f i i z f r u h v q d x
q u l e n a s k q a u a h f e n i v o i i s e k h r y n i u q g y z l o x i h j u p h a r o l s o l
Best?
This is ok when you have a “small” amount of data.
What happens when the word grid is big:
Billions of characters?
Millions of words to find?
Multidimensional?
Or the word is very long (making the buffer too expensive)?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
a e k j c b a o a j
e j a x l o n d
o
d
n
v n a v a a j v i o
i c
m
e
i e t u p a a
t d a t a j a j k l
i t w i q a y a m h
n u e n x v d v g a
g o d g t f f a u i
o a s o g a g t v c
c i a c h j a i b m
PARTITIONING: Executor
node
Executor
node
Executor
node
Executor
nodeHow do you deal with words
split across the boundaries?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
a e k j c b a o a j
e j a x l o n d
o
d
n
v n a v a a j v i o
i c
m
e
i e t u p a a
t d a t a j a j k l
i t w i q a y a m h
n u e n x v d v g a
g o d g t f f a u i
o a s o g a g t v c
c i a c h j a i b m
PARTITIONING: Executor
node
Executor
node
Executor
node
Executor
node
Hint: split words into small 3x3
tiles. Find tiles (map) join
together (reduce)
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
a e k j c b a o a j
e j a x l o n d
o
d
n
v n a v a a j v i o
i c
m
e
i e t u p a a
t d a t a j a j k l
i t w i q a y a m h
n u e n x v d v g a
g o d g t f f a u i
o a s o g a g t v c
c i a c h j a i b m
PARTITIONING: Executor
node
Executor
node
Executor
node
Executor
node
CPU
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
a e k j c b a o a j
e j a x l o n d
o
d
n
v n a v a a j v i o
i c
m
e
i e t u p a a
t d a t a j a j k l
i t w i q a y a m h
n u e n x v d v g a
g o d g t f f a u i
o a s o g a g t v c
c i a c h j a i b m
PARTITIONING: Executor
node
Executor
node
Executor
node
Executor
node
CPU
GPU
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
a e k j c b a o a j
e j a x l o n d
o
d
n
v n a v a a j v i o
i c
m
e
i e t u p a a
t d a t a j a j k l
i t w i q a y a m h
n u e n x v d v g a
g o d g t f f a u i
o a s o g a g t v c
c i a c h j a i b m
PARTITIONING: Executor
node
Executor
node
Executor
node
Executor
node
CPU
GPU
FPGA
ASIC
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
IBM + NVIDIA
Improving Java application
performance with GPU
exploitation is available in IBM
SDK for Java 8 and OpenJDK 9
with Eclipse Open9
Standard SE API optimisation as
well as CUDA4J API for explicit
low level control
+
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
GPU’s don’t work like CPU’s
They want their data in different forms
They behave differently
You’ll have to think differently too
if(a) {
// do this
} else {
// do this instead
}
On a standard CPU
Each thread runs in parallel
With its own ’program counter’
Independently.if(a) {
// do this
} else {
// do this instead
}
Step 1
Step 1
Step 2
Step 2
if(a) {
// do this
} else {
// do this instead
}
On a GPU
Each thread runs in sync
sharing a program counter
The length of time for the
program to complete is
a factor of all the
paths traveled
GPU’s are best when
data driven!
if(a) {
// do this
} else {
// do this instead
}
Step 1
Step 1
Step 2
Step 3
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
PC Thread 1 PC Thread 2 PC Thread 3 PC Thread 4 PC Thread 5
Thing 1 Thing 1 Thing 1 Thing 1 Thing 1
Thing 2
Thing 3
Thing 4
Thing 5 Thing 5
Thing 6 Thing 6 Thing 6 Thing 6
PC Thread 1 Thread 2 Thread 3 Thread 4 Thread 5
Thing 1 Thing 1 Thing 1 Thing 1 Thing 1
Thing 2
Thing 3
Thing 4
Thing 5 Thing 5
Thing 6 Thing 6 Thing 6 Thing 6
GPU
CPU
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
PC Thread 1 PC Thread 2 PC Thread 3 PC Thread 4 PC Thread 5
Thing 1 Thing 1 Thing 1 Thing 1 Thing 1
Thing 2
Thing 3
Thing 4
Thing 5 Thing 5
Thing 6 Thing 6 Thing 6 Thing 6
PC Thread 1 Thread 2 Thread 3 Thread 4 Thread 5
Thing 1 Thing 1 Thing 1 Thing 1 Thing 1
Thing 2
Thing 3
Thing 4
Thing 5 Thing 5
Thing 6 Thing 6 Thing 6 Thing 6
GPU
CPU
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
PC Thread 1 PC Thread 2 PC Thread 3 PC Thread 4 PC Thread 5
Thing 1 Thing 1 Thing 1 Thing 1 Thing 1
Thing 2
Thing 3
Thing 4
Thing 5 Thing 5
Thing 6 Thing 6 Thing 6 Thing 6
PC Thread 1 Thread 2 Thread 3 Thread 4 Thread 5
Thing 1 Thing 1 Thing 1 Thing 1 Thing 1
Thing 2
Thing 3
Thing 4
Thing 5 Thing 5
Thing 6 Thing 6 Thing 6 Thing 6
GPU
CPU
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
o n c i o s u c d q d v p l a a n u s t c z p a a s h x o o g t r g g f l w v d n s j z o e p e e x
i e h f q u o q p r d m r u r w e p a x a a g k m e z t u u k u h r f w f w b z j n w y r s v t m o
w g j k r g u q h x l i j f f n l y f z r z t r p x a h c n h a s c v r y m w m a d o g g z u y g k
c c v s k l m m v t p v e b z c g b i m c r z o b i r s z o s g y e l f l k q v t v r v w d v i i v
w s g x b w u l y p q e r a t e l t e j u o f a k m i q x z p h b h h l h a j k d u n j y b z z e g
o u n a l o s r m b k f j h z f m e l a u j k w o m o g i v s v c l c i u r o s j b e r o z m z l q
r x y t a k q h u t a y v m b a v z s c a k e v m t c v e b s h c b t i j k t m n c o x o c w z n y
s d a y f h n q g b i o z w s j n o j a o o n y q d b l s q f r x n h g z j u v s w q e f q t e d g
f y u i q v k o q c t o h e t o d w q n f f m o s c t v h r e n o y o g f h j w u v w u n u b a s k
z u y u f r h z h g p j g r i q m l k p e j z g h k w r g k v k k w n w x g v p l g e v c o c e j z
v n f m l b k o m q g t y z d n t s e r i i e b n w w b l q x v s i l q a e p e h r j l r e n z m l
m o n w q j s f r g k s e s k o i j d z k y p t s u d p c f e t p f g t t l s h d x f r z p c c n v
o e u a m w u b i z t b k i b o p l s u e p j z w t j x f s s v r b h j c v h m k d k j t l o z b m
x y i m m j l d c k z f k v b q r c l t q e y n e o x f z m w b d w r b g h r j b u f u g z a m c n
l j l b q q o n h n a f k h s r w p l h i m d l u s i s u l t i o g h v q u k n m h z u z u v l d u
q x y m n u m o o j o u i k i d k l w h z v t o g p u d h s n f u i m j q x m x s y g l k k p p l x
j s s e p a r y t o e x t i d b u s l n l y y t i p g d q p z e d z s j k i p a y i n x i l s y y v
y f d o h n j m n l p g m p a n q p b s u l y d a e j m x q b a f a t f q p r z t t w q n s o f e q
g k d s b j a j g v m r n j w k n c v i r i j t z a r a q r e c l t i q r v r t o a t e u t w s h w
d c x r g m r h k c n y r t t s a i t i y c n s b l f s v n v q z u f c b c g o t b w m k f e p x q
q m y x e x p p c r b v z n y b e p l h n k w i z m u h g a f m s u q m b f n j p s y r n g r r u r
v m s a a f e e p c e m k i k t n c c a i x q e z p i k c c i c h b c k l o m z y e j y x u a y u s
j q k z t o a j g z s q h p w i g f k k o n z m a g k y q u k w h e t a t y v h d q h p q u t m p s
r w x t l f g l k t h b k t j d d u x u w c k u o w j l y d l f i j h k v x x n t g g w r y n g n k
k e m g h v w v j p i p j e h g u u t p a x g i a e l m o h r h a u b d x s a t m y v l e v l n m f
j y c n d w g y i z e t o b e e b x c b z e i g n p q u i u f j r h p z o b b d k f c a r t k y q k
o k g k l l f b g b i z x j n n q h k k l w c q s g m o x y q f r m e f n w j f q h p p c z l y b k
f w p e e i d c m w m r k f a q o f k a i b y a l s j u z m s j z v c q x g m p k m j a o k k n l g
q o y r o p s w z z o v d x u k b u m y l e n x q k k l j r s f f n i k v i c s r e x j q c j a t c
c v l k l h r h k c d p l l j e b w g k t y m z d z k x n j p a q e i k f x x y l z m q h a h h y t
w l t r v c e i y w f f h j j l d w r h h e r f g j h z n b x m c l c i d l j o r b m g n j p c v b
y m d p i p i b z r c z p k p b l o q p f w p n e o d n l g v i h a p t h t f i i z f r u h v q d x
q u l e n a s k q a u a h f e n i v o i i s e k h r y n i u q g y z l o x i h j u p h a r o l s o l
What about when you don’t know the words your searching for?
Do you create a list of every possible word?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
NEURAL:
a e k j c b a o a j
e j a x l o n d
o
d
n
v n a v a a j v i o
i c
m
e
i e t u p a a
t d a t a j a j k l
i t w i q a y a m h
n u e n x v d v g a
g o d g t f f a u i
o a s o g a g t v c
c i a c h j a i b m
Teach a Neural Net
about how words are
constructed.
Then let it search the grid
Then work out which words
are ‘real’
Don’t think that’s possible?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
SYNAPSE:
A program to develop a
neuromorphic processor that is a
new kind of cognitive computer
Designed to simulate the neurones
and dendrites of the brain for low
power efficient operation
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Event driven, Non Von Neumann Neural Network.
Neural Nets want their data in different forms
They behave differently
You’ll have to think differently too
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Now it gets even stranger..
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
SEARCH
In 1996 a search algorithm was
defined by Lov Grover. This
algorithm can transform the
problem into an O(√N) search.
On a traditional computer this
search problem is solved in no fewer
than O(N) evaluations
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
0 - ish
Z Rotation
or ‘phase’
1 - ish
Y Rotation or ‘pha
X Rotation or ‘phase’
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
QBIT
Microwave resonators
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
qubitbit
1
0
SEARCH
r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 1 3,5 -> NE
r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 1 3,5 -> NE
No – try again
r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 2 4,4 -> N
r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 2 4,4 -> N
No – try again
r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 3 6,3 -> NW
r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 3 6,3 -> NW
No – try again
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
QUANTUM:
a e k j c b a o a j
l g m e e t u p a p
l n a v a a j v i o
p c
m
e
i e t u p a a
r d a t a j a j k l
u t w i q a y a m h
d u e n x v d v g a
j o d g t f f a u i
a a s o g a g t v c
z i a c h j a i b m
www.research.ibm.com/ibm-q/
Real life demo?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Quantum Computers can and will solve linear equations
break cryptographic systems or model new medicines
In times that are a fraction of what existing computers can
achieve now.
Word searches are easy. But you present the data differently
and get a statistical response.
No more 0&1’s
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
The JVM design means that we can easily
imagine running Java on new forms of processors. It may
not end up being todays Java but it will be close
The challenge is that you have to change how you think!
And as for Cloud?
Containers, fast startups, small memory footprints,
Jit as a Sevice?
That’s happening today. Think about tomorrow.
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
OPPORTUNITY:
Data flows from every device,
replacing guessing and
approximations with precise
information. Yet 80% of this
data is unstructured; therefore,
invisible to computers and of
limited use to business.
HEALTHCARE DATA GOVERNMENT & EDUCATION DATA
99% 88% 94% 84%
Healthcare data comes from
sources such as:
Government & education data
comes from sources such as:
Patient
Sensors
Electronic
Medical
Records
Test
Results
Vehicle Fleet
Sensors
Traffic
Sensors
Student
Evaluations
UTILITIES DATA MEDIA DATA
93% 84% 97% 82%
Utilities data comes from sources
such as:
Media data comes from sources
such as:
Utility
Sensors
Employee
Sensors
Location
Data
Video
and Film
Images Audio
By 2020,
of new information will
be created every
second for every
human being on
the planet.
growth by 2017 unstructured growth by 2017 unstructured
1.7 MB growth by 2017 unstructured growth by 2017 unstructured
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
The world is
being reinvented
in code. Java code.
HOW, AND WHY NOW?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
Computing is
entering a new
cognitive era.
What do you Think
when you solve a
problem?
HOW, AND WHY NOW?
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
© 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps & continuous delivery - Sogeti
DevOps & continuous delivery - SogetiDevOps & continuous delivery - Sogeti
DevOps & continuous delivery - SogetiBalram Yadav
 
Debunking DevOps Myths in Banking Industry
Debunking DevOps Myths in Banking IndustryDebunking DevOps Myths in Banking Industry
Debunking DevOps Myths in Banking IndustryDevOps Indonesia
 
Why Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital EraWhy Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital EraNUS-ISS
 
SAAS IS THE ENEMY OF OPEN SOURCE GOOD THING THAT WE ARE IN THE POST-SAAS ERA
SAAS IS THE  ENEMY OF OPEN SOURCE  GOOD THING THAT WE ARE IN THE POST-SAAS ERASAAS IS THE  ENEMY OF OPEN SOURCE  GOOD THING THAT WE ARE IN THE POST-SAAS ERA
SAAS IS THE ENEMY OF OPEN SOURCE GOOD THING THAT WE ARE IN THE POST-SAAS ERAOri Pekelman
 
Canadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology StandardsCanadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology Standards Intelliware Development Inc.
 
Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...
Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...
Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...AgileNetwork
 
The end of traditional enterprise IT - ING's journey to the next generation I...
The end of traditional enterprise IT - ING's journey to the next generation I...The end of traditional enterprise IT - ING's journey to the next generation I...
The end of traditional enterprise IT - ING's journey to the next generation I...NLJUG
 
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...SOFTENG
 
A systemic approach to shaping a DevOps culture
A systemic approach to shaping a DevOps cultureA systemic approach to shaping a DevOps culture
A systemic approach to shaping a DevOps cultureMasa Maeda
 
DOES16 London - Chris Jackson - Disrupting an Enterprise from the Inside
DOES16 London -  Chris Jackson - Disrupting an Enterprise from the InsideDOES16 London -  Chris Jackson - Disrupting an Enterprise from the Inside
DOES16 London - Chris Jackson - Disrupting an Enterprise from the InsideGene Kim
 
DOES16 London - Scott Potter - DevOps: To Autonomy and Beyond
DOES16 London - Scott Potter - DevOps: To Autonomy and BeyondDOES16 London - Scott Potter - DevOps: To Autonomy and Beyond
DOES16 London - Scott Potter - DevOps: To Autonomy and BeyondGene Kim
 
Driving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real timeDriving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real timeWit Jakuczun
 
Krzysztof Malus. To agile or not to agile
Krzysztof Malus. To agile or not to agileKrzysztof Malus. To agile or not to agile
Krzysztof Malus. To agile or not to agileAgile Lietuva
 
ITpreneurs DASA dev ops elearning - get devops certified now!
ITpreneurs DASA dev ops elearning - get devops certified now!ITpreneurs DASA dev ops elearning - get devops certified now!
ITpreneurs DASA dev ops elearning - get devops certified now!Arjan Woertman
 
UofT SMARTWEEK 2014 - UX + IoT
UofT SMARTWEEK 2014 - UX + IoTUofT SMARTWEEK 2014 - UX + IoT
UofT SMARTWEEK 2014 - UX + IoTWayne Pau
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund EditionEric Ries
 
eDevOps in HPSW from buzzword to reality
eDevOps in HPSW from buzzword to realityeDevOps in HPSW from buzzword to reality
eDevOps in HPSW from buzzword to realityAgileSparks
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 

Was ist angesagt? (20)

DevOps & continuous delivery - Sogeti
DevOps & continuous delivery - SogetiDevOps & continuous delivery - Sogeti
DevOps & continuous delivery - Sogeti
 
Debunking DevOps Myths in Banking Industry
Debunking DevOps Myths in Banking IndustryDebunking DevOps Myths in Banking Industry
Debunking DevOps Myths in Banking Industry
 
Why Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital EraWhy Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital Era
 
SAAS IS THE ENEMY OF OPEN SOURCE GOOD THING THAT WE ARE IN THE POST-SAAS ERA
SAAS IS THE  ENEMY OF OPEN SOURCE  GOOD THING THAT WE ARE IN THE POST-SAAS ERASAAS IS THE  ENEMY OF OPEN SOURCE  GOOD THING THAT WE ARE IN THE POST-SAAS ERA
SAAS IS THE ENEMY OF OPEN SOURCE GOOD THING THAT WE ARE IN THE POST-SAAS ERA
 
Canadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology StandardsCanadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology Standards
 
Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...
Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...
Agile Gurugram Conference 2020 | Value of DevOps - Journey from Automation to...
 
The end of traditional enterprise IT - ING's journey to the next generation I...
The end of traditional enterprise IT - ING's journey to the next generation I...The end of traditional enterprise IT - ING's journey to the next generation I...
The end of traditional enterprise IT - ING's journey to the next generation I...
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
 
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
 
A systemic approach to shaping a DevOps culture
A systemic approach to shaping a DevOps cultureA systemic approach to shaping a DevOps culture
A systemic approach to shaping a DevOps culture
 
DOES16 London - Chris Jackson - Disrupting an Enterprise from the Inside
DOES16 London -  Chris Jackson - Disrupting an Enterprise from the InsideDOES16 London -  Chris Jackson - Disrupting an Enterprise from the Inside
DOES16 London - Chris Jackson - Disrupting an Enterprise from the Inside
 
DOES16 London - Scott Potter - DevOps: To Autonomy and Beyond
DOES16 London - Scott Potter - DevOps: To Autonomy and BeyondDOES16 London - Scott Potter - DevOps: To Autonomy and Beyond
DOES16 London - Scott Potter - DevOps: To Autonomy and Beyond
 
Driving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real timeDriving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real time
 
Krzysztof Malus. To agile or not to agile
Krzysztof Malus. To agile or not to agileKrzysztof Malus. To agile or not to agile
Krzysztof Malus. To agile or not to agile
 
ITpreneurs DASA dev ops elearning - get devops certified now!
ITpreneurs DASA dev ops elearning - get devops certified now!ITpreneurs DASA dev ops elearning - get devops certified now!
ITpreneurs DASA dev ops elearning - get devops certified now!
 
UofT SMARTWEEK 2014 - UX + IoT
UofT SMARTWEEK 2014 - UX + IoTUofT SMARTWEEK 2014 - UX + IoT
UofT SMARTWEEK 2014 - UX + IoT
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund Edition
 
eDevOps in HPSW from buzzword to reality
eDevOps in HPSW from buzzword to realityeDevOps in HPSW from buzzword to reality
eDevOps in HPSW from buzzword to reality
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
IoT and Raspberry Pi with Live Demo
IoT and Raspberry Pi with Live DemoIoT and Raspberry Pi with Live Demo
IoT and Raspberry Pi with Live Demo
 

Ähnlich wie JVMCON Java in the 21st Century: are you thinking far enough ahead?

SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...
SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...
SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...Steve Poole
 
VUCA - Planning for the essentially unplannable in a disruptive world
VUCA - Planning for the essentially unplannable in a disruptive worldVUCA - Planning for the essentially unplannable in a disruptive world
VUCA - Planning for the essentially unplannable in a disruptive worldJoakim Lindbom
 
Simon Saneback ITEM 2018
Simon Saneback ITEM 2018Simon Saneback ITEM 2018
Simon Saneback ITEM 2018ITEM
 
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...Angel Alberici
 
Cutting Through the Disruption
Cutting Through the DisruptionCutting Through the Disruption
Cutting Through the DisruptionOSSCube
 
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACIFrom desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACIAdi Polak
 
Pivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow KeynotePivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow Keynotecornelia davis
 
Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...
Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...
Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...CA Technologies
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?Steve Poole
 
CF Summit Shanghai 2015
CF Summit Shanghai 2015CF Summit Shanghai 2015
CF Summit Shanghai 2015Jason Jackson
 
Lean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s NeededLean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s NeededHuman Capital Media
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)WSO2
 
Tech Talk: Getting to Know Node.js
Tech Talk: Getting to Know Node.jsTech Talk: Getting to Know Node.js
Tech Talk: Getting to Know Node.jsCA Technologies
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0Joakim Lindbom
 
Axpert™ from Agile Labs, Bangalore, India
Axpert™  from Agile Labs, Bangalore, IndiaAxpert™  from Agile Labs, Bangalore, India
Axpert™ from Agile Labs, Bangalore, IndiaAGILE LABS,INDIA
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Christian Heilmann
 
LSU Nordic 2015 - Agile development on system z
LSU Nordic 2015 - Agile development on system zLSU Nordic 2015 - Agile development on system z
LSU Nordic 2015 - Agile development on system zFlemming Petersen
 
Intellectsoft Overview
Intellectsoft OverviewIntellectsoft Overview
Intellectsoft OverviewRyan Nguyen
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindCapgemini
 
The End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon LietzThe End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon LietzSeniorStoryteller
 

Ähnlich wie JVMCON Java in the 21st Century: are you thinking far enough ahead? (20)

SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...
SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...
SkillsMatter June 2018: Java in the 21st Century: Are You Thinking Far Enough...
 
VUCA - Planning for the essentially unplannable in a disruptive world
VUCA - Planning for the essentially unplannable in a disruptive worldVUCA - Planning for the essentially unplannable in a disruptive world
VUCA - Planning for the essentially unplannable in a disruptive world
 
Simon Saneback ITEM 2018
Simon Saneback ITEM 2018Simon Saneback ITEM 2018
Simon Saneback ITEM 2018
 
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
20210428 - Sustainable Engineering practices & API Communities: Adoption Best...
 
Cutting Through the Disruption
Cutting Through the DisruptionCutting Through the Disruption
Cutting Through the Disruption
 
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACIFrom desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
 
Pivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow KeynotePivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow Keynote
 
Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...
Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...
Stop the Blame Game with Increased Visibility of your Mobile-to-Mainframe IT ...
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?
 
CF Summit Shanghai 2015
CF Summit Shanghai 2015CF Summit Shanghai 2015
CF Summit Shanghai 2015
 
Lean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s NeededLean Learning: Deliver Relevant Content When and Where It’s Needed
Lean Learning: Deliver Relevant Content When and Where It’s Needed
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)
 
Tech Talk: Getting to Know Node.js
Tech Talk: Getting to Know Node.jsTech Talk: Getting to Know Node.js
Tech Talk: Getting to Know Node.js
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
 
Axpert™ from Agile Labs, Bangalore, India
Axpert™  from Agile Labs, Bangalore, IndiaAxpert™  from Agile Labs, Bangalore, India
Axpert™ from Agile Labs, Bangalore, India
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015
 
LSU Nordic 2015 - Agile development on system z
LSU Nordic 2015 - Agile development on system zLSU Nordic 2015 - Agile development on system z
LSU Nordic 2015 - Agile development on system z
 
Intellectsoft Overview
Intellectsoft OverviewIntellectsoft Overview
Intellectsoft Overview
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left Behind
 
The End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon LietzThe End of Security as We Know It - Shannon Lietz
The End of Security as We Know It - Shannon Lietz
 

Mehr von Steve Poole

Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...Steve Poole
 
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECHTHRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECHSteve Poole
 
Maven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chainMaven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chainSteve Poole
 
GIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn NextGIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn NextSteve Poole
 
A new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn nextA new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn nextSteve Poole
 
Stop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptxStop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptxSteve Poole
 
Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Steve Poole
 
The Secret Life of Maven Central
The Secret Life of Maven CentralThe Secret Life of Maven Central
The Secret Life of Maven CentralSteve Poole
 
The Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptxThe Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptxSteve Poole
 
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...Steve Poole
 
Log4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptxLog4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptxSteve Poole
 
DevnexusRansomeware.pptx
DevnexusRansomeware.pptxDevnexusRansomeware.pptx
DevnexusRansomeware.pptxSteve Poole
 
Game Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same againGame Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same againSteve Poole
 
Cybercrime and the developer 2021 style
Cybercrime and the developer 2021 styleCybercrime and the developer 2021 style
Cybercrime and the developer 2021 styleSteve Poole
 
Agile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and CultureAgile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and CultureSteve Poole
 
LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020Steve Poole
 
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...Steve Poole
 
Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?Steve Poole
 
A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization Steve Poole
 
Eclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talkEclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talkSteve Poole
 

Mehr von Steve Poole (20)

Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...Key Takeaways for Java Developers from the State of the Software Supply Chain...
Key Takeaways for Java Developers from the State of the Software Supply Chain...
 
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECHTHRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
THRIVING IN THE GEN AI ERA: NAVIGATING CHANGE IN TECH
 
Maven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chainMaven Central++ What's happening at the core of the Java supply chain
Maven Central++ What's happening at the core of the Java supply chain
 
GIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn NextGIDS-2023 A New Hope for 2023? What Developers Must Learn Next
GIDS-2023 A New Hope for 2023? What Developers Must Learn Next
 
A new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn nextA new hope for 2023? What developers must learn next
A new hope for 2023? What developers must learn next
 
Stop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptxStop Security by Sleight Of Hand.pptx
Stop Security by Sleight Of Hand.pptx
 
Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?
 
The Secret Life of Maven Central
The Secret Life of Maven CentralThe Secret Life of Maven Central
The Secret Life of Maven Central
 
The Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptxThe Secret Life of Maven Central.pptx
The Secret Life of Maven Central.pptx
 
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
Devoxx France 2022: Game Over or Game Changing? Why Software Development May ...
 
Log4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptxLog4Shell - Armageddon or Opportunity.pptx
Log4Shell - Armageddon or Opportunity.pptx
 
DevnexusRansomeware.pptx
DevnexusRansomeware.pptxDevnexusRansomeware.pptx
DevnexusRansomeware.pptx
 
Game Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same againGame Over or Game Changing? Why Software Development May Never be the same again
Game Over or Game Changing? Why Software Development May Never be the same again
 
Cybercrime and the developer 2021 style
Cybercrime and the developer 2021 styleCybercrime and the developer 2021 style
Cybercrime and the developer 2021 style
 
Agile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and CultureAgile Islands 2020 - Dashboards and Culture
Agile Islands 2020 - Dashboards and Culture
 
LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020LJC Speaker Clnic June 2020
LJC Speaker Clnic June 2020
 
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
Agile Tour London 2018: DASHBOARDS AND CULTURE – HOW OPENNESS CHANGES YOUR BE...
 
Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?Beyond the Pi: What’s Next for the Hacker in All of Us?
Beyond the Pi: What’s Next for the Hacker in All of Us?
 
A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization A Modern Fairy Tale: Java Serialization
A Modern Fairy Tale: Java Serialization
 
Eclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talkEclipse OpenJ9 - SpringOne 2018 Lightning talk
Eclipse OpenJ9 - SpringOne 2018 Lightning talk
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

JVMCON Java in the 21st Century: are you thinking far enough ahead?

  • 1. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Java in the 21 Century: Are you thinking far enough ahead? JVMCON 2018
  • 2. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 This talk may seem to be about possible futures for Java and the JVM
  • 3. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION This talk is actually about why we have to think differently about solving the problems of the future Cloud Data Machine And Analytics Learning Beyond ?
  • 4. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 So really this talk is about your future.
  • 5. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Whatchya thinking about now?
  • 6. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Thinking Java? Still learning about features in Java 8? Looking at Java 9 or going to Java 10? Trying to understand the new feature release process? What does “LTS” mean for Java? Exploring “Java Platform Module System”? Trying out Jshell? Figuring out jlink?
  • 7. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167It’s easy to focus on now – it’s what we get paid for
  • 8. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 What about a wider view? What does it mean for EE now Oracle are donating it to Eclipse? Why have IBM open sourced their JVM and Application Servers? What should you be doing with MicroProfile? Is Spring the right answer? Should I be learning other programming languages? Where does Java fit?
  • 9. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167Let’s think about what’s driving us
  • 10. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Economics Faster, cheaper, easier, better …
  • 11. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Economics Faster, cheaper, easier, better … Like ‘Cloud’
  • 12. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 From a JVM developers point of view…
  • 13. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Cloud sucks!
  • 14. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 You wanted Very long running, efficient, monolithic applications You were willing to trade startup time for throughput You were in it for the long haul
  • 15. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Short lived, container based, micro service oriented, instant-on, always available, cross server, polyglot services Now you want
  • 16. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 1 2 3 4 5 6 7 8 9 101112131415161718 Throughput Throughput 0 0.5 1 1.5 0 1 2 3 4 5 6 Throughput Throughput 0 0.5 1 1.5 0 1 2 3 4 5 6 Throughput Throughput 0 0.5 1 1.5 0 1 2 3 4 5 6 Throughput Throughput 0 0.5 1 1.5 0 1 2 3 4 5 6 Throughput Throughput You want all of these models
  • 17. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 And you want it ..
  • 18. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Is to innovate faster – or loose to the competition The immediate challenge for Java and the JVM
  • 19. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 And to be fair – the JVM is rising to the challenges of Cloud
  • 20. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION predictable consistent cadence easier migration increased innovation There are good signs that our ecosystem is positioning for a faster pace
  • 21. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Every development team has both common and unique problems to solve. Open source is key to fast innovation and adoption OpenJDK Eclipse OpenJ9 Open Liberty Eclipse MicroProfile Java EE IBM Cloud Docker Kubernetes Enabling everyone to participate (and offering multiple starting points)
  • 22. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION lambda streams modules reactive streams panama valhalla penrose amber Giving Java innovation a faster cadence
  • 23. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Tomcat Glassfish Open Liberty … OpenJDK + Hotspot OpenJDK + OpenJ9 J2EE Micro-profile And a variety of implementations to choose from
  • 24. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Container awareness Re-optimised JITs Re-tuned GC’s AOT Generating New JVM technologies Jit As A Service <your idea here>
  • 25. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Cloud. We do know what to do. Cloud makes you think differently but mostly about footprint, resilience and scaling Modularity, Lambdas J2EE going to Eclipse That’s not really a big change. How do you do things like…
  • 26. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Imagine creating systems that can Tailor responses to the personalities of your customers without meeting a single one of them. improve themselves over time, learning from and adapting to the world around them. identify their own inefficiencies-and address them automatically-in real time. Uncover patterns, resources, trends and other competitive advantages invisible to competitors and their information systems.
  • 27. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167Some people ask - Why should we use Java?
  • 28. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION IBM support three open runtimes because between them they cover all the bases for Cloud: both developer communities and technical capabilities
  • 29. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION We’re going to take Java to places its never been before. And you’re coming too. Here’s why…
  • 30. 3 0
  • 31. 3 1 Scripting Language Modern Native LanguageRuntime Language
  • 32. 3 2 Scripting Language Modern Native LanguageRuntime Language Type Safe Type Safe, with InferenceDynamically Typed Type Safe means JIT’s or compilers can optimise code significantly better than a dynamically type language Since an int is always an int In Javascript a int is a thing until the very last minute
  • 33. 3 3 Scripting Language Modern Native LanguageRuntime Language Type Safe Type Safe, with InferenceDynamically Typed Bytecode: JIT Compiled JIT Compiled Pre-Compiled JIT compilers can optimize as the workload changes. Pre compiled code can’t do that
  • 34. 3 4 Scripting Language Modern Native LanguageRuntime Language Type Safe Type Safe, with InferenceDynamically Typed Bytecode: JIT Compiled JIT Compiled Pre-Compiled Garbage Collected Garbage Collected Reference Counted GC can run in the background at the cost of a buffer of memory. Can be parallelized more effectively and more accurately (no circular references)
  • 35. 3 5 Scripting Language Modern Native LanguageRuntime Language Type Safe Type Safe, with InferenceDynamically Typed Bytecode: JIT Compiled JIT Compiled Pre-Compiled Garbage Collected Garbage Collected Reference Counted Concurrent Threaded Single Thread Concurrent Work Pool Single threaded means no locking or syncronisation needed. But CPU workload is a major Achilles heel
  • 36. 3 6 Scripting Language Modern Native LanguageRuntime Language Type Safe Type Safe, with InferenceDynamically Typed Bytecode: JIT Compiled JIT Compiled Pre-Compiled Garbage Collected Garbage Collected Reference Counted Concurrent Threaded Single Thread Concurrent Work Pool All Platforms All Platforms Apple Platforms and Linux
  • 37. 3 7 Runtime Language Type Safe Bytecode: JIT Compiled Garbage Collected Concurrent Threaded All Platforms These characteristics let us take the JVM anywhere. No other runtime environment comes close
  • 38. Cloud IoT AI Data Analytics Real time ? No other runtime environment comes close
  • 39. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION The biggest challenge for all of us is learning to solve problems differently
  • 40. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION The new problems we face are not ones we can easily internalize, visualize or even compute • The reality of data analytics • The promise of AI These drivers are changing the face of computing as we know it. And it’s barely started
  • 41. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 The common challenges Effective optimization Visualisation of complex patterns Extracting meaning from enormous amounts of data. All things human beings are poor at doing And so are current computer architectures
  • 42. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Machine Learning etc • Helps us find reasonable answers to questions. • No guarantees on it being the best answer. Organize a group of people at a table. So that you get the ‘best’ conversation You decide what ‘best’ means
  • 43. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Two or three people - easy What about 10? - how many combinations to consider?
  • 44. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Two or three people - easy What about 10? - how many combinations to consider? Going to need some help here 3628800
  • 45. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Two or three people - easy What about 150?
  • 46. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 571338395644585459047893286526105400318 955357860112641825483758331798291248453 983931265744886753111453771078787468542 041626662501986845044663559491959220665 749425920957357789293253572904449624724 054167907221184454371222696755200000000 00000000000000000000000000000 Going to need a lot of help here
  • 47. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Machine Learning works because you design and teach it – do you know how to do that?
  • 48. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 Lets do something more real
  • 49. c c e n t u r y b j m k h l y t n e w t t c i g a f n n o y f d h t u s i a o v i a w a h o h r v e d i r n v e n y s i g a p t u a o e x t q f e a m o j k b o y i c h r b y p n a t t n v a e i z h i Java In The Twenty First Century Are you thinking far enough ahead IBM Find which one of these words is missing
  • 50. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION @spoole167 How do you solve this problem? For each String in the list. Visit each element in the grid Check if the string matches in any of the eight directions. Record if found Report which of the strings was not found
  • 51. r c e n t u r y l m y q h m y t n e w t j x v g f a s r h h f u r t u k h o u q y a m a h o c e k n s b r p v e n c a t a y g e u a j e a d h z g a m o j i p b h z a e r b y a n n d m t f g e i v e i Java In The Twenty First Century Are you thinking far enough ahead IBM
  • 52. for(y=0;y<side && dir==null;y++) { for(x=0;x<side && dir==null;x++) { char c=p.charAt(x, y); if(c==w.charAt(0)) { int l=0,dy=y,dx=x; while(l<w.length() && dy>0 && p.charAt(x,dy)==w.charAt(l)) { l++;dy--; } if(l==w.length()) { dir="N";break;} l=0;dx=x; while(l<w.length() && dx<side && p.charAt(dx,y)==w.charAt(l)) { l++;dx++; } if(l==w.length()) { dir="E";break;} l=0;dx=x;dy=y; while(l<w.length() && dy<side && p.charAt(x,dy)==w.charAt(l)) { l++;dy++; } if(l==w.length()) { dir="S";break;} l=0;dx=x; while(l<w.length() && dx>0 && p.charAt(dx,y)==w.charAt(l)) { l++;dx--; } if(l==w.length()) { dir="W";break;} l=0;dx=x;dy=y; while(l<w.length() && dy<side && dx<side && p.charAt(dx,dy)==w.charAt(l)) { l++; dy++;dx++; } if(l==w.length()) { dir="SE";break;} l=0;dx=x;dy=y; while(l<w.length() && dy<side && dx>0 && p.charAt(dx,dy)==w.charAt(l)) { l++;dy++;dx--; } if(l==w.length()) { dir="SW";break;}
  • 53. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Certainly inefficient use of a CPU 0 10 20 30 40 50 60 70 80 90 100 Java CPU % CPU1 CPU2 CPU3 CPU4 BRUTE FORCE?
  • 54. IntStream is=IntStream.range(0, side*side); is.parallel().forEach( i -> { int x=i % side; int y=i / side; <do horrible code checking here.. }); }
  • 55. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Good use of a CPU What about that code? 0 10 20 30 40 50 60 70 80 90 100 Java CPU % CPU1 CPU2 CPU3 CPU4 while( l<w.length() && dy>0 && p.charAt(x,dy)==w.charAt(l)) { l++;dy--; } BETTER?
  • 56. c c e n t u r y b j m k h l y t n e w t t c i g a f n n o y f d h t u s i a o v i a w a h o h r v e d i r n v e n y s i g a p t u a o e x t q f e a m o j k b o y i c h r b y p n a t t n v a e i z h i When searching for “java” we have to make sure we don’t run off the edge while( l<w.length() && dy>0 && p.charAt(x,dy)==w. charAt(l)) { l++;dy-- ; }
  • 57. c c e n t u r y b j m k h l y t n e w t t c i g a f n n o y f d h t u s i a o v i a w a h o h r v e d i r n v e n y s i g a p t u a o e x t q f e a m o j k b o y i c h r b y p n a t t n v a e i z h i Changing the data reduces our code Adding a empty boarder the width of the largest word Means we’ll never run off the end of the array
  • 58. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION We can do better. private static int[][] offsets= { { 0 , -1 } , // N { 1 , -1 } , // NE { 1 , 0 } , // E { 1 , 1 } , // SE { 0 , 1 } , // S { -1 , 1 } , // SW { -1 , 0 } , // W { -1 , -1 } // NW }; Turning the direction problem into a data driven one +1-1 -1 +1
  • 59. IntStream is=IntStream.range(0, (side+buffer)*(side+buffer)*8); is.parallel().forEach( i -> { int offsets[]=directions[i % 8]; int r = i / 8; int x = i % r; int y = i / r; // loop through word matching each character for(int i=0;i<word.length;i++) { . . . // move to next char in required direction by simply: x+= offsets[0]; y+= offsets[1]; } ...
  • 60. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION o n c i o s u c d q d v p l a a n u s t c z p a a s h x o o g t r g g f l w v d n s j z o e p e e x i e h f q u o q p r d m r u r w e p a x a a g k m e z t u u k u h r f w f w b z j n w y r s v t m o w g j k r g u q h x l i j f f n l y f z r z t r p x a h c n h a s c v r y m w m a d o g g z u y g k c c v s k l m m v t p v e b z c g b i m c r z o b i r s z o s g y e l f l k q v t v r v w d v i i v w s g x b w u l y p q e r a t e l t e j u o f a k m i q x z p h b h h l h a j k d u n j y b z z e g o u n a l o s r m b k f j h z f m e l a u j k w o m o g i v s v c l c i u r o s j b e r o z m z l q r x y t a k q h u t a y v m b a v z s c a k e v m t c v e b s h c b t i j k t m n c o x o c w z n y s d a y f h n q g b i o z w s j n o j a o o n y q d b l s q f r x n h g z j u v s w q e f q t e d g f y u i q v k o q c t o h e t o d w q n f f m o s c t v h r e n o y o g f h j w u v w u n u b a s k z u y u f r h z h g p j g r i q m l k p e j z g h k w r g k v k k w n w x g v p l g e v c o c e j z v n f m l b k o m q g t y z d n t s e r i i e b n w w b l q x v s i l q a e p e h r j l r e n z m l m o n w q j s f r g k s e s k o i j d z k y p t s u d p c f e t p f g t t l s h d x f r z p c c n v o e u a m w u b i z t b k i b o p l s u e p j z w t j x f s s v r b h j c v h m k d k j t l o z b m x y i m m j l d c k z f k v b q r c l t q e y n e o x f z m w b d w r b g h r j b u f u g z a m c n l j l b q q o n h n a f k h s r w p l h i m d l u s i s u l t i o g h v q u k n m h z u z u v l d u q x y m n u m o o j o u i k i d k l w h z v t o g p u d h s n f u i m j q x m x s y g l k k p p l x j s s e p a r y t o e x t i d b u s l n l y y t i p g d q p z e d z s j k i p a y i n x i l s y y v y f d o h n j m n l p g m p a n q p b s u l y d a e j m x q b a f a t f q p r z t t w q n s o f e q g k d s b j a j g v m r n j w k n c v i r i j t z a r a q r e c l t i q r v r t o a t e u t w s h w d c x r g m r h k c n y r t t s a i t i y c n s b l f s v n v q z u f c b c g o t b w m k f e p x q q m y x e x p p c r b v z n y b e p l h n k w i z m u h g a f m s u q m b f n j p s y r n g r r u r v m s a a f e e p c e m k i k t n c c a i x q e z p i k c c i c h b c k l o m z y e j y x u a y u s j q k z t o a j g z s q h p w i g f k k o n z m a g k y q u k w h e t a t y v h d q h p q u t m p s r w x t l f g l k t h b k t j d d u x u w c k u o w j l y d l f i j h k v x x n t g g w r y n g n k k e m g h v w v j p i p j e h g u u t p a x g i a e l m o h r h a u b d x s a t m y v l e v l n m f j y c n d w g y i z e t o b e e b x c b z e i g n p q u i u f j r h p z o b b d k f c a r t k y q k o k g k l l f b g b i z x j n n q h k k l w c q s g m o x y q f r m e f n w j f q h p p c z l y b k f w p e e i d c m w m r k f a q o f k a i b y a l s j u z m s j z v c q x g m p k m j a o k k n l g q o y r o p s w z z o v d x u k b u m y l e n x q k k l j r s f f n i k v i c s r e x j q c j a t c c v l k l h r h k c d p l l j e b w g k t y m z d z k x n j p a q e i k f x x y l z m q h a h h y t w l t r v c e i y w f f h j j l d w r h h e r f g j h z n b x m c l c i d l j o r b m g n j p c v b y m d p i p i b z r c z p k p b l o q p f w p n e o d n l g v i h a p t h t f i i z f r u h v q d x q u l e n a s k q a u a h f e n i v o i i s e k h r y n i u q g y z l o x i h j u p h a r o l s o l Best? This is ok when you have a “small” amount of data. What happens when the word grid is big: Billions of characters? Millions of words to find? Multidimensional? Or the word is very long (making the buffer too expensive)?
  • 61. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION a e k j c b a o a j e j a x l o n d o d n v n a v a a j v i o i c m e i e t u p a a t d a t a j a j k l i t w i q a y a m h n u e n x v d v g a g o d g t f f a u i o a s o g a g t v c c i a c h j a i b m PARTITIONING: Executor node Executor node Executor node Executor nodeHow do you deal with words split across the boundaries?
  • 62. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION a e k j c b a o a j e j a x l o n d o d n v n a v a a j v i o i c m e i e t u p a a t d a t a j a j k l i t w i q a y a m h n u e n x v d v g a g o d g t f f a u i o a s o g a g t v c c i a c h j a i b m PARTITIONING: Executor node Executor node Executor node Executor node Hint: split words into small 3x3 tiles. Find tiles (map) join together (reduce)
  • 63. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION a e k j c b a o a j e j a x l o n d o d n v n a v a a j v i o i c m e i e t u p a a t d a t a j a j k l i t w i q a y a m h n u e n x v d v g a g o d g t f f a u i o a s o g a g t v c c i a c h j a i b m PARTITIONING: Executor node Executor node Executor node Executor node CPU
  • 64. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION a e k j c b a o a j e j a x l o n d o d n v n a v a a j v i o i c m e i e t u p a a t d a t a j a j k l i t w i q a y a m h n u e n x v d v g a g o d g t f f a u i o a s o g a g t v c c i a c h j a i b m PARTITIONING: Executor node Executor node Executor node Executor node CPU GPU
  • 65. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION a e k j c b a o a j e j a x l o n d o d n v n a v a a j v i o i c m e i e t u p a a t d a t a j a j k l i t w i q a y a m h n u e n x v d v g a g o d g t f f a u i o a s o g a g t v c c i a c h j a i b m PARTITIONING: Executor node Executor node Executor node Executor node CPU GPU FPGA ASIC
  • 66. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION IBM + NVIDIA Improving Java application performance with GPU exploitation is available in IBM SDK for Java 8 and OpenJDK 9 with Eclipse Open9 Standard SE API optimisation as well as CUDA4J API for explicit low level control +
  • 67. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION GPU’s don’t work like CPU’s They want their data in different forms They behave differently You’ll have to think differently too
  • 68. if(a) { // do this } else { // do this instead } On a standard CPU Each thread runs in parallel With its own ’program counter’ Independently.if(a) { // do this } else { // do this instead } Step 1 Step 1 Step 2 Step 2
  • 69. if(a) { // do this } else { // do this instead } On a GPU Each thread runs in sync sharing a program counter The length of time for the program to complete is a factor of all the paths traveled GPU’s are best when data driven! if(a) { // do this } else { // do this instead } Step 1 Step 1 Step 2 Step 3
  • 70. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION PC Thread 1 PC Thread 2 PC Thread 3 PC Thread 4 PC Thread 5 Thing 1 Thing 1 Thing 1 Thing 1 Thing 1 Thing 2 Thing 3 Thing 4 Thing 5 Thing 5 Thing 6 Thing 6 Thing 6 Thing 6 PC Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Thing 1 Thing 1 Thing 1 Thing 1 Thing 1 Thing 2 Thing 3 Thing 4 Thing 5 Thing 5 Thing 6 Thing 6 Thing 6 Thing 6 GPU CPU
  • 71. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION PC Thread 1 PC Thread 2 PC Thread 3 PC Thread 4 PC Thread 5 Thing 1 Thing 1 Thing 1 Thing 1 Thing 1 Thing 2 Thing 3 Thing 4 Thing 5 Thing 5 Thing 6 Thing 6 Thing 6 Thing 6 PC Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Thing 1 Thing 1 Thing 1 Thing 1 Thing 1 Thing 2 Thing 3 Thing 4 Thing 5 Thing 5 Thing 6 Thing 6 Thing 6 Thing 6 GPU CPU
  • 72. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION PC Thread 1 PC Thread 2 PC Thread 3 PC Thread 4 PC Thread 5 Thing 1 Thing 1 Thing 1 Thing 1 Thing 1 Thing 2 Thing 3 Thing 4 Thing 5 Thing 5 Thing 6 Thing 6 Thing 6 Thing 6 PC Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Thing 1 Thing 1 Thing 1 Thing 1 Thing 1 Thing 2 Thing 3 Thing 4 Thing 5 Thing 5 Thing 6 Thing 6 Thing 6 Thing 6 GPU CPU
  • 73. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION o n c i o s u c d q d v p l a a n u s t c z p a a s h x o o g t r g g f l w v d n s j z o e p e e x i e h f q u o q p r d m r u r w e p a x a a g k m e z t u u k u h r f w f w b z j n w y r s v t m o w g j k r g u q h x l i j f f n l y f z r z t r p x a h c n h a s c v r y m w m a d o g g z u y g k c c v s k l m m v t p v e b z c g b i m c r z o b i r s z o s g y e l f l k q v t v r v w d v i i v w s g x b w u l y p q e r a t e l t e j u o f a k m i q x z p h b h h l h a j k d u n j y b z z e g o u n a l o s r m b k f j h z f m e l a u j k w o m o g i v s v c l c i u r o s j b e r o z m z l q r x y t a k q h u t a y v m b a v z s c a k e v m t c v e b s h c b t i j k t m n c o x o c w z n y s d a y f h n q g b i o z w s j n o j a o o n y q d b l s q f r x n h g z j u v s w q e f q t e d g f y u i q v k o q c t o h e t o d w q n f f m o s c t v h r e n o y o g f h j w u v w u n u b a s k z u y u f r h z h g p j g r i q m l k p e j z g h k w r g k v k k w n w x g v p l g e v c o c e j z v n f m l b k o m q g t y z d n t s e r i i e b n w w b l q x v s i l q a e p e h r j l r e n z m l m o n w q j s f r g k s e s k o i j d z k y p t s u d p c f e t p f g t t l s h d x f r z p c c n v o e u a m w u b i z t b k i b o p l s u e p j z w t j x f s s v r b h j c v h m k d k j t l o z b m x y i m m j l d c k z f k v b q r c l t q e y n e o x f z m w b d w r b g h r j b u f u g z a m c n l j l b q q o n h n a f k h s r w p l h i m d l u s i s u l t i o g h v q u k n m h z u z u v l d u q x y m n u m o o j o u i k i d k l w h z v t o g p u d h s n f u i m j q x m x s y g l k k p p l x j s s e p a r y t o e x t i d b u s l n l y y t i p g d q p z e d z s j k i p a y i n x i l s y y v y f d o h n j m n l p g m p a n q p b s u l y d a e j m x q b a f a t f q p r z t t w q n s o f e q g k d s b j a j g v m r n j w k n c v i r i j t z a r a q r e c l t i q r v r t o a t e u t w s h w d c x r g m r h k c n y r t t s a i t i y c n s b l f s v n v q z u f c b c g o t b w m k f e p x q q m y x e x p p c r b v z n y b e p l h n k w i z m u h g a f m s u q m b f n j p s y r n g r r u r v m s a a f e e p c e m k i k t n c c a i x q e z p i k c c i c h b c k l o m z y e j y x u a y u s j q k z t o a j g z s q h p w i g f k k o n z m a g k y q u k w h e t a t y v h d q h p q u t m p s r w x t l f g l k t h b k t j d d u x u w c k u o w j l y d l f i j h k v x x n t g g w r y n g n k k e m g h v w v j p i p j e h g u u t p a x g i a e l m o h r h a u b d x s a t m y v l e v l n m f j y c n d w g y i z e t o b e e b x c b z e i g n p q u i u f j r h p z o b b d k f c a r t k y q k o k g k l l f b g b i z x j n n q h k k l w c q s g m o x y q f r m e f n w j f q h p p c z l y b k f w p e e i d c m w m r k f a q o f k a i b y a l s j u z m s j z v c q x g m p k m j a o k k n l g q o y r o p s w z z o v d x u k b u m y l e n x q k k l j r s f f n i k v i c s r e x j q c j a t c c v l k l h r h k c d p l l j e b w g k t y m z d z k x n j p a q e i k f x x y l z m q h a h h y t w l t r v c e i y w f f h j j l d w r h h e r f g j h z n b x m c l c i d l j o r b m g n j p c v b y m d p i p i b z r c z p k p b l o q p f w p n e o d n l g v i h a p t h t f i i z f r u h v q d x q u l e n a s k q a u a h f e n i v o i i s e k h r y n i u q g y z l o x i h j u p h a r o l s o l What about when you don’t know the words your searching for? Do you create a list of every possible word?
  • 74. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION NEURAL: a e k j c b a o a j e j a x l o n d o d n v n a v a a j v i o i c m e i e t u p a a t d a t a j a j k l i t w i q a y a m h n u e n x v d v g a g o d g t f f a u i o a s o g a g t v c c i a c h j a i b m Teach a Neural Net about how words are constructed. Then let it search the grid Then work out which words are ‘real’ Don’t think that’s possible?
  • 75. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION http://karpathy.github.io/2015/05/21/rnn-effectiveness/
  • 76. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
  • 77. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION SYNAPSE: A program to develop a neuromorphic processor that is a new kind of cognitive computer Designed to simulate the neurones and dendrites of the brain for low power efficient operation
  • 78. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Event driven, Non Von Neumann Neural Network. Neural Nets want their data in different forms They behave differently You’ll have to think differently too
  • 79. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Now it gets even stranger..
  • 80. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION SEARCH In 1996 a search algorithm was defined by Lov Grover. This algorithm can transform the problem into an O(√N) search. On a traditional computer this search problem is solved in no fewer than O(N) evaluations
  • 81. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION 0 - ish Z Rotation or ‘phase’ 1 - ish Y Rotation or ‘pha X Rotation or ‘phase’
  • 82. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
  • 83. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
  • 84. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION QBIT Microwave resonators
  • 85. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION qubitbit 1 0 SEARCH
  • 86. r c e n t u r y l m y q h m y t n e w t j x v g f a s r h h f u r t u k h o u q y a m a h o c e k n s b r p v e n c a t a y g e u a j e a d h z g a m o j i p b h z a e r b y a n n d m t f g e i v e i “Java” Try 1 3,5 -> NE
  • 87. r c e n t u r y l m y q h m y t n e w t j x v g f a s r h h f u r t u k h o u q y a m a h o c e k n s b r p v e n c a t a y g e u a j e a d h z g a m o j i p b h z a e r b y a n n d m t f g e i v e i “Java” Try 1 3,5 -> NE No – try again
  • 88. r c e n t u r y l m y q h m y t n e w t j x v g f a s r h h f u r t u k h o u q y a m a h o c e k n s b r p v e n c a t a y g e u a j e a d h z g a m o j i p b h z a e r b y a n n d m t f g e i v e i “Java” Try 2 4,4 -> N
  • 89. r c e n t u r y l m y q h m y t n e w t j x v g f a s r h h f u r t u k h o u q y a m a h o c e k n s b r p v e n c a t a y g e u a j e a d h z g a m o j i p b h z a e r b y a n n d m t f g e i v e i “Java” Try 2 4,4 -> N No – try again
  • 90. r c e n t u r y l m y q h m y t n e w t j x v g f a s r h h f u r t u k h o u q y a m a h o c e k n s b r p v e n c a t a y g e u a j e a d h z g a m o j i p b h z a e r b y a n n d m t f g e i v e i “Java” Try 3 6,3 -> NW
  • 91. r c e n t u r y l m y q h m y t n e w t j x v g f a s r h h f u r t u k h o u q y a m a h o c e k n s b r p v e n c a t a y g e u a j e a d h z g a m o j i p b h z a e r b y a n n d m t f g e i v e i “Java” Try 3 6,3 -> NW No – try again
  • 92. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION QUANTUM: a e k j c b a o a j l g m e e t u p a p l n a v a a j v i o p c m e i e t u p a a r d a t a j a j k l u t w i q a y a m h d u e n x v d v g a j o d g t f f a u i a a s o g a g t v c z i a c h j a i b m www.research.ibm.com/ibm-q/ Real life demo?
  • 93. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Quantum Computers can and will solve linear equations break cryptographic systems or model new medicines In times that are a fraction of what existing computers can achieve now. Word searches are easy. But you present the data differently and get a statistical response. No more 0&1’s
  • 94. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION The JVM design means that we can easily imagine running Java on new forms of processors. It may not end up being todays Java but it will be close The challenge is that you have to change how you think! And as for Cloud? Containers, fast startups, small memory footprints, Jit as a Sevice? That’s happening today. Think about tomorrow.
  • 95. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION OPPORTUNITY: Data flows from every device, replacing guessing and approximations with precise information. Yet 80% of this data is unstructured; therefore, invisible to computers and of limited use to business. HEALTHCARE DATA GOVERNMENT & EDUCATION DATA 99% 88% 94% 84% Healthcare data comes from sources such as: Government & education data comes from sources such as: Patient Sensors Electronic Medical Records Test Results Vehicle Fleet Sensors Traffic Sensors Student Evaluations UTILITIES DATA MEDIA DATA 93% 84% 97% 82% Utilities data comes from sources such as: Media data comes from sources such as: Utility Sensors Employee Sensors Location Data Video and Film Images Audio By 2020, of new information will be created every second for every human being on the planet. growth by 2017 unstructured growth by 2017 unstructured 1.7 MB growth by 2017 unstructured growth by 2017 unstructured
  • 96. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION The world is being reinvented in code. Java code. HOW, AND WHY NOW?
  • 97. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION Computing is entering a new cognitive era. What do you Think when you solve a problem? HOW, AND WHY NOW?
  • 98. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION
  • 99. © 2015 INTERNATIONAL BUSINESS MACHINES CORPORATION

Hinweis der Redaktion

  1. GPU TestSorting 30k elements - in order to see offload to GPU being of benefit CPU trend down towards 4m elements/sec GPU trended up towards 400m elements / sec Between 3m and 300m elements approaching 100X improvement
  2. At roughly the same time that Grover published his algorithm, Bennett, Bernstein, Brassard, and Vazirani proved that no quantum solution to the problem can evaluate the function fewer than thes this  times, so Grover's algorithm is asymptotically optimal.[1]
  3. With a QC ability to execute all search's in parallel wordsearches are easy But theans