CS 484 Parallel Programming


Lesson 2.1

Performance Impact of Caches Part 1

Performance Impact of Caches Part 2

Other Architectural Innovations

Paging Compilers Etc

Lesson 2.2

Multidimensional Arrays - Allocation and Layout of Arrays

Estimating Performance with Cache Misses

Caches and Array Layout

Matrix Vector Multiplication

Tiling

CS 498 Cloud Computing Applications


Goals

  • Learn about many “glue” technologies that enable access to clouds, such as web middleware, JSON, REST API, RPC, etc.
  • Learn about the different levels of cloud services, that include: PaaS (Platform as a Service); SaaS (Software as a Service); MaaS (Metal as a Service); FaaS (Function as a Service (server-less architecture)); MBaaS (Mobile Backend as a Service)
  • Understand the principles of load balancing.

Key Concepts

  • JSON
  • REST
  • RPC
  • PaaS: Platform as a Service
  • SaaS: Software as a Service
  • MaaS : Metal as a Service
  • FaaS: Function as a Service (server-less architecture)
  • MBaaS: Mobile Backend as a Service
  • Load balancing
  • Server-less architecture
  • Amazon lambda

Guiding Questions

  • What are some of the glue technologies that power today’s cloud computing based enterprise infrastructure?
  • How would client-server architecture work in practice? What is remote procedure call?
  • What does REST architecture signify and how does it work?
  • How does PaaS offering work and how is it different from IaaS?
  • What is Mobile Backend as a Service? How does it help a mobile app developer?

Readings and Resources

Video Lecture Notes

Web Middleware

Web Services

RPC Semantics

HTTP SOAP REST

JSON

Load Balancer Introduction

Load Balancer Schemes

Protocol Buffers and Thrift

MBaaS

MBaaS = Mobile Backend as a Service

MaaS

MaaS = Metal as a Service, combines the scalability and flexibility of the cloud with the ability to harness the power of physical servers.

Part 1

Part 2

Juju

PaaS

Google App Engine

Salesforce