CS5412 / LECTURE 9 MACHINE LEARNING FOR SMART FARMS
Ken Birman Spring, 2019
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 1
CS5412 / LECTURE 9 Ken Birman MACHINE LEARNING FOR SMART FARMS - - PowerPoint PPT Presentation
CS5412 / LECTURE 9 Ken Birman MACHINE LEARNING FOR SMART FARMS Spring, 2019 HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 1 WE HEARD ABOUT AIR TRAFFIC CONTROL Can we apply our insights in other settings? Lets review some
Ken Birman Spring, 2019
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 1
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 2
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 3
4
5
Machine learning typically lives here, at the back
GFS
Machine learning typically lives here, at the back
GFS
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 7
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 8
If so, can we diagnose the exact problem? If we can, what treatment is needed, and exactly where to apply it? Can we learn from this and improve our seed choice for next year? Where should we fertilize or irrigate?
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 9
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 10
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 11
Manure contains nitrogen and phosphorus can be used to create fertilizer Waste water can be captured and used for irrigation Undigested material can be transformed to “bio oil” by heating at high pressure Residual material after treatment can be composted and plowed back on fields
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 12
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 13
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 14
In most of these tasks we see a shared structure:
to big data. If we design without scalability in mind, our solution will fail!
events, platform events, and uses functions to perform tasks.
… not an easy job!
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 15
Let’s focus initially on just one case: monitoring a field using drones. What major subsystems would we need?
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2019SP 16
IoT Edge: Who needs it? IoT Hub: Why bother? Functions: What a nuisance! Dump ‘em µ-services: No need… use existing ones There might not always be a connection to the cloud, so we run a little “micro-cloud” close to the sensors. We use the IoT Hub to authenticate sensors, and to make outgoing TCP connections to them. Functions are “unavoidable.” This is where IoT events initially show up. Do use existing ones! But they may not cover the tasks your design requires.
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 17
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 18
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 19
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 20
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 21
Divide the set of knowledge tasks into groups. Don’t ask one server to do everything. Instead build distinct servers for each category of knowledge tasks. So we would want
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 22
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 23
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 24
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 25
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 26
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 27
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 28
Azure Function Server Functions: Lightweight, event-triggered programs in containers, “pay for what you use” resource model Message bus or queue µ-Services: some Azure provided, some “new”
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 29
Azure Function Server Functions: Lightweight, event-triggered programs in containers, “pay for what you use” resource model Message bus or queue µ-Services: some Azure provided, some “new” Moment-by-moment operation of the drone is a good fit for the function programming model. A set of µ-services can own many of our other tasks, each specialized in some sub-task. Divide the job up into distinct kinds of work!
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 30
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 31
Cache Layer Back-end Store
Multicasts used for cache invalidations, updates
Load balancer External clients use standard RESTful RPC through a load balancer
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 32
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 33
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 34
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 35
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 36
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 37
Knowledge Model
Data Interpretation Intelligent Action Data Acquisition
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 38
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 39
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 40
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 41
Leader Map Shuffle Full Shuffle is an n x n pattern: every shard sends data to every other shard! This avoids ever having all our work concentrated on any single process. Big sharded dataset hosted
can run AI tasks
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 42
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 43
Vast numbers of data sources Functions used to handle simple events and absorb load Heavily sharded edge µ-services do real-time knowledge acquisition and decision making using ML computational models
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 44
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 45
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 46
HTTP://WWW.CS.CORNELL.EDU/COURSES/CS5412/2018SP 47