Sei sulla pagina 1di 35

Cloud Computing,

CS596-015
An OS for Multicore and
Cloud + Microsoft Azure
Platform
1

Outline

An OS for Multicore and Cloud


Introduction
Architecture (University of Pittsburgh Factored OS)
Case Studies
Implementation and Results

Microsoft Azure Platform


Windows Azure Platform: Compute, Storage, and Fabric
Azure Services: Application fabric, SQL Azure, Live Services
Azure Development Environment

Summary and Conclusions

An OS for Multicore and Cloud

An OS for Multicore and Cloud:


Introduction

Motivation & Challenges:


Scalability
Variability of Demand
Faults
Programming Challenges

An OS for Multicore and Cloud:


Introduction
Scalability:

Current OSes were designed for single processor or for


small number of processor systems
Manycore Computer systems highlight limitation of locks and
reliance on shared memory
Data center with thousands of servers!

Variability of Demands:
Given the large number of cores; map processes to cores
Elasticity of the Cloud

An OS for Multicore and Cloud:


Introduction
Faults:

Hardware faults: core failures and bit-flips


Performance interference: between Apps and VMs has an
impact on QoS
Software faults: parallel programming debugging is hard

Programming Challenges:
Resource management must be done by the cloud app
Load balancing is hard in the cloud
No uniform programming model: Intra/Inter-machine
communication

An OS for Multicore and Cloud:


Architecture

New OS (University of Pittsburgh Factored OS [FOS])


should provide scalability, elasticity, fault tolerance, and
simple programming model:
Single system image OS
Micro-kernel , OS services run in user space, and they
communicate via messages, i.e., similar to Mach
Each service consists of group of servers, called fleet, that
are distributed among the underlying cores and machines
Message passing is mapped transparently across cores and
machines

An OS for Multicore and Cloud:


Architecture

Single System Image (FOS):

Ease of administration
Transparent sharing

Consistency
Fault tolerance
8

An OS for Multicore and Cloud:


Architecture

Microkernel:
Messaging, name cache, time multiplexing of cores, API
Messaging:
IPC & synchronization
Each process has number of mailboxes

Naming:

All servers within a fleet register under a given name

OS Services:
Fleet: spatially distributed, cooperating servers
FS fleet, Naming fleet, Scheduling fleet, Proxy network server
fleet, etc

An OS for Multicore and Cloud:


Architecture

Single System Image (FOS) - Microkernel:

10

An OS for Multicore and Cloud:


Architecture

Messaging:
IPC over shared memory or over network
Transparent Intra- and Inter-machine communication
Force programmers to think carefully about the amount of
shared data

Parallel Data Structure:


Managing state associated with a particular service among
the members of the fleet
Common container interface: abstracts several
implementations that provide different consistency, replication
and performance properties
Existing solutions in the P2P community

11

An OS for Multicore and Cloud:


Case Study File System

12

An OS for Multicore and Cloud:


Case Study Spawning Server

Create new server process on decided by spawn server:

Same VM
Another existing VM
Spawn1 proxy1 proxy2 spawn2
New VM
Create VM, send request to Cloud Manager
Add VM to group, exchange name information, notify all other
machines
Forward spawn request to the new VM

13

An OS for Multicore and Cloud:


Case Study Elastic Fleet

Watchdog process monitoring the queue length

Add server to fleet


Spawn, handshaking

Make global decisions of elastic fleet

14

An OS for Multicore and Cloud:


Implementation and Results

Xen PVM

Run on EC2 or Eucalyptus Cloud infrastructure

Configuration:
16 machine cluster, each has 8 cores running
at 3.16 GHZ, 8 GB RAM, and 1 Gbps Ethernet

15

An OS for Multicore and Cloud:


Implementation and Results

16

An OS for Multicore and Cloud:


Implementation and Results

17

An OS for Multicore and Cloud:


Implementation and Results

18

Microsoft Azure Platform

19

Microsoft Azure Platform:


Windows Azure Platform

Azure platform is built as a distributed services in MS data


centers
Platform is built over specialized
OS called Windows Azure
Flexible Service Architecture:

Service is isolation
boundary
Component roles: web
role, worker role, and
other role templates
# of identical instances
of each role

Platform consists of:


Compute, Storage, and Fabric
20

Microsoft Azure Platform:


