Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Cloud Computing, CS596-015 An OS for Multicore and Cloud + Microsoft Azure Platform."— Presentation transcript:

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

2 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 2 Outline

3 3 An OS for Multicore and Cloud

4 Motivation & Challenges:  Scalability  Variability of Demand  Faults  Programming Challenges 4 An OS for Multicore and Cloud: Introduction

5 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 5 An OS for Multicore and Cloud: Introduction

6 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 6 An OS for Multicore and Cloud: Introduction

7 7 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

8 8 An OS for Multicore and Cloud: Architecture Single System Image (FOS):  Ease of administrationConsistency  Transparent sharing Fault tolerance

9 9 An OS for Multicore and Cloud: Architecture Microkernel:  M essaging, 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

10 10 An OS for Multicore and Cloud: Architecture Single System Image (FOS) - Microkernel:

11 11 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

12 12 An OS for Multicore and Cloud: Case Study – File System

13 13 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

14 14 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

15 15 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

16 16 An OS for Multicore and Cloud: Implementation and Results

17 17 An OS for Multicore and Cloud: Implementation and Results

18 18 An OS for Multicore and Cloud: Implementation and Results

19 19 Microsoft Azure Platform

20 20 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

21 21 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 Microsoft Azure Platform: Windows Azure Platform – Compute

22 22 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 Microsoft Azure Platform: Windows Azure Platform – Storage

23 23 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 Microsoft Azure Platform: Windows Azure Platform – Fabric

24 24 Microsoft Azure Platform: Azure Services

25 25 Service Bus  It is Microsoft.NET Service Bus  Provides connectivity between systems when sharing LAN  In Cloud, physical adjacency is not guaranteed  Service bus provides proxy connections when direct connectivity is difficult Microsoft Azure Platform: Azure Services – Application Fabric Service Bus

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

27 27 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 Microsoft Azure Platform: Azure Services – Application Fabric

28 28 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 Microsoft Azure Platform: Azure Services – SQL Azure

29 29 Microsoft Azure Platform: Azure Services – SQL Azure TDS: Table Data Storage

30 30 Microsoft Azure Platform: Azure Services – SQL Azure

31 31 Microsoft Azure Platform: Azure Services – Live Services

32 32 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 Microsoft Azure Platform: Azure Services – Live Services

33 33 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 Microsoft Azure Platform: Azure Development Environment

34 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

35 35 END


Download ppt "1 Cloud Computing, CS596-015 An OS for Multicore and Cloud + Microsoft Azure Platform."

Similar presentations


Ads by Google