there's plenty of room in the cloud [shameless reference ...rich/class/old.cs290/... ·...

24
There's Plenty of Room in the Cloud [Shameless reference to Feynman’s talk from 1959] Lecturer: Zoran Dimitrijevic <[email protected]> Altiscale, Inc. Spring 2015 CS290B -- Cloud Computing

Upload: others

Post on 20-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

There's Plenty of Room in the Cloud[Shameless reference to Feynman’s talk from 1959]

Lecturer: Zoran Dimitrijevic <[email protected]>Altiscale, Inc.

Spring 2015 CS290B -- Cloud Computing

Page 2: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

50 Years of Moore’s Law

Page 3: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

Data center

Page 4: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Free or Public● But highly available, and high speed● UCSB guest web?

Ubiquitous Access to Internet

Page 5: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● MPI (Message-passing Interface)● Map-reduce model (Google MapReduce)● Spark (Resilient Distributed Datasets)● No-SQL (bigtable-like) & scanlets● PubSub model (Apache Kafka)

Computation in Cloud

Page 6: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Sequential, select_server/event based● Multithreaded, shared-memory

○ locks, semaphores,queues, dynamic threads, ...● Remote Procedure Calls (RPC)● Message-Passing Interface

○ Point-to-point (send, receive)○ Collective (broadcast, reduce, barrier)○ Dynamic process management, fault-tolerance

Computational Models

Page 7: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Web services, mySQL● Clusters of Linux Machines● Google Map-Reduce (c++)● Hadoop Map-Reduce (java)● Google BigTable, Scanlets, NoSQL● Flume● PubSub model, Apache Kafka● Apache Spark (UC Berkeley)

Page 8: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

[Map-reduce, Jeff Dean,Sanjay Ghemawat, Google, OSDI, 2004]

Page 9: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● File systems● RAIDs● NFS vs. Active Storage

○ DAS (direct-attached storage○ NAS (network-attached storage)○ SAN (storage area network)

● Distributed File Systems

Storage

Page 10: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

Hard disk Density

Page 11: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?
Page 12: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

Harddisks vs. SSD

Page 13: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Collocate computation and storage● Google File System (GFS)● Hadoop DFS (HDFS)● Bigtable/ NoSQL storage / Spanner● Service-oriented storage (dropbox, etc.)

Storage in Cloud

Page 14: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Name-node (manages meta-data)○ Replica management○ Sharding of namenode, master-election○ Lease management○ Single or multiple writers? Append-only?

● Data-node (manages data chunks)○ Local checksums○ Client libs access data nodes○ Copy-on-write, snapshots...

Distributed File Systems

Page 15: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● HDFS RAID● Reed-solomon coding / Erasure coding● Object-based storage● Read/Write/Modify tradeoffs● Overhead for recovery

○ Replication: fast, many-to-many○ RS coding (n+m): n x reads, CPU, one write

Archival Storage

Page 16: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Multitenancy● Google BORG● Hadoop YARN● Apache Mesos● Docker / Orchestration

Sharing nodes

Page 17: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Utilization (CPU, storage, memory, network)● Power consumption (datacenter level)● Sharing clusters

○ quota oversubscription○ scaling

● Operation cost○ sharing SRE/OPS resources, on-call○ global 24/7 support (time zones, holidays)

Cost-efficiency

Page 18: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

Power Usage Effectiveness

Page 19: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Linux, Apache● Github, Jira● Jenkins● Chef, Docker● Startups● Academia● Large companies and Licenses

Open Source Community

Page 20: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Yahoo, Hortonworks, Cloudera● Apache

○ Hadoop MR, HDFS, YARN, tools, zookeeper○ Avro, Cassandra, HBase, Hive○ Pig, Tez, Spark, Mahout○ Kafka, HDFS with erasure coding, ...

Apache Hadoop

Page 21: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

Questions?

Page 22: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Private-public key cryptography● Certificates● Kerberos and authentication● Delegation tokens● Encryption at rest● SSL and data transfer● Computation (who gets the keys?)

Security, Privacy, Encryption...

Page 23: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● Docker/linux containers vs. VMs● Local file system storage (/tmp)● Unix root: who can read memory?● Key distribution, who has root?● Fault-tolerance

○ Moving data is expensive○ Who has the keys to restart nodes

Can we run secure cloud-computing platform?

Page 24: There's Plenty of Room in the Cloud [Shameless reference ...rich/class/old.cs290/... · Docker/linux containers vs. VMs Local file system storage (/tmp) Unix root: who can read memory?

● http://www.extremetech.com/extreme/203490-moores-law-is-dead-long-live-moores-law● http://en.wikipedia.org/wiki/PDP-11● http://en.wikipedia.org/wiki/Nexus_6● http://en.wikipedia.org/wiki/IPhone_6● https://courses.cs.washington.edu/courses/cse590s/03au/grochowski-trends.pdf● http://www.google.com/about/datacenters/efficiency/internal/#servers● https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf● http://rondennison.com/presentations.htm● http://en.wikipedia.org/wiki/Message_Passing_Interface● http://research.google.com/archive/mapreduce.html● http://static.googleusercontent.com/media/research.google.com/en/us/archive/bigtable-osdi06.pdf● http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.

com/en//archive/spanner-osdi2012.pdf● http://static.googleusercontent.com/media/research.google.com/en/us/archive/gfs-sosp2003.pdf● http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction● http://smahesh.com/HadoopUSC/● https://code.facebook.com/posts/536638663113101/saving-capacity-with-hdfs-raid/● https://blog.docker.com/2015/02/orchestrating-docker-with-machine-swarm-and-compose/● http://blog.docker.com/tag/orchestration/● http://mesos.apache.org/● http://www.apcmedia.com/salestools/NRAN-72754V/NRAN-72754V_R2_EN.pdf?sdirect=true● https://hadoop.apache.org/

References