Windows Azure Platform Compute

Compute instance is exposed to the client as role types


reflecting tailored configurations for typical purposes
Web role instance generally interact with the end user
Worker role instance cater to background tasks ~ Google App
Engine cron jobs
Azure provides additional role templates

For each role, user can specify static configuration


settings such as URL, # of instances. Load balancer will
automatically distribute incoming traffic to the running
instances

21

Microsoft Azure Platform:


Windows Azure Platform Storage

Azure Storage provides


services that host
3 kinds of data:
Blobs: stream of
unstructured data (files)
Tables: structured (not
Relational), it is rows/entities
and columns (properties).
Tables do not enforce a
schema nor use SQL
Queues: mechanism for
Apps to communicate and coordinate asynchronously

22

Microsoft Azure Platform:


Windows Azure Platform Fabric

Azure Fabric refers to a set of machines running the Azure


OS that are collectively managed and generally co-located
in the same region

Fabric controller is the layer of code that provisions all the


user instances (web and worker roles) and perform any
necessary upgrades

Monitor the applications, re-provisioning and reallocating


resources as needed to ensure all services remain healthy

23

Microsoft Azure Platform:


Azure Services

24

Microsoft Azure Platform:


Azure Services Application Fabric

Service Bus
It is Microsoft .NET Service Bus
Provides connectivity
Service Bus
between systems
when sharing LAN
In Cloud,
physical
adjacency
is not
guaranteed
Service bus
provides proxy connections when direct connectivity is difficult

25

Microsoft Azure Platform:


Azure Services Application Fabric

Access Control Service


It is Microsoft
Google
Yahoo
.NET ACS
ACS
Live ID
Facebook
Authenticate and
acs
Aadfs2
authorize users
ad
relying on
Username:
Password:
Windows
Cancel
OK
Live ID or
Corporate
Active Directory
or some federated identity management
Administration portal allows service owner to define access
control rules and rights

26

Microsoft Azure Platform:


Azure Services Application Fabric

AppFabric Cache

Delivers distributed, in-memory, cache service for Windows


Azure and SQL Azure applications

Similar to Memcached; it improves performance and


scalability

Possible to enable HA through replication to multiple servers

27

Microsoft Azure Platform:


Azure Services SQL Azure

SQL Azure is RDBMS which is different from Azure storage


described earlier
It is SQL server
offered in the
Cloud
It is limited to
10 GB/database!
Reporting: extends SQL server reporting to SQL Azure
while simplifying integration with legacy SQL code
Data Sync: synchronizing replicated data
Database: SQL Server in the cloud
28

Microsoft Azure Platform:


Azure Services SQL Azure

TDS: Table Data Storage

29

Microsoft Azure Platform:


Azure Services SQL Azure

30

Microsoft Azure Platform:


Azure Services Live Services

31

Microsoft Azure Platform:


Azure Services Live Services

Live Services provide a set of building blocks that can be


used to handle user data and application resources
including identity, contacts, Windows Live Messenger, Live
Search and Maps

Live Framework (Live Mesh) offers data synchronization


across multiple devices using FeedSync (RSS extensions)

Extending the reach of client devices accessible from the


cloud and creating an integrated and consistent view of
user data

32

Microsoft Azure Platform:


Azure Development Environment

Typically use Visual Studio to access the Azure platform, which relies
on .NET framework
In addition, Microsoft provides an SDK for Java and Ruby
Ultimately, there is expected to have support to Java, Python, Ruby,
PHP, OpenID, and Eclipse
Of course, more community support available if you are using native
Microsoft implementation. This requires:
The Windows Azure Software Development Kit
Windows Azure Tools for Microsoft Visual Studio
Once the application has been tested locally, it can be uploaded to
Azure using Visual Studio, ad then managed using the Azure
Services Developer Portal; allows you to stage the application before
deployment. User can suspend an instance and resume later
33

Summary and Conclusion

Current OSes were designed for single processor or for


small number of processor systems
There is a need for new OS that can support the following:
Scalability
Variability of Demand
Faults
Programming Challenges

Azure is Microsoft Platform for the Cloud


Azure Platform is built over specialized OS called Windows
Azure; consists of Compute, Storage, Fabric
Azure platform provides 3 services: AppFabric, SQL Azure,
and Live Services
34

END

35

Potrebbero piacerti anche