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.