wearable signal processing using docker notebook ... · docker container if one does not exist for...

17
Wearable Signal Processing Using Docker Notebook Containers on AWS Faras Sadek, Yasha Iravantchi, Diana Zhang and Demba Ba March 17, 2016

Upload: others

Post on 31-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Wearable Signal Processing Using Docker Notebook Containers on AWS

Faras Sadek, Yasha Iravantchi, Diana Zhang and Demba Ba

March 17, 2016

Page 2: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

ES155: Bridging the gap between EE and CS education

Data Collection Data ProcessingData SetInternet

of Things

Traditional Electrical Engineering

Traditional Computer Science

ES155 bridges the gap between electrical engineering and computer science by using Jupyter and data-science “friendly” devices like the Empatica E4.

Page 3: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

The Backend/Infrastructure

Page 4: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container
Page 5: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container
Page 6: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Our Implementation of JupyterHub● Load balancer picks request on port 80 and

redirects to EC2 instance on port 8000, where JupyterHub listens.

● GitHub as an auth schema for student to login to to the server

● If username in database, Jupyter will spawn a Docker container if one does not exist for that user

● If the user has a container, JupyterHub forwards the user to that container through the proxy

AWS EC2

JupyterHub

AWS Load Balancer

Docker

Page 7: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Security, Scalability, and Cost● JupyterHub server located behind Amazon AWS● AWS Instance located in private VPC● SSH access restricted to Harvard Admin VPN only● EC2 instance type: m4.xlarge for 13 students with

1GB per student● Average cost per student: $13 a month● Horizontal scalability can be achieved using Docker

Swarm

AWS EC2

JupyterHub

AWS Load Balancer

Docker

Page 8: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container
Page 9: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

“Labs in the Wild”

Page 10: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

ES155: Labs in the Wild● ES155 presents full vertical integration of data processing

○ Biological Signal Dataset (e.g. Blood Volume Pulse)

○ Data Collection with the Empatica E4

○ Data Processing with Jupyter

○ External action through the Internet of Things (e.g. Tweet when heart rate is high)

● Labs in the Wild allow students to collect their own data, process it themselves, and perform their own functions and analysis.

Empatica E4

Jupyter

Biological Signals

Internet of

Things

Page 11: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Empatica E4: “Mercedes Benz of wearables”

● Continuous, real-time data acquisition in daily life.● Acceleration, blood volume pulse, electrodermal

activity, and temperature.● Offline or stream data directly to cloud via a smartphone

(iPhone/Android)● APIs for real-time data access, or post processing

● This combination of sensors allows students to perform interesting analyses: gait recognition, sleep pattern recognition, “lie detector” tests

Page 12: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Course Management

Page 13: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Version control● Why Git?

○ Version control■ Students can retrieve their work in case of server/internet issues

○ Collaboration on projects■ We want the students to get into a habit of using Git to communicate their work with

each other

● Why Bitbucket?○ Bitbucket provides university students with unlimited private repositories.

Page 14: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Bitbucket Teams

ES155 Team

Course Development Homework Course

MaterialsLabs

Students have no access

Students have read and write access

Students have read access only

Page 16: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Concluding remarks● Jupyter-powered platform that enables the concept of a “Labs in the Wild”

● In the future, facility with data manipulation is going to be part of literacy

● Potential impact on education○ Data-centered teaching: e.g. government, journalism○ Cloud-based platform for teaching in the developing world

● Collaborative data science○ A github for data science?

Page 17: Wearable Signal Processing Using Docker Notebook ... · Docker container if one does not exist for that user If the user has a container, JupyterHub forwards the user to that container

Acknowledgements● ES 155 Team

● Active Learning Labs team at Harvard SEAS

● Harvard SEAS Academic Computing

● JupyterDays organizer and Jupyter Project team

Thank you!!