CSCI 6961 - Edge Computing - Spring 2018

General Information

Class Time and Place: TF 12:00pm - 1:50pm, Location: Sage 2701
Instructor: Stacy Patterson     sep AT cs.rpi.edu
Office Hours: T 2:00pm - 3:00pm or by appointment

Course Syllabus

Schedule (slides are linked from schedule)

Course Description

This course will explore research, frameworks, and applications in Edge Computing, with a focus on big data analytics. The class will begin with a review of current big data analytics frameworks for Cloud Computing. We will then explore frameworks for computing over edge devices and cloud. Finally, we will study algorithms for distributed data analytics over edge devices. The course content will come from research papers, articles, and software documentation. We will work together to develop a deep understanding of this content through class presentations and tutorials. Students will also create a research project of their choosing that leverages edge and cloud computing technologies.

Prerequisites

  • CSCI-4510/6510: Distributed Systems and Algorithms
  • The pre-requisite may be replaced by suitable background and coursework in network programming and distributed systems. Undergraduates who are interested in taking this class should contact the instructor for permission. There is also the possibility of taking this course for indpendent study credit.

    Useful Links
    Cloud Computing Resources

    You can get $75 credit for the Amazon cloud by signing up for AWS Educate. RPI is a member institution.

    You should do your development on a local machine and only use the cloud for testing and evaluation. Make sure to terminate your instances when you are done to avoid extra charges.

    Article List (Work in Progress)

    1. Demystifying Edge Computing -- Device Edge vs. Cloud Edge
    2. Toward a Global Data Infrastructure
    3. Lessons learned while building a closed-loop, full-stack cognitive IoT application
    4. Architectural Imperatives for Fog Computing: Use Cases, Requirements, and Architectural Techniques for Fog-Enabled IoT Networks
    5. What is edge computing?
    6. Developers, developers, developers: How 'serverless' crowd dropped ops like it's hot
    Paper List (Work in Progress)

  • Introduction to Edge Computing
    1. Fog Computing: A Platform for Internet of Things and Analytics
    2. The Emergence of Edge Computing
  • Big Data Analytics in the Cloud
    1. The Google File System
    2. The Hadoop Distributed File System
    3. MapReduce: Simplified Data Processing on Large Clusters
    4. Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing
    5. Discretized Streams: Fault-Tolerant Streaming Computation at Scale
    6. Storm @Twitter
    7. Apache Flink: Stream and Batch Processing in a Single Engine
    8. Kafka: a Distributed Messaging System for Log Processing
    9. Cassandra: a decentralized structured storage system
    10. Adapting microsoft SQL server for cloud computing
    11. ZooKeeper: Wait-free coordination for Internet-scale systems
    12. Zab: High-performance broadcast for primary-backup systems
  • Geo-Distributed Computing
    1. Low Latency Geo-distributed Data Analytics
    2. Trading Timeliness and Accuracy in Geo-Distributed Streaming Analytics
    3. Nebula: Distributed Edge Cloud for Data Intensive Computing
  • Edge Architecture
    1. Cloud4Home -- Enhancing Data Services with @Home Clouds
    2. Femto Clouds: Leveraging Mobile Devices to Provide Cloud Service at the Edge
    3. Fast, Scalable and Secure Onloading of Edge Functions Using AirBox
    Possible Project Topics