27
elixir for the next 10 years 0 years boyd multerer

ElixirConf 2016 Final Keynote

Embed Size (px)

Citation preview

elixir for the next 10 years 0 yearsboyd multerer

the basic exerciseknow what problems you are trying to solve

know what trends and disruptions are happening around you

build something relevant when it ships, not when you started

problems to solve

serversperformance per cost

securitydata processingmachine learningcommunications

robustness

devices (iot)performance per cost

securitydata processingmachine learningcommunications

robustness

example: game consolesperf per cost //

security //

scalability //

robustness //

this is why you don’t just buy a PC……..………. cheating & piracy - no physical security

hard, even though you’d think it would be necessary

keeping all games & consoles up to date is required

trends and observations

power drives costservers //

devices //

power consumed means heat dissipatedpower and heat cost real money

power consumed impacts battery lifesensors use lots of powerradios use lots of power

hw chosen to fit power and problem envelopes

securityservers //

devices //

assume your servers are hackedassume your databases are hacked

tremendously tempting targetsboth devices and datano physical security

this is an arms race and will not go awayit’s not paranoia if they are out to get you

FPGAs (you’ll be friends soon)think extremely large instructions

very low power for perfnot in addressable space

physically unclonable functions (PUFs)not as expensive as you think.

Xilinx

data processingservers //

devices //

huge amounts of data to processcurrently a specialized field

sensors!local aggregation & processing intermittent / expensive communication

all the world’s a GenStage and we are merely players

machine learningservers //

devices //

core related to data processingcurrently a specialized field

local decision makingsensor processingsecurity detection and action

communicationservers //

devices //

seems like a solved problem (at first)latency affects datacenter decisions

assume global wireless availabilityexpensive to operate

satellites will make us rethink many things

robustnessservers //

devices //

skating by on speed and rebootsopportunity to reduce cost

coordinate multiple subsystemsdeal with hardware failureshard to physically access devices!

danger of becoming the “Internet of Things that Don’t Work”

making bets

beamoriginal problems faced by telephony look familiar

had to be efficientdesigned scale to out

robustness - OTPreduce programmer errors

30 years in production

beam is your os

elixirall benefits of beam, erlang libraries plus…

modern syntax, matching, macrosGenStage, Flow, much more

separation between language and frameworks phoenixnerves

low level interoprealtime vs. soft-realtime

perf sensitive codeFPGA accessdriver interop

important for securityimportant for power

uiuser input

drawing primitives / overall modelGPU

distributionnerves boot images

signed/encrypted deploymentserver boot images

revocation listssigning authorities

more…

example: carsrobustness //

security //

communications //

many sensors (drive train, cameras, proximity…)many sub-systems (drive, ABS, self-drive…)

track individual’s location, destinations, habits…targeted attack opportunities

already shipping with cell modems and connectivitysoon to have full-time satellite communicationsservers required for mapping, traffic, more

fin

twitter // @BoydMulterer

github // /boydm

moore’s law enabled higher level languagesmulti-core means parallel code

complexity is the enemy

only two kinds of code: • performance sensitive• everything else

developer productivity

trends //

XNA example

games required low-level skillsmall shops were locked out of the market

cost to build games increasingly prohibitive

problem

XNA example

moore’s law enabled higher level languagesmulti-core cpu encouraged parallel code

speed forgave many crimes

trends

market for independent games would be huge only two kinds of code: • performance sensitive• everything else

build pipelines key to cutting costs

XNA example

bets

moore’s lawmobile driving chip design

perf per wattmany low-powered cores

tremendous implications on HOW we write code single threaded practices obsolete

most of the coding population is out of date