Download presentation
Presentation is loading. Please wait.
Published byAntony Horn Modified over 7 years ago
1
An OS for Multicore and Cloud + Microsoft Azure Platform
Cloud Computing, CS An OS for Multicore and Cloud + Microsoft Azure Platform
2
Outline An OS for Multicore and Cloud Microsoft Azure Platform
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 I can pretty much read this one straight through and provide details in following slides.
3
An OS for Multicore and Cloud
4
An OS for Multicore and Cloud: Introduction
Motivation & Challenges: Scalability Variability of Demand Faults Programming Challenges Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
5
An OS for Multicore and Cloud: Introduction
Scalability: Current OSes were designed for single processor or for small number of processor systems Many core 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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
6
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
8
An OS for Multicore and Cloud: Architecture
Single System Image (FOS): Ease of administration Consistency Transparent sharing Fault tolerance Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
9
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
10
An OS for Multicore and Cloud: Architecture
Single System Image (FOS) - Microkernel: Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
12
An OS for Multicore and Cloud: Case Study – File System
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
16
An OS for Multicore and Cloud: Implementation and Results
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
17
An OS for Multicore and Cloud: Implementation and Results
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
18
An OS for Multicore and Cloud: Implementation and Results
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
19
Microsoft Azure Platform
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
21
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
22
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
23
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
24
Microsoft Azure Platform: Azure Services
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
25
Microsoft Azure Platform: Azure Services – Application Fabric
Service Bus It is Microsoft .NET Service Bus Provides connectivity between systems when not sharing LAN In Cloud, physical adjacency is not guaranteed Service bus provides proxy connections when direct connectivity is difficult Service Bus Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
26
Microsoft Azure Platform: Azure Services – Application Fabric
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 ad Username: Password: OK Cancel Aadfs2 acs Google Yahoo Live ID Facebook ACS Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
27
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
28
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
29
Microsoft Azure Platform: Azure Services – SQL Azure
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance? TDS: Table Data Storage
30
Microsoft Azure Platform: Azure Services – SQL Azure
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
31
Microsoft Azure Platform: Azure Services – Live Services
Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
32
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 Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
33
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, and then managed using the Azure Services Developer Portal; allows you to stage the application before deployment. User can suspend an instance and resume later Since economies of scale are in play, larger DC is in favor. So the HW blocks can be enumerated. How do you design for best performance?
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
35
END
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.