COSC2626/2640-无代写
时间:2023-05-08
RMIT Classification: Trusted
School of Computing Technologies
COSC2626/2640 Cloud Computing
Assessment 2
Assessment Type: Individual assignment; no group work.
Submit online via Canvas → Assignments → Assessment 2.
Clarifications/updates may be made via announcements and relevant
discussion forums.
Due Date: Week 10, Friday 12th May 2022, 11:59pm.
Weighting: 90 marks that contribute 30% of the total assessment.
Note: Questions 9, 10 and 15 have two versions, one for COSC2626, the other for COSC2640. You
only need to attempt the ones coded for your course. (You are doing COSC2626 if you are enrolled
in an undergraduate program. If enrolled in a postgraduate program, you are doing COSC2640.)
1. Overview
For this assignment you are required to demonstrate your understanding of virtualization,
hypervisors, concurrency, and parallel processing.
2. Learning outcomes
This assessment is relevant to the Course Learning Outcomes CLOs 4, 5.
3. Assessment details
This assessment will determine your ability to
1. Understand the concepts taught over Week 7 to Week 9 of the course.
2. Work independently in self-directed study to research the identified issues.
4. Submission
Prepare the answers to this assignment in an electronic format and convert to a single Acrobat
PDF (.pdf) file for submission, with the filename being your student number (e.g., S1234567.pdf)
containing all the answers to all the questions in this assignment.
Paper submissions are not accepted; if some parts of the assignment have been completed by
hand, scan these in and include this in your electronic submission.
You should submit your assignment via Canvas → Assignments → Assessment 2 Submission.
You may resubmit the assignment if you need to, only the most recent version will be marked.
Please note the following.
1. Clearly number each answer according to the numbering in this assignment specification
(e.g., Q1, Q2, Q3a, Q3b, etc.).
Page 2 of 5
RMIT Classification: Trusted
2. Use at least 11-point font size.
3. It is your responsibility to correctly submit your files. Please verify that your submission is
correctly submitted by downloading what you have submitted to see if your submitted file
includes the correct content.
4. Never leave submission to the last minute – you may have difficulty uploading files.
5. You can submit multiple times – a new submission will override any earlier submissions.
However, if your final submission is after the due time, late penalties will apply.
5. Academic integrity and plagiarism (standard warning)
Do not ever simply copy and paste what another writer has written. This is stealing. What we
need is your own words – your own understanding.
*** All plagiarism will be penalised, there are no exceptions and no excuses. ***
6. Rubric and marking guidelines
Submission files not in the required format will not be marked.
A penalty of 10% per day of the total available marks will apply for each day being late.
If you want to seek an extension of time for assignment submission, you must have a substantial
reason for that, such as unexpected circumstances. Reasons such as, unable to cope with study
load, is not substantial. Also, you must apply for an extension as soon as possible. Last minute
extensions cannot be granted unless it attracts special consideration.
Please find out how to apply for special consideration online at
https://www.rmit.edu.au/students/student-essentials/assessment-and-results/special-
consideration/eligibility-and-how-to-apply
Any student wishing an extension must go through the official procedure for applying for
extensions and must apply at least a week before the due date. Do not wait till the submission
due date to apply for an extension.
The rubric can be found in Canvas → Assignments → Assessment 2.
7. COSC2626 vs COSC2640 questions
This assignment has 15 questions and students are required to answer all questions. Note that
questions 9, 10 and 15 have two versions, one for COSC2626, the other for COSC2640. You only
need to do the ones coded for your course.
Page 3 of 5
RMIT Classification: Trusted
Before You Start
Do not copy from lecture notes. Use your own words and clearly demonstrate your
understanding.
Virtualization and hypervisors (58 marks)
1. (4 marks) Describe two advantages and two disadvantages of cloud computing over running
your programs locally.
2. (6 marks) Describe what the following terms, IAAS, PAAS, and SAAS, mean, and give an
example for each of them.
3. (4 marks) Briefly explain privileged and non-privileged instructions with examples
4. (6 marks) What is the difference between kernel and user mode? Explain how having these
two distinct modes facilitates the design of hypervisors.
5. (4 + 4 + 2 = 10 marks) Explain the difference between full virtualization and
paravirtualization. Why do you want to use full virtualization over paravirtualization and vice
versa? How can you make a paravirtualized OS work with different Hypervisors as well as on
native hardware? Explain your answer.
6. (6 marks) Explain the challenge imposed by guest OS to virtualization. What is the common
solution? Explain how it works.
7. (5 marks) Why do we need binary translation? How does it work? Does it have a future?
Explain your answer.
8. (5 marks) With many VMs sharing memory, briefly explain why it is difficult to virtualize
memory.
Page 4 of 5
RMIT Classification: Trusted
9. COSC2626 only. (6 marks) Explain why running virtual machines requires large amounts of
memory. Find a way to reduce the memory usage in the context of virtual machines.
9. COSC2640 only. (6 marks) When the memory is full, some pages have to be kicked out to the
disk, that is, swap out pages. Design a method that helps hypervisor to determine the pages
that are going to swap out to the disk. (note that this topic is not covered in lectorials. You
will need to do your own research.)
10. COSC2626 only. (6 marks) Explain how live migration of VMs is done.
10. COSC2640 only. (6 marks) When migrating a virtual machine, are there difficult issues to
resolve? Explain.
Concurrency and parallel processing (32 marks)
11. (6 marks) Explain what concurrency is in relation to parallel processing.
12. (4 marks) Explain what a critical section is. Is there any potential problem for accessing
critical section? Explain.
13. (4 marks) Explain why disabling interrupts is not appropriate for implementing
synchronisation primitives in multiprocessor systems.
14. Consider the following portions of two different programs running at the same time on four
processors in a symmetric multicore processor (SMP). Assume that before this code is run,
both x and y are 0.
Core 1: x = 3; Core 2: y = 3; Core 3: w = x + y + 1; Core 4: z = x + y;
a. (10 marks) What are all the possible resulting values of w, x, y, and z? For each possible
outcome, explain how we might arrive at those values. You will need to examine all
possible interleavings of instructions. (Don’t be panic. It sounds complicated, but not.
Stay calm and do the analysis carefully.)
b. (2 marks) How could you make the execution more deterministic so that only one set of
values is possible?
Page 5 of 5
RMIT Classification: Trusted
15. COSC2626 only. (6 marks) Calculate the speedup gain of an application that has an 80
percent parallel component for (a) four processing cores and (b) eight processing cores.
15. COSC2640 only. (6 marks) Explain if it is difficult to achieve a high speedup gain with parallel
programming. Prove if there is a limit on speedup gain. With an application that has an 80
percent parallel component, what is the maximum speedup gain that can be achieved?