Académique Documents
Professionnel Documents
Culture Documents
2013
Dates
Melbourne: December 5-6
Brisbane: December 9-10
Sydney: December 12-13
Confirmed Keynotes
Jeff Hawkins
Confirmed Keynotes
Scott Hanselman
Confirmed Keynotes
Philip Wadler
Phillipe Kruchten
Doug Crockford
Jim Webber
Daniel Spiewak
Michael Nygard
Scott Murray
Steve Vinoski
D3.js
Mike Dixon
Trish Gee
Jesper Richter-Reichhelm
Eric Evans
Elizabeth Keogh
Charles Nutter
Jruby
Aaron Bedra
Hadi Harri
JetBrains, Kotlin
Ben Christensen
RxJava, Netflix
Outline
Hardware
Machines
Virtual
Machines
Essence
of
a
Language
Virtual
Machine
700+
languages
in
7
minutes
LVM
Engineering
Design
Choices
LVM
Speed
and
Space
Musings
on
Next
Genera*on
VMs
Discussion
Real Machines
...
...
...
Cn
Registers/Buffers
<1ns
C1
L1
~4 cycles ~1ns
L1
L2
L2
L3
PCI-e 3
MC
QPI ~40ns
DRAM
40X
IO
DRAM
DRAM
DRAM
Cn
L1
L2
L3
QPI
...
...
...
QPI
MC
PCI-e 3
DRAM
~65ns
DRAM
DRAM
40X
IO
DRAM
(c) Martin Thompson 2012 - 2013
Virtual
HW
Machines
SoZware
which
seeks
to
eciently
emulate
an
ideal
abstract
HW
machine
on
dierent
real
HW
plajorms
IBM
AS/400,
Calusa
B-RISC,
Google
Portable
Na*ve
Run*me
Instruc*on
Set
Stack + Memory
2013 Bedarra Research Labs. All rights reserved.
10
VM
Instruc*on
Sets
Essen*al or Exo*c?
11
VM
Implementa*on
Interpreter,
Compiler,
Mixed,
Mul*ple
Low
Level
Language
C/C++
,
C
Implement
the
LVM
in
a
subset
of
the
LVM
language
(self
hos*ng)
Core Libraries
12
Implement in LVM
2013 Bedarra Research Labs. All rights reserved.
Method/Func*on Dispatch
13
Garbage
Collec*on
Concurrency
Model
Actors
versus
Data
Parallel
Immutable
Data
Structures
Low
level
Threads
and
Locks
(semaphores)
Na*ve
OS
Threads
versus
Green
Threads
2013 Bedarra Research Labs. All rights reserved.
14
Client
Centric
Applica*on
Embedded or Pervasive
Memory Constrained
Code in Flash
Trusted
Real-*me GC
15
16
Further
Reading
Structure
and
Interpreta*on
of
Computer
Programs,
Abelson
and
Sussman
The
Lambda
Papers,
Guy
Steele,
MIT
Technical
Reports
Understanding
Java
Garbage
Collec*on,
Gil
Tene
JVM
JIT
for
Dummies,
Charles
Nuler
We
Can
Do
Beler,
IBMs
Vision
for
Next
Genera*on
Java
VMs,
EclipseCon
Europe
Smalltalk-80:
The
Language
and
its
Implementa*on,
Goldberg,
A.,
Robson.
I,
Addison-Wesley,
1983.
Op*mizing
Dynamically-Dispatched
with
Run-Time
Type
Feedback,
Urs
Holzle
V8
A
High
Performance
Open
Source
JavaScript
Engine,
Kasper
Lund
Trace-based
Just-in-Time
Type
Specializa*on
for
Dynamic
Languages,
Andreas
Gal
et
al
AS/400,
DAISY,
B-RISC,
Transmeta,
LLDA,
AMD
HAS,
Google
PNaCl
Supports
many
language
using
so7ware
fault
isola-on
Innite
register
machine
Single
assignment
3
address
instruc*ons
Op*onal
data
ow
and
control
ow
informa*on
17
18