@hollycummins.com
QCon London
Holly Cummins
Red Hat
The Efficiency Paradox
How to Save Yourself
… and the World
Slide 2
Slide 2 text
@holly_cummins
#RedHat
now
senior principal software engineer
helping to build Quarkus
Slide 3
Slide 3 text
@holly_cummins
#RedHat
now
senior principal software engineer
helping to build Quarkus
2007
let’s make garbage
collection more
efficient!
Slide 4
Slide 4 text
@holly_cummins
#RedHat
now
senior principal software engineer
helping to build Quarkus
2007
let’s make garbage
collection more
efficient!
2015
lean and xp makes
your team more
efficient!
Slide 5
Slide 5 text
@holly_cummins
#RedHat
now
senior principal software engineer
helping to build Quarkus
2007
let’s make garbage
collection more
efficient!
2015
lean and xp makes
your team more
efficient!
2022
quarkus is
wonderfully efficient!
Slide 6
Slide 6 text
@holly_cummins #RedHat
“this provisioning
software is broken”
Slide 7
Slide 7 text
@holly_cummins #RedHat
what we sold
“this provisioning
software is broken”
10 minute
provision-time
Slide 8
Slide 8 text
@holly_cummins #RedHat
what we sold
“this provisioning
software is broken”
10 minute
provision-time
3 month
provision-
time
what the
client
thought
they’d got
Slide 9
Slide 9 text
@holly_cummins #RedHat
what we sold
“this provisioning
software is broken”
10 minute
provision-time
3 month
provision-
time
what the
client
thought
they’d got
the reason
84-step
pre-approval process
Slide 10
Slide 10 text
@holly_cummins #RedHat
waste
Slide 11
Slide 11 text
@hollycummins.com
1700s
machine
Slide 12
Slide 12 text
@hollycummins.com
1700s
machine
energy
Slide 13
Slide 13 text
@hollycummins.com
1700s
machine
energy energy
Slide 14
Slide 14 text
@hollycummins.com
1700s
machine
energy energy
useful
Slide 15
Slide 15 text
@hollycummins.com
1700s
waste
machine
energy energy
useful
Slide 16
Slide 16 text
@hollycummins.com
1890s
processes
Slide 17
Slide 17 text
@hollycummins.com
time
money
1890s
processes
Slide 18
Slide 18 text
@hollycummins.com
time
money
1890s
value
processes
Slide 19
Slide 19 text
@hollycummins.com
time
money
1890s
value
processes
Slide 20
Slide 20 text
@hollycummins.com
time
money
1890s
value
processes
waste
Slide 21
Slide 21 text
@hollycummins.com
software 1960s
Slide 22
Slide 22 text
@hollycummins.com
software
time
electricity
hardware
1960s
Slide 23
Slide 23 text
@hollycummins.com
software
time
electricity
hardware
answers
1960s
Slide 24
Slide 24 text
@hollycummins.com
software
time
electricity
hardware
answers
1960s
waste
Slide 25
Slide 25 text
@hollycummins.com
waste is killing the planet
Slide 26
Slide 26 text
@hollycummins.com
e-waste is killing the planet
Slide 27
Slide 27 text
@hollycummins.com
energy waste is
killing the planet
@hollycummins.com https://blog.linkedin.com/2017/august/3/making-linkedin-more-accessible-via-linkedin-lite
“my heart sank … our new feature
failed to load because of poor
internet connectivity”
Nashik
Slide 31
Slide 31 text
@hollycummins.com https://blog.linkedin.com/2017/august/3/making-linkedin-more-accessible-via-linkedin-lite
modern web is so inefficient it is
useless for part of its audience
“my heart sank … our new feature
failed to load because of poor
internet connectivity”
Nashik
Slide 32
Slide 32 text
@hollycummins.com
forgotten code is
killing the planet
Slide 33
Slide 33 text
#RedHat
@[email protected]
25%
of 16,000 servers
doing no useful work
https://www.anthesisgroup.com/wp-content/uploads/2019/11/Comatose-Servers-Redux-2017.pdf
zombie servers
Slide 34
Slide 34 text
#RedHat
@[email protected]
the average server:
12 - 18%
of capacity
https://www.nrdc.org/sites/default/files/data-center-efficiency-assessment-IB.pdf
Slide 35
Slide 35 text
@hollycummins.com
unused data is
killing the planet
Slide 36
Slide 36 text
#RedHat
@[email protected]
68%
of data is stored and never used
https://www.nrdc.org/sites/default/files/data-center-efficiency-assessment-IB.pdf
https://www.seagate.com/gb/en/news/news-archive/seagates-rethink-data-report-reveals-that-68-percent-of-data-available-to-businesses-goes-unleveraged-pr-master/
Slide 37
Slide 37 text
@hollycummins.com
it’s not just money
Slide 38
Slide 38 text
@hollycummins.com
it’s not just electricity
it’s not just money
Slide 39
Slide 39 text
@hollycummins.com
it’s not just electricity
it’s not just money
it’s embodied carbon
Slide 40
Slide 40 text
@hollycummins.com
it’s not just electricity
it’s water
it’s not just money
it’s embodied carbon
Slide 41
Slide 41 text
@hollycummins.com
it’s not just electricity
it’s water
it’s e-waste
it’s not just money
it’s embodied carbon
Slide 42
Slide 42 text
@hollycummins.com
we have solutions
good news, everyone
Slide 43
Slide 43 text
@holly_cummins
#RedHat
making turning servers off as safe
and easy as turning lights off.
and then automate it.
Slide 44
Slide 44 text
@holly_cummins
#RedHat
solution:
LightSwitchOps
making turning servers off as safe
and easy as turning lights off.
and then automate it.
Slide 45
Slide 45 text
@holly_cummins
#RedHat
absurdly simple scripts
my shell script to power
down machines overnight
saved my school €12,000
Slide 46
Slide 46 text
@holly_cummins
#RedHat
simple automation
we used to leave
our applications
running all the time
@darkandnerdy, Chicago DevOpsDays
Slide 47
Slide 47 text
@holly_cummins
#RedHat
simple automation
we used to leave
our applications
running all the time
when we
scripted turning
them off at night,
we reduced our
cloud bill by
30%
@darkandnerdy, Chicago DevOpsDays
Slide 48
Slide 48 text
@holly_cummins
#RedHat
fancier scripts …
with a frontend and a backend
Slide 49
Slide 49 text
@holly_cummins
#RedHat
Slide 50
Slide 50 text
@holly_cummins
#RedHat
saves energy
Slide 51
Slide 51 text
@holly_cummins
#RedHat
saves energy
saves money
Slide 52
Slide 52 text
@holly_cummins
#RedHat
saves energy
saves money
bonus: tests disaster recovery
Slide 53
Slide 53 text
@holly_cummins
#RedHat
saves energy
saves money
bonus: tests disaster recovery
Slide 54
Slide 54 text
@holly_cummins
#RedHat
Slide 55
Slide 55 text
@holly_cummins
#RedHat
solution:
faster code
Slide 56
Slide 56 text
#Quarkus @[email protected]
focus on making the
bottleneck efficient
Slide 57
Slide 57 text
@holly_cummins
the vrroooom model
Slide 58
Slide 58 text
@holly_cummins
Slide 59
Slide 59 text
@holly_cummins
invented by Dr. Vroom
(really!)
Slide 60
Slide 60 text
@holly_cummins
naming is the hardest problem in computer science
invented by Dr. Vroom
(really!)
Slide 61
Slide 61 text
@holly_cummins
naming is the hardest problem in computer science
Slide 62
Slide 62 text
@holly_cummins
my vrroooom model
Slide 63
Slide 63 text
No content
Slide 64
Slide 64 text
@holly_cummins
#RedHat
Slide 65
Slide 65 text
@holly_cummins
#RedHat
these two columns
are almost the same
Slide 66
Slide 66 text
@holly_cummins
#RedHat
Energy
1
10
100
Time
1 10 100
energy efficiency across programming languages
Python
Rust
Java
Go
Slide 67
Slide 67 text
@holly_cummins
#RedHat
Energy
1
10
100
Time
1 10 100
the trend line is more
or less straight
energy efficiency across programming languages
Python
Rust
Java
Go
Slide 68
Slide 68 text
No content
Slide 69
Slide 69 text
case study
Quarkus
Slide 70
Slide 70 text
@holly_cummins
#RedHat
Java application frameworks
needed dynamic dependencies
the distant past
Slide 71
Slide 71 text
@holly_cummins #RedHat
cloud apps are
immutable
now
Slide 72
Slide 72 text
@holly_cummins #RedHat
cloud apps are
immutable
now
Slide 73
Slide 73 text
@holly_cummins
#RedHat
a highly dynamic
runtime in a container
is pointless
Slide 74
Slide 74 text
@holly_cummins
Java dynamism
Slide 75
Slide 75 text
@holly_cummins
Java dynamism
build time
Slide 76
Slide 76 text
@holly_cummins
Java dynamism
build time runtime
Slide 77
Slide 77 text
@holly_cummins
Java dynamism
build time runtime
Slide 78
Slide 78 text
@holly_cummins
Java dynamism
packaging
(maven, gradle…)
build time runtime
Slide 79
Slide 79 text
@holly_cummins
Java dynamism
build time runtime
Slide 80
Slide 80 text
@holly_cummins
Java dynamism
build time runtime
Slide 81
Slide 81 text
@holly_cummins
Java dynamism
build time runtime
load and parse
• config files
• properties
• yaml
• xml
• etc.
Slide 82
Slide 82 text
@holly_cummins
Java dynamism
build time runtime
Slide 83
Slide 83 text
@holly_cummins
Java dynamism
@
@
build time runtime
• classpath scanning and
annotation discovery
• attempt to load class to
enable/disable features
Slide 84
Slide 84 text
@holly_cummins
Java dynamism
@
@
build time runtime
Slide 85
Slide 85 text
@holly_cummins
Java dynamism
@
@
build time runtime
build a metamodel
of the world
Slide 86
Slide 86 text
@holly_cummins
Java dynamism
@
@
build time runtime
Slide 87
Slide 87 text
@holly_cummins
Java dynamism
@
@
build time runtime
start
• thread pools
• I/O
• etc.
Slide 88
Slide 88 text
@holly_cummins
Java dynamism
@
@
build time runtime
ready to
do work!
Slide 89
Slide 89 text
@holly_cummins
what if we start the application more than once?
@
@
Slide 90
Slide 90 text
@holly_cummins
what if we start the application more than once?
@
@
@
@
Slide 91
Slide 91 text
@holly_cummins
what if we start the application more than once?
@
@
@
@
@
@
Slide 92
Slide 92 text
@holly_cummins
what if we start the application more than once?
@
@
@
@
@
@
@
@
Slide 93
Slide 93 text
@holly_cummins
what if we start the application more than once?
@
@
@
@
@
@
@
@
Slide 94
Slide 94 text
@holly_cummins
what if we start the application more than once?
@
@
@
@
@
@
@
@
so much work gets
redone every time
@holly_cummins
Hibernate
speed example: JTA auto-wiring
Class.forName(“LikelyJTAImplementation”);
Class.forName(“APossibleJTAImplementation”);
Class.forName(“AnotherJTAImplementation”);
Class.forName(“NicheJTAImplementation”);
Class.forName(“VeryNicheJTAImplementation”);
…
~129
auto-wiring attempts
every single start.
Slide 106
Slide 106 text
@holly_cummins
the true cost of loaded classes isn’t just memory + start time
Slide 107
Slide 107 text
@holly_cummins
the true cost of loaded classes isn’t just memory + start time
method dispatching:
Slide 108
Slide 108 text
@holly_cummins
interface
the true cost of loaded classes isn’t just memory + start time
method dispatching:
Slide 109
Slide 109 text
@holly_cummins
unused
implementation
the one we
want
interface
unused
implementation
unused
implementation
the true cost of loaded classes isn’t just memory + start time
method dispatching:
Slide 110
Slide 110 text
@holly_cummins
unused
implementation
the one we
want
interface
unused
implementation
unused
implementation
the true cost of loaded classes isn’t just memory + start time
method dispatching:
Slide 111
Slide 111 text
@holly_cummins
unused
implementation
the one we
want
interface
megamorphic call
slow dispatching
unused
implementation
unused
implementation
the true cost of loaded classes isn’t just memory + start time
method dispatching:
Slide 112
Slide 112 text
@holly_cummins
the true cost of loaded classes isn’t just memory + start time
the one we
want
interface
Slide 113
Slide 113 text
@holly_cummins
the true cost of loaded classes isn’t just memory + start time
the one we
want
monomorphic call
fast dispatching
interface
Slide 114
Slide 114 text
@holly_cummins
how do we fix all this?
Slide 115
Slide 115 text
@holly_cummins
@
@
build time runtime
what if we initialize at build time?
Slide 116
Slide 116 text
@holly_cummins
@
@
build time runtime
what if we initialize at build time?
Slide 117
Slide 117 text
@holly_cummins
@
@
build time runtime
ready to
do work!
what if we initialize at build time?
Slide 118
Slide 118 text
@holly_cummins
@
@
build time runtime
ready to
do work!
start
• thread pools
• I/O
• etc.
what if we initialize at build time?
Slide 119
Slide 119 text
@holly_cummins
@
@
repeated starts are now efficient
Slide 120
Slide 120 text
@holly_cummins
@
@
repeated starts are now efficient
Slide 121
Slide 121 text
@holly_cummins
@
@
repeated starts are now efficient
Slide 122
Slide 122 text
@holly_cummins
@
@
repeated starts are now efficient
Slide 123
Slide 123 text
@holly_cummins
@
@
repeated starts are now efficient
Slide 124
Slide 124 text
@holly_cummins
@
@
repeated starts are now efficient
Slide 125
Slide 125 text
@holly_cummins
@
@
repeated starts are now efficient
less wasted work
Slide 126
Slide 126 text
@holly_cummins #RedHat
capacity
Source: John O’Hara
Setup:
• REST + CRUD
• large heap
• RAPL energy measurement
Assumptions:
• US energy mix
climate impact of framework choice
Slide 127
Slide 127 text
@holly_cummins #RedHat
capacity
Source: John O’Hara
Setup:
• REST + CRUD
• large heap
• RAPL energy measurement
Assumptions:
• US energy mix
climate impact of framework choice
shorter line means
lower max throughput
Slide 128
Slide 128 text
@holly_cummins #RedHat
capacity
Source: John O’Hara
Setup:
• REST + CRUD
• large heap
• RAPL energy measurement
Assumptions:
• US energy mix
climate impact of framework choice
shorter line means
lower max throughput
higher line means worse
carbon footprint
Slide 129
Slide 129 text
@holly_cummins #RedHat
capacity
Source: John O’Hara
Setup:
• REST + CRUD
• large heap
• RAPL energy measurement
Assumptions:
• US energy mix
climate impact of framework choice
vrrrooom model in action:
quarkus on JVM has the smallest footprint …
because it has the highest throughput
shorter line means
lower max throughput
higher line means worse
carbon footprint
Slide 130
Slide 130 text
@holly_cummins
throughput
startup time
+ footprint
Slide 131
Slide 131 text
@holly_cummins
we beat the trade-off.
throughput
startup time
+ footprint
Slide 132
Slide 132 text
@holly_cummins
we beat the trade-off.
throughput
startup time
+ footprint
Slide 133
Slide 133 text
@holly_cummins
we beat the trade-off.
throughput
startup time
+ footprint
it’s a double-win.
Slide 134
Slide 134 text
No content
Slide 135
Slide 135 text
@holly_cummins
we beat another trade-off.
human
efficiency
machine
efficiency
Slide 136
Slide 136 text
@holly_cummins
we beat another trade-off.
human
efficiency
machine
efficiency
Slide 137
Slide 137 text
@holly_cummins
we beat another trade-off.
human
efficiency
machine
efficiency
another double-win.
Slide 138
Slide 138 text
@hollycummins.com
boilerplate code
Slide 139
Slide 139 text
@hollycummins.com
boilerplate code
Slide 140
Slide 140 text
@hollycummins.com
live coding
Slide 141
Slide 141 text
@hollycummins.com
live coding
-less energy wasted running full build + launch cycles
Slide 142
Slide 142 text
@hollycummins.com
live coding
-less energy wasted running full build + launch cycles
-less dev time wasted waiting for full build + launch cycles
Slide 143
Slide 143 text
@hollycummins.com
targeted continuous testing
Slide 144
Slide 144 text
@hollycummins.com
targeted continuous testing
-less energy wasted running full test suites
Slide 145
Slide 145 text
@hollycummins.com
targeted continuous testing
-less energy wasted running full test suites
-less dev time wasted waiting for full test runs
Slide 146
Slide 146 text
@holly_cummins
developer joy
Slide 147
Slide 147 text
@holly_cummins
developer joy
Slide 148
Slide 148 text
@holly_cummins
developer joy
is a double win
Slide 149
Slide 149 text
@holly_cummins
the double win isn’t just a java thing.
Slide 150
Slide 150 text
@holly_cummins
the ai-lephant
in the room
Slide 151
Slide 151 text
@holly_cummins
we don’t need to have a nice
programming model; people can just
use AI to write the bad code!
Slide 152
Slide 152 text
@holly_cummins
we don’t need to have a nice
programming model; people can just
use AI to write the bad code!
3 problems.
Slide 153
Slide 153 text
@holly_cummins
problem 1: cost
Slide 154
Slide 154 text
@holly_cummins
problem 1: cost
Slide 155
Slide 155 text
@holly_cummins #RedHat
problem 2: correctness
Slide 156
Slide 156 text
@holly_cummins #RedHat
efficiency of kangaroo-
powered renewable
energy
problem 2: correctness
Slide 157
Slide 157 text
@holly_cummins #RedHat
efficiency of kangaroo-
powered renewable
energy
15%
problem 2: correctness
Slide 158
Slide 158 text
@holly_cummins #RedHat
Slide 159
Slide 159 text
@holly_cummins #RedHat
Slide 160
Slide 160 text
@holly_cummins #RedHat
Slide 161
Slide 161 text
@holly_cummins #RedHat
disclaimer:
Slide 162
Slide 162 text
@holly_cummins #RedHat
disclaimer:
this isn’t a thing.
Slide 163
Slide 163 text
@holly_cummins #RedHat
disclaimer:
this isn’t a thing.
researchers did not use kangaroos on
trampolines for electricity generation.
Slide 164
Slide 164 text
@hollycummins.com
problem 3: verbosity
Slide 165
Slide 165 text
@hollycummins.com
problem 3: verbosity
Slide 166
Slide 166 text
@hollycummins.com
problem 3: verbosity
Slide 167
Slide 167 text
@hollycummins.com
problem 3: verbosity
Slide 168
Slide 168 text
@hollycummins.com
problem 3: verbosity
Slide 169
Slide 169 text
@hollycummins.com
problem 3: verbosity
Slide 170
Slide 170 text
@hollycummins.com
70%
unnecessary
code
problem 3: verbosity
Slide 171
Slide 171 text
@hollycummins.com
70% more code than
we need hurts us
Slide 172
Slide 172 text
@hollycummins.com
70% more code than
we need hurts us
we spend far more time
reading code than writing it
Slide 173
Slide 173 text
@hollycummins.com
“illusion of efficiency”
Slide 174
Slide 174 text
@hollycummins.com
we have a solution
Slide 175
Slide 175 text
@holly_cummins
-small fine-tuned models
-small model + RAG
-hybrid: symbolic reasoning + model
solution:
Slide 176
Slide 176 text
@holly_cummins
illusions of efficiency
are everywhere
Slide 177
Slide 177 text
@hollycummins.com
limits to efficiency
Slide 178
Slide 178 text
@holly_cummins #RedHat
Jevon’s paradox
limit 1: economic theory
“efficiency improvements can sometimes
lead to increased consumption”
Slide 179
Slide 179 text
@holly_cummins #RedHat
what we imagine when
we widen roads
Slide 180
Slide 180 text
@holly_cummins #RedHat
what we get
Slide 181
Slide 181 text
@holly_cummins #RedHat
limit 2: physics
Slide 182
Slide 182 text
@holly_cummins #RedHat
even for machines, there is a
limit to efficiency
limit 2: physics
Slide 183
Slide 183 text
@holly_cummins #RedHat
even for machines, there is a
limit to efficiency
…and it’s lower than you think
limit 2: physics
@holly_cummins #RedHat
theoretical max
efficiency of a
combustion engine
limit 2
Slide 188
Slide 188 text
@holly_cummins #RedHat
theoretical max
efficiency of a
combustion engine
limit 2
37%
Slide 189
Slide 189 text
@hollycummins.com
efficiency can give
worse outcomes
Slide 190
Slide 190 text
@holly_cummins #RedHat
typical efficiency of a
combustion engine
Slide 191
Slide 191 text
@holly_cummins #RedHat
~20%
typical efficiency of a
combustion engine
Slide 192
Slide 192 text
@holly_cummins #RedHat
if we want the engine
to not wear out
~20%
typical efficiency of a
combustion engine
Slide 193
Slide 193 text
@holly_cummins
resiliency
efficiency
Slide 194
Slide 194 text
@hollycummins.com
Slide 195
Slide 195 text
@hollycummins.com
speed
Slide 196
Slide 196 text
@hollycummins.com
speed
vs
resiliency
Slide 197
Slide 197 text
@hollycummins.com
let’s talk about your multi-region failover.
Slide 198
Slide 198 text
@hollycummins.com
#RedHat
Slide 199
Slide 199 text
@hollycummins.com
highly efficient
(optimum number of legs)
#RedHat
Slide 200
Slide 200 text
@hollycummins.com
highly efficient
(optimum number of legs)
less efficient
(more legs than needed)
#RedHat
Slide 201
Slide 201 text
@hollycummins.com
highly efficient
(optimum number of legs)
less efficient
(more legs than needed)
resilient
#RedHat
Slide 202
Slide 202 text
@hollycummins.com
highly efficient
(optimum number of legs)
less efficient
(more legs than needed)
resilient
#RedHat
Slide 203
Slide 203 text
@hollycummins.com
highly efficient
(optimum number of legs)
no resiliency
less efficient
(more legs than needed)
resilient
#RedHat
Slide 204
Slide 204 text
@hollycummins.com
highly efficient
(optimum number of legs)
no resiliency
less efficient
(more legs than needed)
resilient
#RedHat
resiliency
lowers
efficiency
Slide 205
Slide 205 text
@hollycummins.com
it’s the same for people
Slide 206
Slide 206 text
@hollycummins.com
it’s the same for people
all work and no play is …
not efficient
Slide 207
Slide 207 text
@hollycummins.com
Slide 208
Slide 208 text
@hollycummins.com
Slide 209
Slide 209 text
@hollycummins.com
Slide 210
Slide 210 text
@hollycummins.com
hi colleague,
could you ple-
Slide 211
Slide 211 text
@hollycummins.com
hi colleague,
could you ple- argh!
&!*$*%@!{*%^!^! busy!
NO! I CANNOT!
Slide 212
Slide 212 text
@hollycummins.com
Slide 213
Slide 213 text
@holly_cummins
the value
of slack
Slide 214
Slide 214 text
@holly_cummins
the value
of slack
Slide 215
Slide 215 text
@holly_cummins
the value
of slack
Slide 216
Slide 216 text
@holly_cummins
the value
of slack
naming is still the hardest problem in computer science
Slide 217
Slide 217 text
@holly_cummins
the value
of slack
Slide 218
Slide 218 text
@holly_cummins #RedHat
doing nothing
Slide 219
Slide 219 text
@holly_cummins #RedHat
doing nothing efficiency
Slide 220
Slide 220 text
@holly_cummins #RedHat
the default mode network
idle minds can solve hard problems
Slide 221
Slide 221 text
#RedHat
@holly_cummins
Slide 222
Slide 222 text
#RedHat
@holly_cummins
Slide 223
Slide 223 text
#RedHat
@holly_cummins
Slide 224
Slide 224 text
#RedHat
@holly_cummins
Slide 225
Slide 225 text
#RedHat
@holly_cummins
14% took showers
specifically for the purpose
of coming up with ideas
Slide 226
Slide 226 text
@hollycummins.com
psychology says we need idle time; maths agrees
Slide 227
Slide 227 text
@hollycummins.com
queueing theory says systems need to run under-capacity to function
psychology says we need idle time; maths agrees
Slide 228
Slide 228 text
@hollycummins.com
queuing theory basics
Slide 229
Slide 229 text
@hollycummins.com
queuing theory basics
arrival process
Slide 230
Slide 230 text
@hollycummins.com
queuing theory basics
arrival process
Poisson distribution
Slide 231
Slide 231 text
@hollycummins.com
queuing theory basics
queue
arrival process
Poisson distribution
Slide 232
Slide 232 text
@hollycummins.com
queuing theory basics
queue
arrival process
Poisson distribution
Slide 233
Slide 233 text
@hollycummins.com
queuing theory basics
queue
arrival process servers
Poisson distribution
Slide 234
Slide 234 text
@hollycummins.com
queuing theory basics
queue
arrival process servers
Poisson distribution
Slide 235
Slide 235 text
@hollycummins.com
queuing theory basics
queue
arrival process servers completed work
Poisson distribution
Slide 236
Slide 236 text
@hollycummins.com
if arrival rates are low, servers will be idle
queue
arrival process servers completed work
Slide 237
Slide 237 text
@hollycummins.com
queue
arrival process servers completed work
if server capacity is too low, wait times are high
Slide 238
Slide 238 text
@hollycummins.com
utilisation
lead time
http://brodzinski.com/2015/01/slack-time-value.html
assuming Poisson
distribution of arrivals
Slide 239
Slide 239 text
@hollycummins.com
utilisation
lead time
http://brodzinski.com/2015/01/slack-time-value.html
assuming Poisson
distribution of arrivals
80% utilisation → 90% utilisation:
wait times double
Slide 240
Slide 240 text
@hollycummins.com
utilisation
http://brodzinski.com/2015/01/slack-time-value.html
cost
delay
cost
assuming Poisson
distribution of arrivals
80% utilisation → 90% utilisation:
wait times double
Slide 241
Slide 241 text
@hollycummins.com
utilisation
http://brodzinski.com/2015/01/slack-time-value.html
cost
delay
cost
cost of idle
capacity
assuming Poisson
distribution of arrivals
80% utilisation → 90% utilisation:
wait times double
Slide 242
Slide 242 text
@holly_cummins #RedHat
the 6-day working week
was the standard
Slide 243
Slide 243 text
@holly_cummins #RedHat
the 6-day working week
Slide 244
Slide 244 text
@holly_cummins #RedHat
Slide 245
Slide 245 text
@holly_cummins #RedHat
productivity stayed the same
Slide 246
Slide 246 text
@holly_cummins #RedHat
Slide 247
Slide 247 text
@holly_cummins #RedHat
the 4-day working week?
Slide 248
Slide 248 text
@holly_cummins #RedHat
42% decrease in resignations
the 4-day working week?
Slide 249
Slide 249 text
@holly_cummins #RedHat
42% decrease in resignations
36% increase in revenue
the 4-day working week?
Slide 250
Slide 250 text
@holly_cummins #RedHat
efficiency may not
look how we expect
Slide 251
Slide 251 text
@holly_cummins #RedHat
most efficient land animal
efficiency may not
look how we expect
Slide 252
Slide 252 text
@holly_cummins #RedHat
most efficient land animal
cool and bouncy
efficiency may not
look how we expect
Slide 253
Slide 253 text
@holly_cummins #RedHat
most efficient land animal
cool and bouncy
uncool and floppy
efficiency may not
look how we expect
Slide 254
Slide 254 text
@holly_cummins #RedHat
most efficient land animal
cool and bouncy
uncool and floppy
whole body is basically slack
efficiency may not
look how we expect
Slide 255
Slide 255 text
@holly_cummins #RedHat
most efficient land animal
cool and bouncy
uncool and floppy
whole body is basically slack
most efficient animal
efficiency may not
look how we expect
Slide 256
Slide 256 text
@holly_cummins #RedHat
inverse Jevon’s manoeuvre
doing less achieves more
Slide 257
Slide 257 text
@holly_cummins
being
effective
working
less
Slide 258
Slide 258 text
@holly_cummins
being
effective
working
less
Slide 259
Slide 259 text
@holly_cummins
being
effective
working
less
another double-win.
@hollycummins.com
tl;dpa
⁃ don’t accept waste; our world deserves better
⁃ work less; achieve more
(too long; didn’t pay attention)
Slide 263
Slide 263 text
@hollycummins.com
tl;dpa
⁃ don’t accept waste; our world deserves better
⁃ work less; achieve more
⁃ happiness is not waste
(too long; didn’t pay attention)
Slide 264
Slide 264 text
@hollycummins.com
tl;dpa
⁃ don’t accept waste; our world deserves better
⁃ work less; achieve more
⁃ happiness is not waste
⁃ idleness is not waste
(too long; didn’t pay attention)
Slide 265
Slide 265 text
@hollycummins.com
tl;dpa
⁃ don’t accept waste; our world deserves better
⁃ work less; achieve more
⁃ happiness is not waste
⁃ idleness is not waste
⁃ look for double-wins everywhere
(too long; didn’t pay attention)