Upload
boyd-multerer
View
415
Download
0
Embed Size (px)
Citation preview
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
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
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”
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
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
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