On Github jvilaplana / thesis-slides
Supervised by
Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).
Cloud computing is a general term for anything that involves delivering hosted services over the Internet
Clouds can be delivered according to different service and deployment models
However...
Cloud systems are complex
⇨
Modelling
Queueing theory
Nonlinear programming
Cloud simulation
Cloud platform
A Cloud system can be transformed to...
A queueing theory model
⇨
Mathematical formulas
A nonlinear programming problem (NLP) deals with mathematical optimization problems where the objective function to be maximized or minimized, or some of its constraints, are nonlinear.
A NLP can be defined as:
\begin{equation} Max(f(x_{1},x_{2}, ..., x_{n})), \end{equation}
s.t. (subject to):
\begin{equation} \begin{split} h_{i}(x) = b_{i} & \quad (i = 1, 2, ..., m) \\ x_{j} \geq 0 & \quad (j = 1, 2, ..., n) \end{split} \end{equation}
Then, it can be processed by a solver to extract an optimal solution
The utilization of simulations tools opens the possibility of evaluating the hypothesis prior to software development in an environment where one can reproduce tests
CloudSim is an event-driven and extensible simulation toolkit that enables Cloud systems and scenarios to be modelled and simulated
Modeling and simulation of...
And much more...
Union of the healthcare and the information and communications technology (ICT) areas
Telemedicine
Electronic Health Records
Patient Data Management
mHealth
e-health is an emerging field in the intersection of medical informatics, public health and business, referring to health services and information delivered or enhanced through the Internet and related technologies. In a broader sense, the term characterizes not only a technical development, but also a state-of-mind, a way of thinking, an attitude, and a commitment for networked, global thinking, to improve health care locally, regionally, and worldwide by using information and communication technology.Cloud Computing + eHealth
Achieve eHealth solutions through Cloud-based technologies and architectures
Presents the design of a Cloud platform with QoS guarantees based on response time for services.
The main contribution consists of a computer service QoS model for the Cloud architecture made up of processing servers and a data service
$T_{ES}$ represents the response time of the Entering Server ($ES$) which acts as a load balancer. The $ES$ node is modeled as an $M/M/1$ queue. Thus, the formula for obtaining the response time for an $M/M/1$ queue is:
\begin{equation} \label{eqTES} T_{ES}=\frac{1/L}{1-\lambda/L}, \end{equation}
where $\lambda$ is the arrival rate, and $L$ is the service rate of the node $ES$.
$T_{PS}$ represents the response time of the $PS$ nodes. These nodes are modeled as an $M/M/m$ queue.
\begin{equation} T_{PS}=\frac{1}{\mu}+\frac{C(m, \rho)}{m\mu-\gamma}, \end{equation}
$m$ is the number of PEs, $\gamma$ and $\mu=\mu_i, i=1..m$, are respectively the arrival and service rates of each PE respectively.
$C(m, \rho)$ represents Erlang's C formula, which gives the probability of a new client joining the $M/M/m$ queue:
\begin{equation} C\left ( m , \rho \right ) = \frac{\left ( \frac{(mp)^m}{m!} \right ) \left ( \frac{1}{1-\rho} \right )}{\sum_{k=0}^{m-1} \frac{(mp)^k}{k!}+\left ( \frac{(m\rho)^m}{m!} \right ) \left ( \frac{1}{1-\rho} \right )}, \end{equation}
where $\rho=\gamma/\mu$.
$T_{DS}$ represents the response time of the $DS$. Requests are sent to the $DS$ node with a probability $\delta$. The $DS$ node is modeled as a $M/M/1$ queue:
\begin{equation}\label{eqTDS} T_{DS}=\frac{1/D}{1-\delta\gamma/D}, \end{equation}
$\delta\gamma$ is the arrival rate to $DS$, and $D$ is the service rate.
The arrival rate at the $OS$ is the sum of the arrival rates of the two crosspoint branches entering the summatory. The one crossing the data server is the same than at its input ($\delta\gamma$). On the other branch, the $\gamma$ term must be changed by its complement to one.
\begin{equation} (1-\delta)\gamma + \delta\gamma = \gamma \end{equation}
$T_{OS}$ represents the $OS$ response time. Its operation is also modeled as a $M/M/1$ queue. Its service rate is defined as $O/F$, where $O$ is its average BW speed, and $F$ is the averaged size of the data responses of the system.
\begin{eqnarray}\label{eqTOS} T_{OS} &=& \frac{F/O}{1-\gamma/(O/F)} \nonumber\\ T_{OS} &=& \frac{F}{O-\gamma F} \end{eqnarray}
Finally, $T_{CS}$ is the $CS$ response time, that operates as an $M/M/1$ queue. The service rate is defined as $C/F$. where $C$ is the avg BW speed of the client server. $F$ is the average size of the received reply files.
\begin{eqnarray}\label{eqTCS} T_{CS} &=& \frac{F/C}{1-\gamma/(C/F)} \nonumber\\ T_{CS} &=& \frac{F}{C - \gamma F} \end{eqnarray}
Parameters used in the implementation:
$\lambda$ is the averaged number of requests reaching the system per unit of time. $1/\lambda$ is the mean inter-arrival time. We aimed to show how the total response time ($T$) is affected by varying the parameter $\lambda$. The number of processing servers ($m$) represents the total number of processors, cores or nodes dedicated to servicing requests. Changing this parameter will show the impact of adding or removing servers from the system.
$F$ Average file size. This is the mean size of the files that are sent to clients via Internet as the service response of the overall system. This value depends on the web application that runs on top of the system, although it should be no greater than 1MB in most cases.
$O$ Server bandwidth. This is the network speed at which files are sent to clients over the Internet.
$C$ Client bandwidth. This is the average connection speed of the clients receiving the data sent from the system. This parameter will usually be outwith our control.
$\delta$ Database access probability. This is the probability that an incoming request needs to access the database node $DS$. As we are modeling a web-based system, not all requests will always require an access to the database server. Note, however, that this probability will usually be relatively high.
$\mu$ Service rate. This describes the speed at which the web servers handle the requests. \ $1/\mu$ is the mean service time. To simplify the results we have chosen the same value for all $PS_{i}$ servers. The total service rate of the system must always be greater than $\lambda$ for the system to be stable. This value is modified through the tests in order to check the performance impact. Although the service rates of $ES$, $PS_i, i=1..m$, $DS$, $OS$ and $CS$ could be different, we assumed the same value to simplify the experiments. So, in this case, $\mu=L=D=O/F=C/F$ in all the tests.
Implemented using the OpenStack Cloud platform
Presents a power-aware scheduling policy algorithm of VMs into nodes called GreenC
GreenC takes into account optimal assignments according to physical machine and VM heterogeneity, the current host workload and communication between the different VMs
The relative computing power ($\Delta_{v}$) of a Host $H_{v}$ is defined as its normalized score
$\Delta_{v} = \frac{\delta_{v}}{\sum_{k=1}^{V} \delta_{k}}$
$\delta_{v}$ is a valid score of $H_{v}$
$\delta_{v}$ is a theoretical concept ➩ obtained using a benchmark (Linpack, SPEC, ...)
Each VM has its Processing cost $P_v^i$, representing the execution time of VM, $\mho^i$, in $H_{v}$ with respect to the execution time of VM $\mho_{i}$ in the less powerful $H_{v}$
$M_v^i$ is the amount of Memory allocated to VM $\mho_{i}$ in $H_{v}$
Once the solver is executed, $\mho_v^i$ variables will inform about the assignment of VM to hosts
$\mho_v^i=1$ if $\mho^i$ is assigned to $H_v$, and $\mho_v^i=0$ otherwise
We can model this behaviour with an Erlang distribution density function:
\begin{equation} \label{erlang_22} E(x;\alpha,\lambda) = \lambda e^{-\lambda x} \frac{(\lambda x)^{\alpha - 1}}{(\alpha - 1)!} \forall x,\lambda \geq 0 \end{equation}
Erlang is a continuous probability distribution with two parameters, $\alpha$ and $\lambda$. $\alpha$ is called the shape parameter, $\lambda$ is called the rate parameter. These parameters depend on the VM characteristics. When $\alpha$ equals 1, the distribution simplifies to the exponential distributionErlang plots for different $\alpha$ and $\lambda$ values
The Communication Cost between VMs is denoted by $C^{ij}$
Notation $C_v^{ij}$ represents the Communication Cost between $\mho^i$ residing in $H_v$ with other $\mho^j$
\begin{align} \tiny max(\sum_{v=1}^{V}(\sum_{i=1}^{T}\mho_v^i&(P_v^i+\sum_{j \ st \ i>j}^T (C_v^{ij}\mho_v^jC_s + C_v^{ij}\mho_{\overline{v}}^j))) \Delta_{v} E(\sum_{j=1}^{T} P_v^j \cdot \mho_v^j;\alpha,\lambda)) \\ \small s.t. \ \:&\sum_{v=1}^{V} \mho_v^i=1 \ \ \ \forall i \leq T \\ \small &\sum_{i=1}^{T} M_v^i \leq M_v \ \ \ \forall v \leq V \end{align}
The resulting assignment is:
$H_{1}=\{\mho^1,\mho^2,\mho^3\}$, $H_2=\varnothing$ and $H_{2}=\varnothing$
Communication configurations
VM i VM j Cost 1 2 0.2 1 3 0.6 2 3 0.3 $C_s$ 0.6Host configurations
Host Memory Delta Erlang 1 10 0.55 $\alpha = 7, \lambda=1$ 2 10 0.35 $\alpha = 8, \lambda=3$ 3 10 0.1 $\alpha = 2, \lambda=1$The resulting assignment is:
$H_1=\{\mho^1,\mho^2\}$, $H_2=\varnothing$ and $H_3=\{\mho^3\}$
Presents the computer application H-PC (Hypertension Patient Control), which allows patients with hypertension to send their readings through mobile phone SMS (Short Message Service) or e-mail to a cloud computing datacenter
Clinicians can keep track of their patients, thus facilitating monitoring
H-PC allows target limits to be established individually from both systole and diastole blood pressures, depending on patient characteristics
If these limits are exceeded, an alert is shown in the main page of the H-PC tool so clinicians can act quickly and, if needed, perform an intervention or send an alert to the patient
Pulse can also be registered when manually entering the data or when sending it via e-mail
H-PC performs a data verification check in order to avoid incorrect or invalid measurements
Presents a new program that facilitates the management of people who want to quit smoking, implemented through an e-treatment software called S-PC (Smoker Patient Control)
Manages groups of patients, provides a bidirectional communication between patients and clinicians and offers advice and control to keep track of the patients and their status
Belfast, Northern Ireland
February - March 2015
Reader in Computer Science
Involved in the project:
Identifying cyberbullying from social media
What is cyberbullying?
The use of cell phones, instant messaging, e-mail, chat rooms or social networking sites such as Facebook and Twitter to harass, threaten or intimidate someone
Is cyberbullying a real issue?
Cyberbullying can severly affect mental and physical health and, in extreme cases, lead to suicidal behavior.
http://nobullying.com/six-unforgettable-cyber-bullying-cases/The cyberbullying project
Data input
Data analysis
Data visualization
Contributions
This thesis proposed and investigated multiple Cloud architectures and models and implemented them using dierent techniques and scenarios, such as queueing theory, nonlinear programming and Cloud simulation.
A Cloud infrastructure was developed using OpenStack.
A scheduling mechanism called GreenC was developed to achieve energy eciency while maintaining the performance of the Cloud system. This policy obtained a reduction in energy consumption of up to 23% compared with the default policy
Two eHealth telemonitoring applications were implemented and deployed on the developed Cloud infrastructure.
Smoking Patient Control (S-PC) was deployed and tested in two hospitals with a total of 229 real patients, where 104 patients were treated using the S-PC tool and 125 without it.
74% of the patients treated using the S-PC tool successfully completed the treatment without relapses, while only 45.6% of those who followed the conventional treatment successfully achieved long-term abstinence.
Hypertension Patient Control (H-PC) was successfully designed and implemented, and the computing boundaries were measured, proving its good behavior in terms of performance and scalability.
These performance results are also directly applicable to the S-PC tool.
What's next?
There are a number of open research challenges to address in order to further advance in these areas.
The eHealth tools will be deployed in more hospitals and healthcare centers.
The Sant Joan de Deu hospital in Manresa has agreed to test the S-PC tool with its patients.
Healthcare centres are being contacted to expand the testing both in the number of patients and the geographic location.
The H-PC tool has entered the testing phase with real patients in three different centers: the Arnau de Vilanova and Santa Maria hospitals in Lleida and the Clinic Hospital in Barcelona.
A smartphone app is being developed for both tools.
Explore additional treatments and diseases.
Expand the number of healthcare centers, patients and treatments.
Additional performance and scalability tests to avoid performance issues.
Analysis of social networks
Internet of Things
Big Data techniques applied to eHealth
Thank you for your kind attention!