## Cloud Computing, Homeworks for the course CS 4365/CS 5315, Fall 2011

1. (Due September 6) Select a project for the class.

2. (For extra credit, due September 8) Derive formulas corresponding to an approximate growth model with a linear dependence on growth rate of size.

3. (Due September 22; extra credit if submitted by September 20) Write a program that, given observed values of the cloud size at different moments of time, uses the least Squares method to find the parameters of the quadratic growth model that best fits this data. To test your program, write an auxiliary program that, given the parameters of the quadratic growth model and the original size of the cloud, predicts the cloud size at different moments of time. Please submit a printout of the code, a printout of the result, and be ready to show how your program works. It is OK to form teams of two to work on this assignment.

4. (Due October 4; extra credit if submitted by September 29) Write a program that implements the RSA algorithm for coding and decoding. Please make sure that on all the stages -- computing the secret code d, coding, and decoding -- you use actual algorithms used in RSA, i.e., algorithms which are scalable to large (100-digit) numbers which are actually used in coding. From this viewpoint, you cannot simply raise to the power, you need to use a sophisticated algorithm for raising to the power that we had in class.

5. (Due October 4, for extra credit) Describe parallelization of merge sort in detail.

6. (Due October 20) Provide a step-by-step numerical example of using the RSA algorithm to encode and decode a message.

7. (Due November 3) Write a program to implement the clustering algorithm that we described in class.

8. (Due November 10; extra credit if submitted by November 8) Set up a server instance in the cloud. Turn in a printout of the snapshot to confirm that this instance has been set up successfully.

9. (Due November 15; extra credit if submitted by November 10) Upload Ubuntu (or Redhat) Linux to your cloud instance. Turn in a printout of the snapshot to confirm that it has been uploaded successfully.

10. (Due December 1; for extra credit) To fully understand the process of preparing an application web server in the Amazon Cloud, please perform the following exercise re transferring applications from private resources to the Cloud. Among the possible resources transferable are:

• web servers;
• Voice over IP Telephony systems;
• Enterprise Resource Planning systems;
• In-house administrative systems (inventory, invoice, payroll, sales, etc.).