Download presentation
Presentation is loading. Please wait.
Published byRonald Russell Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.