1 / 19

Lecture 12: Cloud Computing-B

Lecture 12: Cloud Computing-B. Cloud storage Cloud vs. cluster computing RPC & RMI Map/Reduce Hadoop. Cloud Storage. So we can get computers… …but they’re in unknown locations Geographic location IP address How do I get my data to them ? Preload all machines Cloud storage!.

alicia
Download Presentation

Lecture 12: Cloud Computing-B

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 12: Cloud Computing-B • Cloud storage • Cloud vs. cluster computing • RPC & RMI • Map/Reduce • Hadoop

  2. Cloud Storage • So we can get computers… • …but they’re in unknown locations • Geographic location • IP address • How do I get my data to them? • Preload all machines • Cloud storage!

  3. Cloud Storage • Goal is to have a server hold our files • Distribute them as-needed • NFS, CIFS, SMB, etc • FTP, SCP, etc • Custom software • Various GIS servers, etc

  4. Cloud Storage • 1 Think it’s linked to iTunes, which requires card • 2 Every referral adds 500MB, up to 17GB total • 3 Nothing is free

  5. Issues • Privacy • Can 3rd party people see your files? • Will cloud storage admins look? • Integrity • Are your files unchanged?

  6. Cloud Computing • So now I have computers… • …AND I have data. • What’s the next step?

  7. Cloud Computing • So now I have computers… • …AND I have data. • What’s the next step? • Are the computers aware of each other?

  8. Cloud Computing • So now I have computers… • …AND I have data. • What’s the next step? • Are the computers aware of each other? No • Can we do that?

  9. Cloud Computing • So now I have computers… • …AND I have data. • What’s the next step? • Are the computers aware of each other? No • Can we do that? Yes!

  10. Cluster Computing • Sometimes, we need our computers to “be aware” of each other • E.g., neural networks • When they are, they are said to be “a cluster” • Typically 10+ machines (subjective) • Typically geographically close • High-speed network benefits

  11. Remote Computing • This is easiest explained by example • What is Siri?

  12. Remote Computing • This is easiest explained by example • What is Siri? • Software that hears audio • Translates it into “plain language” • Translates that into something it understands • Handles the “native tongue” request • Gives you the response

  13. Remote Computing • Can it do that locally? • Yes! • “Set my alarm for 8AM” • “Remind me to teach class tomorrow” • “Play songs by Sirenia” • These are voice control and have a relatively rigid structure

  14. Remote Computing • Can it do that locally? • Yes! • “Set my alarm for 8AM” • “Remind me to teach class tomorrow” • “Play songs by Sirenia” • These are voice control and have a relatively rigid structure • No! • “What is the meaning of life?” • “What is the opening day of the Dragons in 2013, and who do they play?” • These can be computationally complex • It may also not have the required data

  15. Remote Computing • So, the idea is: • Get some input • Send it somewhere else (servers/cloud) • Do the heavy number-crunching there • Get back the result • Eases the burden on the local computer • Requires ability to send/receive data

  16. Remote Computing • RPC • Remote procedure call • C/C++ • RMI • Remote method invocation • Java • These are what make the function call “transparent” (mostly) to the programmer

  17. Map/Reduce • Now I have computers • I know how to talk to them • What should I be doing with them? • Parallel things! • Image processing, protein folding, etc • How should I divide up the work? • Generally, we follow “map and reduce” techniques

  18. Map/Reduce • Map • Assign segments of the task to different processors • i.e., “map” a sub-task to a processor • Each of the sub-tasks can run simultaneously • Reduce • Collect the partial-results into a final result • i.e., “reduce” many answers to one

  19. Map/Reduce • Hadoop • Google instantiation of this architecture • (You can also build your own) • Map/Reduce can be at the level of • Sending tasks to computers in a cloud • Sending tasks to cores in a CPU • Sending tasks to cores in a GPU

More Related