Download presentation
Presentation is loading. Please wait.
Published byBernice Garrison Modified over 8 years ago
1
Introduction to Cloud Computing 1
2
2
3
Performance progress 2010: 2.57 petaflops 2005: 280.6 teraflops 2000: 4.94 teraflops 1995: 170 gigaflops 15,100 times faster 1,650 times faster 19 times faster The baseline 3
4
In computing, FLOPS or flops (an acronym for floating- point operations per second) is a measure of computer performance, useful in fields of scientific calculations that make heavy use of floating-point calculations. For such cases it is a more accurate measure than the generic instructions per second. 4
5
Performance progress In 2010, we measure the performance of the fastest supercomputers in petaflops (quadrillions of operations per second). In 1995, we used gigaflops (billions of operations per second). We are now using the scale a million times larger than we did 15 years ago. 5
6
Tasks and computers Need for performance – Amount of the data – Resolution / quality / complexity Growing demand – More online users – More applications running 6
7
Scaling thing Personal computer – Simple, personal computing tasks 7
8
Scaling thing Network – Common tasks, resources 8
9
Scaling thing Cluster – Processing power, large IO 9
10
Scaling thing Cloud 10
11
Cloud computing 11
12
Cloud computing Grid computing Service Oriented Architecture Client-server – distributed application that distinguishes between service providers (servers) and service requesters (clients) Peer-to-peer – distributed architecture without the need for central coordination 12
13
5 essential characteristics On-demand self-service Broad network access Resource pooling Rapid elasticity Measured service (pricing) 13
14
Service models Infrastructure (IaaS) Platform (PaaS) Software (SaaS) Network (NaaS) Database (DBaaS) 14
15
Deployment models Public cloud Private cloud Hybrid cloud 15
16
Comparison for SaaS CriteriaPublic cloud Private cloud Initial costTypically zeroTypically high Running costPredictableUnpredictable CustomizationImpossiblePossible Privacy No (Host has access to the data) Yes Single sign-onImpossiblePossible Scaling up Easy while within defined limits Laborious but no limits 16
17
Virtualization Virtual Machine technology allows multiple virtual machines to run on a single physical machine 17
18
Virtualization Advantages of virtual machines: – Run operating systems where the physical hardware is unavailable; – Easier to create new machines, backup machines, etc.; – Emulate more machines than are physically available; – Easy migration of virtual machines (shutdown needed or not); – Run legacy systems! 18
19
Advantages of Cloud Computing Lower computer costs Improved performance Reduced software costs Instant software updates Unlimited storage capacity Increased data reliability Universal document access Latest version availability Easier group collaboration Device independence 19
20
Disadvantages of Cloud Computing Requires a constant Internet connection Does not work well with low-speed connections Features might be limited Can be slow Stored data might not be secure Stored data can be lost Compatibility for clouds/DB/etc. 20
21
What is Cloud Computing? 1.Web-scale problems 2.Large data centers 3.Different models of computation 4.Highly-interactive Web applications 21
22
Web-Scale Problems Characteristics: Definitely data-intensive May also be processing intensive Examples: Crawling, indexing, searching, mining the Web Other scientific data (physics, astronomers, etc.) Sensor networks Web 2.0 applications (semantic web) … 22
23
How much data? Wayback Machine has 2 PB + 20 TB/month (2006) Google processes 20 PB a day (2008) CERN’s LHC will generate 15 PB a year (2008) 23 640K ought to be enough for anybody.
24
24 How much data?
25
25 https://www.youtube.com/watch?v=S0MgJFGL5jg
26
2. Large Data Centers Web-scale problems? Throw more machines at it! Clear trend: centralization of computing resources in large data centers Necessary ingredients: fiber, juice, and space Important Issues: Redundancy Efficiency Utilization Management 26
27
27
28
Key Technology: Virtualization 28 Hardware Operating System App Traditional Stack Hardware OS App Hypervisor OS Virtualized Stack
29
3. Different Computing Models Utility computing Why buy machines when you can rent cycles? Examples: Amazon’s EC2, GoGrid, AppNexus Platform as a Service (PaaS) Give me nice API and take care of the implementation Example: Google App Engine, Heroku Software as a Service (SaaS) Just run it for me! Example: Gmail 29 “Why do it yourself if you can pay someone to do it for you?”
30
4. Web Applications What is the nature of software applications? – From the desktop to the browser – SaaS = Web-based applications – Examples: Google Maps, Facebook How do we deliver highly-interactive Web- based applications? – AJAX (asynchronous JavaScript and XML) – For better, or for worse… 30
31
MapReduce: the “back-end” of cloud computing – Batch-oriented processing of large datasets Ajax: the “front-end” of cloud computing – Highly-interactive Web-based applications Computing “in the clouds” – Amazon’s EC2/S3 as an example of utility computing 31
32
Amazon Web Services Elastic Compute Cloud (EC2) – Rent computing resources by the hour – Basic unit of accounting = instance-hour – Additional costs for bandwidth Simple Storage Service (S3) – Persistent storage – Charge by the GB/month – Additional costs for bandwidth 32
33
Simple Storage Service Pay for what you use: – $0.20 per GByte of data transferred, – $0.15 per GByte-Month for storage used 33
34
Some cloud providers 34
35
Web-Scale Problems? – Biocomputing – Nanocomputing (using nano devices) – Quantum computing –…–… It all boils down to… – Divide-and-conquer – Throwing more hardware at the problem 35
36
Divide and Conquer 36 “Work” w1w1 w2w2 w3w3 r1r1 r2r2 r3r3 “Result” “worker” Partition Combine
37
Different Workers Different threads in the same core Different cores in the same CPU Different CPUs in a multi-processor system Different machines in a distributed system 37
38
Choices, Choices, Choices Commodity vs. “exotic” hardware Number of machines vs. processor vs. cores Bandwidth of memory vs. disk vs. network Different programming models 38
39
Flynn’s Taxonomy 39 Instructions Single (SI)Multiple (MI) Data Multiple (MD) SISD Single-threaded process MISD Pipeline architecture SIMD Vector Processing MIMD Multi-threaded Programming Single (SD)
40
SISD 40 DDDDDDD Processor Instructions
41
SIMD 41 D0D0 Processor Instructions D0D0 D0D0 D0D0 D0D0 D0D0 D1D1 D2D2 D3D3 D4D4 … DnDn D1D1 D2D2 D3D3 D4D4 … DnDn D1D1 D2D2 D3D3 D4D4 … DnDn D1D1 D2D2 D3D3 D4D4 … DnDn D1D1 D2D2 D3D3 D4D4 … DnDn D1D1 D2D2 D3D3 D4D4 … DnDn D1D1 D2D2 D3D3 D4D4 … DnDn D0D0
42
MIMD 42 DDDDDDD Processor Instructions DDDDDDD Processor Instructions
43
Memory Typology: Shared 43 Memory Processor
44
Memory Typology: Distributed 44 MemoryProcessorMemoryProcessor MemoryProcessorMemoryProcessor Network
45
Memory Typology: Hybrid 45 Memory Processor Network Processor Memory Processor Memory Processor Memory Processor
46
General Theme? Parallelization problems arise from: – Communication between workers – Access to shared resources (e.g., data) Thus, we need a synchronization system! – Finding bugs is hard – Solving bugs is even harder 46
47
Master/Slaves 47 slaves master
48
Producer/Consumer Flow 48 CP P P C C CP P P C C
49
Work Queues 49 C P P P C C shared queue WWWWW
50
Rubber Meets Road From patterns to implementation: pthreads, OpenMP for multi-threaded programming MPI for clustering computing … The reality: Lots of one-off solutions, custom code Write you own dedicated library, then program with it Burden on the programmer to explicitly manage everything MapReduce to the rescue! 50
51
Security in a cloud Traditional threats to a software Functional threats of cloud components Attacks on a client Virtualization threats Threat of cloud complexity Attacks on hypervisor Threats of VM migration Attacks on management systems Privacy, personal data 51
52
Traditional threats to a software vulnerabilities of network protocols, operating systems, modular components and other similar weaknesses. it is sufficient to use anti-virus software, firewall and other components. It is important that these tools are adapted to the cloud. 52
53
Virtualization threats Since the platform for the cloud elements, usually is a virtual environment, the attack on virtualization threatens the entire cloud as a whole. This type of attack is unique to cloud computing. 53
54
Attacks on hypervisor In fact, a key element in the virtual system is a hypervisor which provides separation of physical computer resources among virtual machines. Interfering the work of the hypervisor or its breach may allow one virtual machine to access resources of other – network traffic, stored data. This can also lead to virtual machine displacement from the server. 54
55
Threats of VM migration Note that the virtual machine itself is a file that can be executed on different nodes of the "cloud". The system of virtual machine management includes mechanisms for the transfer (migration) of virtual machines. Nevertheless, it is possible to steal virtual machine file and run it out of the cloud. It is impossible to steal the physical server from the data centre, but you can steal files of virtual machines across the network without physical access to servers. 55
56
Attacks on management systems A large number of virtual machines that are used in the "clouds", especially in public clouds require a management system that can reliably control the creation, transfer and utilization of virtual machines. The interference in the management system can lead to ghost virtual machines, blocking some of the machines and the substitution of elements or layers in the cloud to the rogue. 56
57
Privacy, personal data To store secret and top secret data in the "cloud" environments is not absolutely safe – that's why government agencies are still not switched to “clouds” 57
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.