Name: _____________________________________________________
1. General: Briefly explain the differences and similarities between cloud
computing, grid computing, and highperformance computing.
2. Optimization:
 Give two examples when optimization is
important for cloud computing.
 Solve the following constraint optimization problem: minimize
the expression x + 2y under the constraint x^{2} +
2y^{2} = 18.
 Use Least Squares to find, stepbystep, the parameters m and b
for which y_{i} ~ m * x_{i} + b, when:

x_{1} = 0, x_{2} = 1, x_{3} = 2,

y_{1} = −0.9, y_{2} = 2.0, and y_{3}
= 3.1.
3. Security:
 Why is
security especially important for cloud computing?
 In the RSA algorithm, let us start with the prime numbers p =
5 and q = 3, and let us take e = 7. Show, stepbystep:
 how the
RSA algorithm will generate the secret code d, and
 how it will
encode the message m = 2;
 then decode and check that you get the
original message back.
 Important: use the actual RSA algorithms on all steps,
do not just guess for d and raise to the power to encode.
4. Parallelization:
 Why cloud computing strongly
encourages parallelization?
 Show how, given six numbers a_{1}, a_{2}, ...,
a_{6}, we can compute, in parallel, the corresponding
partial maxima

m_{1} = a_{1},
 m_{2} =
max(a_{1}, a_{2}),
 m_{3} =
max(a_{1}, a_{2}, a_{3}),
 ...,

m_{6} = max(a_{1}, a_{2}, ...,
a_{6}).
 Explain how to use MapReduce to find the product of n values.
5. Green computing:
An environmentally conscious user wants to decrease the
computing cost and to decrease the effect on the environment.
For that purpose, he can distribute his computations between two
cloud services:
 a cheaper service whose servers are located farther away
(and thus, spends more energy to transmit data), and
 a more
environmentally friendly but more expensive local service.
If out of
total amount c of computations, the user assigns c_{1} to the
first service and c_{2} = c − c_{1} to the
second service, then:
 the cost is f_{1}(_{1}) =
a_{1} * c_{1} − b_{1} *
(c_{1})^{2} + a_{2} * (c − c_{1})
− b_{2} *
(c − c_{1})^{2}, and
 the environmental impact (i.e., the energy spent) is
f_{2}(c_{1}) = e_{1} * c_{1} +
e_{2} * (c − c_{1}).
For this multioptimization problem:
 what is the solution
when we select the equal weights w_{1} = w_{2}
= 0.5?
 what is the solution to in the general cases,
when we select an arbitrary value w_{1} from the interval [0, 1], and
take w_{2} = 1 − w_{1}?
 why multiobjective optimization is important for cloud computing?
6. Financial aspects of cloud computing:
 Estimate the costs and decide whether it is beneficial to
sign a contract with the cloud provider for T = 2 years:
 the cost of buying a unit of
computations on a yearbyyear basis is c_{0} = 10;
 the contract
offer a discount price c_{T} = 8,
 the discount rate is q = 0.9, and
 the price of computing decreases yearly by a factor of v = 0.8.
 Let us now assume that:
 every day, the company uses
at least m = 1000 computations, and
 the probabilities of different
numbers of computations x are described by the power law
p(x) = A * x^{−α}, with α = 3;

the cost of a unit inhouse computation is c_{0} = 1 money
unit per
computation unit and
 the cost of computing in the cloud is
c_{1} = 4 money units per computation unit.
In this situation:
 How
much computing power x_{0} should be purchased for inhouse
computations?
 What is the resulting expected cost?
 Compute the expected costs when we do all the computations
exceeding m in the
cloud, and show that the optimal arrangement indeed saves money.
 Reminder:
In these computations, you can use the formulas that we derived in
class for the power law case:
 the optimal amount of computing power to purchase is
x_{0} = m * (c_{1} /
c_{0})^{1 / (α − 1)};
 the resulting expected cost is equal to
((α − 1) / (α − 2)) *
c_{0}^{(α − 2) / (α − 1)} *
c_{1}^{1 / (α − 1)} * m;
 if we do all the computations exceeding m in the cloud, then
the resulting cost is
m * (c_{0} +
c_{1} / (α − 2)).
7. Intelligent techniques for cloud computing:
 Why fuzzy techniques are needed for cloud computing?
 Briefly describe the main steps of fuzzy techniques.
 Which "and"operations are typically used in fuzzy techniques? If:

the expert's degree of belief in a statement A is 0.7 and
 the expert's
degree of belief in a statement B is 0.9,
what is the expert's degree
of belief in the statement "A and B"?
 Why neural networks are needed for cloud computing?
 Let us assume that:
 We have are training a neural network with K = 2
neurons to
learn addition. This means, in particular, that for inputs x_{1} = 1.0 and
x_{2} = 2.0, the desired output is Y = 3.0.
 On a certain iteration, we have
w_{ki} = 0 for all k and i, so that the outputs of the nonlinear
neurons are equal to 0.5: y_{1} = y_{2} = 0.5.
 Suppose
that at this iteration, W_{1} = W_{2} = 1.0 and
W_{0} = 0.0.
Assuming that α = 0.2, compute the values
of all the weights on the next iteration.
 Reminder about neural networks:
 Each nonlinear
neuron k (k = 1, 2, ...,
K) from the first layer
transforms the input signals x_{1}, ..., x_{n}
into a signal
y_{k} = s_{0}(w_{k1} *
x_{1} + ... + w_{kn} * x_{n} −
w_{k0}),
where s_{0}(z) = 1 / (1 +
exp(−z)).  The last linear neuron then transform these
signals y_{k} into a single output
y = W_{1} *
y_{1} + ... + W_{K}
* y_{K} − W_{0}.
 For each pattern with the known desired output Y, once the
NN computed the input y, you can find the error Δy = y
− Y.
 Based on this error Δ y, you can compute the changes to all
the weights as follows:
 ΔW_{0} = α *
Δ y, for some small number α > 0;

ΔW_{k} = − y_{k} *
ΔW_{0};
 Δw_{k0} = −
ΔW_{k} * W_{k} * (1 − y_{k});
 Δw_{ki} = − x_{i}
* Δw_{k0}.
8. Projects:
 Describe, in detail, the paper that you reviewed as a
project for this class:
 what problem is addressed in
his paper,
 what solution is proposed for this problem, and
 (if applicable) what are the remaining open problems.
 Briefly describe someone else's project for this class.