Skip to content

prashanth-thipparthi/DatacenterScaleComputing

Repository files navigation

DatacenterScaleComputing

Repository contains labs and Final Project

Week 1 - Using Cloud Resources / Hadoop

  • Accessing cloud resources
  • Ability to copy files to HDFS
  • Ability to run an existing program in Hadoop using Python
  • Structure of Hadoop programs
  • Wow Hadoop scheduling interacts with HDFS
Assignment:

Construct URL-Lister hadoop program

Week 2 - Extended Hadoop

  • Select proper method for join
  • Constructing more complex programs using ChainMapper
  • Extending Hadoop: Pig, Hive
Assignment:

Construct Patent application

Week 3 - In Memory Computing

  • The assumptions & problems with Hadoop
  • In-memory computing: Spark & RDD
Assignment:

Construct patent application using PySpark

Week 4 - Building Blocks

  • Computing Abstractions and realization in DC
  • CPU, Memory, Storage, Network, Processes
  • Benefits & Challenges of Virtualization
  • Managability, programability, utility modle
  • Realization of computing abstractions in DC
  • VM, VPC / Network, Block store, object store, container
Assignment

Use libcloud to create VM with specific software, SSH keys, etc

Week 5 - Application Components

  • Common components of many data center scale applications
  • Message marshalling
  • RPC / API interfaces
  • Message queues
  • Databases
  • Key-Value Stores
  • Distributed Lock Manager
  • Virtual Machines
  • Software Defined Networks
  • Service oriented architecture In Depth:
  • Message Marshalling
  • REST API interfaces
Assignment:

Existing current libcloud VM to include REST API

Week 6 - Components

  • Message Queues
  • RabbitMQ
  • ZeroMQ

Week 7 - Components

  • Distributed Lock Managers
  • Zookeeper
  • Etcd

Week 8 - Components

  • Key-Value stores - Redis, others
  • Scalable Databases
  • Challenges in scaling
Assignment:

License plate service with discovery, REST API, database

Week 9 - How are VM's and SDN implemented?

  • Software virtualization
  • Hardware virtualization
  • Paravirtualization
  • SDN

Week 10 - Process Based Virtualization

  • Process based virtualization - Docker containers
  • cgroups / namespaces
  • Security model, benefits, isolation

Week 11 - Container Orchestration

  • Kubernetes
  • Software structure
  • Using kubernetes
  • Assignment:
  • Converting ALPR to Kubernetes

Week 12

  • Advanced Kubernetes
  • Function as service (lambda, etc)

Week 13

  • Warehouse scale computing design

Week 14 - Fall Break - No Classes

Week 15

  • Power efficiency of warehouse scale computing
  • Projects drafts submitts