>> Arkady Retik: Okay. Good morning. My... session. I'll also be chair in the session this...

advertisement
>> Arkady Retik: Okay. Good morning. My name is Arkady Retik. I'm the chair for this
session. I'll also be chair in the session this afternoon. And you'll probably figure out, this
session is one of the united theme of this session is education. And the same will be afternoon.
So we have three presentation, and we have four more presentation related to education this
afternoon.
Before we go to this particular session, just a very short announcement. If you register, and
especially for those faculty who come who are not Microsoft people, if you registered for this
conference within the last week, well, you couldn't register because the registration was closed,
more specifically. Please pass your e-mail account to registration because I think we're going to
give to everyone, faculty outside, access to Azure for test environment. So do encourage you to
register and give your e-mail, otherwise you miss this offer.
Now, as far as the presentation, we have three very interesting presentation today. Three of them
are about education and about using the cloud to contribute specifically to university and
teaching.
One is to work predictable cloud computing by Andreas Polze, then will be cloud for University
City Campus by Danilo Montesi, and then the last one by Harold Castro on cloud computing
project engineering.
So the first one is by Professor Andreas Polze. Actually, this presentation is by -- submitted by
two people, also Alexander Schmidt here, who will be presenting another paper afternoon.
Andreas, who will be presenting his, is professor at -- in operating system in middleware at
Hasso-Plattner Institute for software engineering. This is part of University of Potsdam in
Germany, and there is also head of postgraduate PhD school on service-oriented engineering
there.
Andreas has very distinguished record and he did research and teaching in many places, not only
in Germany but also in U.S., Carnegie Mellon and Urbana Illinois in other things. He has also
written many papers.
Very interestingly enough Andreas also took part in several Microsoft project and technologies
like Rotor, Phoenix, and one -- last one is Windows Research Kernel. Actually he was very
active and was a coauthor of Curriculum Resource Kit that helps introduce operating system
teaching into universities.
Part of this is also contribution to Windows Research Kernel. It's a source code offering for
Microsoft [inaudible] environment. Andreas' group did a lot of research, and I believe part of his
presentation experience will be about this.
So please welcome Andreas here.
So just to let you know, every presentation is 20 minutes. I'll give a sign. And then five minutes
we will leave for questions. Thank you.
>> Andreas Polze: Okay. Thanks for your introduction, Arkady. And title of presentation today
is towards predictable cloud computing.
And I want to start with this agenda today. First I want to talk very briefly about Hasso-Plattner
Institute and our group there and what we are doing in terms of research, then I'm going to talk
about a couple of specific projects. One is called WRK, Windows Research Kernel, which is a
Microsoft thing, but we were actually first site outside Microsoft who ever touched it.
I briefly mentioned KStruct, which is the Ph.D. topic of Alexander Schmidt, who was from my
group here, and I'm going to mention NTrace. Those are tools and approaches that are focused
on monitoring and investigating and running operating systems kernel.
And we will extend it, this topic a little and talk about research management for service
computing, which is kind of the cloud computing of yesterday, okay, [inaudible] and services
[inaudible] and then we look into how this can be translated and applied to cloud computing.
And we will finally talk about resource management for cloud services.
So what is the Hasso-Plattner Institute? It is an institute which is privately funded at University
of Potsdam. This is quite unusual for Germany where you usually don't have private institutions.
We have a full-blown computer science curriculum which focuses very much on software
engineering, and we have this Ph.D. program called service-oriented systems engineering which
runs now for five years.
Depicted here is Hasso-Plattner, who was one of the cofounders of the SAP, so we're living a
little from SAP mining, which is a good thing.
So if you look at the pyramid, you see the usual education. What stands out a little is this Ph.D.
program. And we have a number of collaborations with other Ph.D. schools in the bigger Berlin
area where there are about 12 schools in this area alone. And all these students -- okay. All
these students, they focus on -- they focus on service-oriented systems engineering.
And if you look here, you see the topics of the different chairs which are all looking at these like
inner technologies or system architecture from a software engineering standpoint.
And the goal of this research school is to bridge a mountain and basically look at all the different
levels of this service stack starting at the operating systems level, going over communication and
middleware and security and workflow, going to applications. And also orthogonal to this,
looking at tools and approaches for building services in a distributed fashion.
So what I basically want to point out is we have quite some background in service computing
and research in this area from different viewpoints and angles.
If we come back to the operating systems middleware group, then our research agenda looks
more like this.
So kind of anchor point is the middleware. The chair actually called operating systems and
middleware. And from middleware we go down to operating systems. There's a number
projects. Windows Research Kernel is one of them, but also other collaborations with HP,
looking into VMS, looking at HP/UX, also looking into realtime systems.
And from the middleware we go into embedded systems and we go into wide or distributed
computing, which will be service computing or cloud computing.
And we have done research projects on the European level, like this adaptive services grid used
to be a European integration project. But also projects by industry. And you see a number of
industry partners here. This is basically my background.
Now let's talk a little about the operating systems which become important again. This is
actually an interesting thing. If you were talking to a computer science guy like -- or to an
entrepreneur, even better, if you -- there used to be a platform before eBay become ubiquitous.
There used to be a platform called alando. Alando.de was German auction house. And one of
the founders, they -- they got bought by eBay. One of the founders gave a presentation at our
school and people asked what do we need to learn in order to be successful in business. And he
said Java and XML. And this was the answer until maybe five years or three years ago.
Now people understand that because of this multicore and multithreading challenge computers
are not getting faster as fast as they used to get faster. People understand that they look back and
need to look back into the operating systems, need to look back into computer architecture, need
to focus on programming models and so forth.
And I think cloud computing is one of the tips of the iceberg where we see new computing
models arise. But I also want to propose later on that there's more to come. So programming
models, computing models, there's a long road to go.
Again, operating systems are becoming important again. If you want to look at Windows, then
we have put up a Web site which is actually visible from the Internet talking about the Windows
Research Kernel. Also we have done -- developed a couple of tools, like one tool called Pixer
[phonetic] which does a hyperlinked annotated version of the Windows sources, which is also on
the Internet.
You don't see these far -- the URL right-hand top, and there's this process of signing up and
basically. At some point you need to send e-mail to Arkady. But then a number of schools are
already using this. You can access the Windows sources and navigate and run students' projects
and do experimentation in operating system space with one important product maybe. This is
just Slingshot showing this tool.
Whenever you investigate an operating system, you look at the sources. You use tools like a
kernel debugger to understand what's going on, and you want to have additional tools which
don't interrupt the timing behavior of the system so much like single step and true debugger.
Basically the biggest challenge of getting consistent view of what's going on in the operating
system. And this is actually a topic which comes back if you talk about cloud computing, getting
consistent view of what's going on in the system is getting more and more important and more
and more difficult. And there's more presentations actually on this workshop who look at the
topic how to consistently judge about the system.
So what is the idea here carrying out experiments on the system, developing tools, developing
domain-specific languages to describe certain parts of the system, like data structures, and then
automatically generate code which will be like device drivers, which could be inserted in the
system on a test to get consistent information out of the tool -- of the system.
This is more or less the Ph.D. topic of Alexander Schmidt, and he's going to give a presentation
this afternoon where he talks about SkyLab. Some people might remember SkyLab. It was
famous like 30 years ago. He's giving more explanation why we choose this topic again.
The idea is basically using the cloud to build an environment where you can do experimentation
with operating system kernel. So you need to run your own test system, you don't need to run -set up experiments, you just go to the cloud and find a number of canned experiments, put in
virtual environments together with tools, together with expected observations, like you may
remember from your school basically when you did physics experiments.
The next thing is called NTrace. This is different research, also carried out at our group. And as
the name says, it is about tracing system behavior. So how can you trace system behavior.
Typically you need to insert observation points, insert, modify the code, modify the system on a
test. How can you do this without possibly having sources of the system.
And here comes a little interesting idea. If you look at recent editions of Microsoft products,
then these editions are so-called hotpatchable, which means that code is generated following
certain patterns, and the pattern is whenever there is a function based on white space on top of
the function, and this white space can be used. And basically all Windows products are
instrumented that way, or compiled that way. You need to use the white linker switches, which
is hotpatch and functionpadmin, and then you get the white space.
And now you detect the start of a function, that's the idea, and you remove couple of instructions
here, jump to this white space which is used as a trampoline to do a long jump to your
instrumentation code. And then you basically are off and running doing instrumentation here.
From your function -- you need to detect where function starts. Function boundary tracing, right,
that's the topic, from the beginning of the function you jump to your trampoline. From the
trampoline you go to some place where you do your instrumentation, and from the
instrumentation you have modified return addresses and so forth that go back to the original
function. You have modified return addresses, which means you have a chance to go back into
your call proxy once more to trace the function exit as well. And then you're off and the system
is running as before.
So we have developed this on a binary level for the 32-bit versions of Windows, which is
applicable not only to the Windows Research Kernel, but also to products. So you can trace
running -- your experimental system but also product retail versions of Windows.
And I have [inaudible] consider number of details. Because your computer is today being
multicore computer. So it's not too easy to decide when it's safe to modify a certain piece of
code. Because the other CPU might well execute it in this moment.
Next thing, if you know Windows programming, [inaudible] exception handling. Exception
handling is also used inside kernel [inaudible] extensively, which means that you have basically
not only the stack but also exception stack. You have to save not only your stack pointer but a
little more.
So implementation details. But in general that's -- this is a method which allows you to trace
system behavior on a Windows system.
These are a couple of projects in the operating system space, current and ongoing research,
which we later on want to apply to the cloud. But first let's look into resource management as a
different question for service computing.
So in this user interface we have, which is often called green computing today, we have worked
with Software AG. Software AG is building middleware engine and in particular they are
building a thing called CentraSite, which is a metadata enriched [inaudible] repository, basically
the one place where you want to put all your policy information about how to run certain
services, what kind of resources [inaudible] do for the services and so forth.
So we developed and implemented the so-called policy enforcement point for CentraSite which
allows for realtime resource partitioning without changing operating system, without changing
application server and the Java runtime and so forth.
So CentraSite is a Java thing, but same would apply to .NET as well. And we have to notice that
just talking operating system is not enough because the runtime environments typically also
include application server and just additional software.
So what is the idea. We have an operating system and we have something called scheduling
server, which is software developed by us originally on the [inaudible] operating system later
ported to Windows NT and to Solaris. And we have also a portable version on POSIX kind of
systems.
And the scheduling server is able to do time slicing, if you will, of the CPU so that you can give
guaranteed amount of CPU time to certain threads and to certain service invocations. So that's
the idea. Here you see the scheduling server's principle. Basically you do dynamic modification
of priorities for threads so that at certain point in time your application, your service and location
is going to get the highest priority in the system and the others are just being suspended or being
basically without CPU.
And this allows you to give, say, 10 percent to one service invocation and 20 percent of CPU to
another service invocation and make predictions about how these service invocations will
perform.
Brings up another interesting topic. Server and service computing and to some extent maybe
also cloud computing, they're often viewed as stateless operations. So you have to encode
everything you want in terms of interface with your -- to your service in this service invocation.
There is no state at the server, which is -- might be difficult if you want to give guarantees.
And, in fact, if you look at cloud computing today and in particular in the WSLA agreements,
and then you see that there is a certain difficulty in getting guaranteed performance out of service
computing, out of cloud computing today.
Okay. I mentioned this already. Scheduling server. That's the idea. Next idea, if you look at
service computing and also at cloud computing, it's no longer that there is a single invocation,
but you have workflows. So you want to use this knowledge about the workflow and about how
things interrelate and feed this back into your execution environment.
And the other thing we learned in order to do predictable computing in a service space or a cloud
space, it's not sufficient to look at one component. But you have to build up a model which is in
this term -- in this context called service monitoring model, which looks at various levels, at your
operating system, which might be Windows or Linux, which looks at the application server,
which looks at the runtime environments of certain programming languages and so forth.
And this is just an excerpt from this monitoring model and where you get the data from.
Okay. Now a few words about cloud computing. And I go quickly here because you know this
already. So cloud computing came up with -- or comes in three different flavors. You talk about
infrastructure as a service platform and service software as a service.
Infrastructure basically means you run a machine image. Platform means you have
programming environment, like Visual Studio and Azure, like Eclipse and Google App Engine,
or software as a service, you just use the software. It's like Google Docs or salesforce.com.
This forms a stack again, sure, but you want to have it on a pay-per-use basis and you want to
have it elastic. And then there is a kind of orthogonal discussion, and this is about whether cloud
should be public or private. So far most offerings are public clouds.
And, interestingly enough, the big players, like SAP and the IBM, they don't talk about cloud at
all, which means they are not talking about public clouds; they are talking about private clouds.
They want to have everything behind the fence.
And my kind of understanding of this scene is probably we will end up at something sometimes
called hybrid cloud. So there will be both. Indicators are right now you can have NVPN into the
VM cloud already so that you have secure communication to your VMware -- excuse me, to your
Amazon data.
Another indicator, if you look at VMware, they have something called vCloud where they allow
you to establish layer 2 connectivity about cloud instances, building closer coupled things inside
a cloud.
Next interesting distinguishing question is what is the unit of granularity. So often it's the
machine image, but sometimes it's also bigger, like the Virtual Datacenter, or smaller, much
smaller. Sometimes it's even a physical machine. IBM has something called the Resource Cloud
where they give physical machines to researchers and have basically a portal for managing this.
Next question is what is the programming model. So we are so much used to Web services that
we think Web services is the answer, and I would -- ask you, this might be true for the moment,
but will change. Also how do you communicate inside the cloud using service pass, using
message passing, APIs. This is basically like all -- like the generic solution but not the optimized
solution, in particular not optimized if you look into multicore and multithreaded architectures.
There's some amazing examples, like this Live Mesh cloud application from Microsoft where
you just share data and don't care. So cloud computing has many beauties. It has problems as
well with the servers and the form factors and the heat. But we pretend not need to care about it
because Microsoft will do, Amazon will do, and I'm not sure how long this holds true. I think
resource -- talking about resource [inaudible] sharing resources for cloud computing will bring
some of these problems back to the user again. Energy consumption, sure. And how does it all
come together.
So okay. Our idea is that we use the scheduling server or something similar for CPU partitioning
in the cloud. We want to use NTrace for doing local resource monitoring and then generate
probes which deploy in the cloud to figure how the systems in the cloud are doing actually.
There is also movement in this space. If you go to VMware they have something vProbe which
is basically like DTrace for D hypervisor. So we can instrument, write those scripts to
understand what the hypervisor is doing. And how it gives resources to the different clients and
guests.
If you want to try similar things on Azure, it's much more difficult. You have to walk through
locked files. You have to do it basically [inaudible] and so forth.
Next thing, as I mentioned, I believe strongly that there will be new programming models. And
we want to talk about collocation of services again. We want to talk about comanagement of
productivity. Okay. I'll go quickly over this one. Talked about it already. So this was the part
of applying known or previous research now to the cloud.
Talking programming models, there's a couple of big innovation in the computer architecture
field. One innovation is that we will see -- start seeing CPUs which are heterogenous in terms of
having different cores inside the same chip.
One example -- and the other direction will be just having many, many more CPUs inside many
more cores inside the same CPU which are not connected like today's SMP machines.
Examples are the single chip cloud computer [inaudible], other examples are systems where we
have GPUs, graphical processing, unit, and CPUs being used as compute units at the same time.
And OpenCL is a programming language which will allow to use this.
So idea here, you have compute units and they are different. They are heterogenous. Some of
them are just CPU-like devices, others are GPU-like devices are -- are maybe even different.
And this will form one chip in the future. And what is not clear today is what will be the
memory consistency models, do we put data there, how do you, yeah, keep data consistent.
The other notable movement is towards product libraries, product computing in the chip. So
example here from Intel where you have these threading building blocks, and Microsoft is
picking up on this with the concurrent runtime for .NET and [inaudible] library that you basically
let the CPU and runtime system decide how to partition your computation.
So in the keynote we learned about embarrassingly parallel applications. And certainly in the
field there are many applications which lend themselves to parallelization easily. However, this
has been the case for like 20 years. And it turns out that there's also many applications where it's
difficult to parallelize, and without help of compiler, no chance.
Okay. Time is over. Last topic. In order to study all this, we have started building a future SOC
lab at HPI which is run by a couple of companies, and our institute idea is bringing huge
computers, huge in terms of memory, huge in terms of CPUs, and developing and researching all
these questions I have mentioned basically in this environment.
And as I mentioned earlier, I think we are talking about hybrid clouds in the future, so the
questions will be how can we unite Azure and public offerings in the cloud and the datacenter.
And just going to the conclusions. So we have new programming models. We have the
multithreading multicore challenge where we need to learn parallel programming again. And
monitoring the cloud will be most important to make it successful for businesses and for
applications.
>> Arkady Retik: Thank you.
[applause]
>> Arkady Retik: We only have time for one question. Okay. So one quick question, please.
>> Just one. Talking about your NTrace, you are mentioning that you [inaudible] resource
allocation in realtime. Is that correct? [inaudible]
>> Andreas Polze: This NTracing is tracing. It's not resource allocation. It's just tracing,
function boundary tracing and the execution flow.
>> And you were mentioning resource allocation. I heard I think you combine with the word -with the phrase realtime. Is that correct?
>> Andreas Polze: Resource allocation ->> Sorry. The thing that [inaudible] you were also saying without changing the Java runtime
environment, I was wondering how can you do realtime without changing the Java runtime
[inaudible] that's doing garbage collection [inaudible].
>> Andreas Polze: No, no, no. What I wanted to say is in order to achieve predictable system
behavior, you have to do this resource reservation. And you can apply this to certain runtimes,
also to the Java runtime, but you won't get any better than the runtime is per se.
So if you wanted realtime, you go with realtime Java, maybe, you go with other realtime
operating system -- realtime environments, sure, but the resource reservation or resource
partitioning mechanism has to be able to honor the realtime requirements of the runtime. And
did not -- I did not want to say and it's certainly not true that Java is realtime [inaudible].
>> Arkady Retik: Okay. Thank you very much.
[applause]
>> Andreas Polze: Thank you.
>> Arkady Retik: Next presentation is on the cloud for University City Campus, this by
professor Danilo Montesi from University of Bolonga. And the reason I paused, because
Professor Montesi has very distinguished career. He actually taught in several Italian
Universities, in Portugal, U.K., and worked in U.S. So he brings a lot of experience, not only as
a distinguished scholar and researcher, but also he is the vice dean of his school and he's thinking
here how we can take [inaudible] knowledge and help. So please.
>> Danilo Montesi: Thank you so much. And, first of all, a disclaimer: I'm not a cloud guy; I'm
a database guy. So you will see in the presentation.
Well, let me mention that we know that cloud technology is ready to change the way in which
we interact with Internet service, and I believe that in this context applications and data will play
fundamental role to test the new ideas and to improve and develop the state of the art in cloud
computing.
In this talk I'm going to propose to use the cloud to create a virtual University City Campus in
Bolonga, which probably you know is the hometown of what is supposed to be the most ancient
university in the Western world. We are supposed to -- we start -- we open for business in 1088.
And so we think that in this case we can say that the past melts somehow in the future.
So here is a brief outline of the talk. I'm going to say a few words about the main actors of this
cloud for the university. I'm going to talk a bit about the social, technical and geographical
features of the Bolonga University City Campus that we believe would fit into this cloud project.
And then I will sketch the main phases of the project starting from a pilot down to the extension.
And then I will mention some -- I will summarize the proposal.
So, roughly speaking, this is the architecture of a cloud with the infrastructure, platform,
applications, user, and the environment. We have done a bit of mapping and we believe that the
mapping for the Bolonga University City Campus is essentially we assume that the infrastructure
is already in place and also the computing power and the storage is there. What we are more
interested in is to see how to map the gray part of the slide, so how to map the environment, the
application, the data, and if you want, the developers.
So we will look at what are the components of the University City Campus cloud application or,
if you want, why we think it could be Bolonga good case study.
We've done some preliminary work. We've identified the five let's say key elements: one are the
users; another one is the environment, which is not really the computing environment, if you
want; another one is the Internet connection that needs to be there; the other element is the
developers; and then the applications, the data that somehow we expect also to be there.
So regarding the first item, the users, the potential users, there are about 85,000 students. On top
of this we have about 3,000 faculty members and 3,000 admin and technical persons, plus we
have another let's say 3,000 something between external faculty members and let's say contract
collaborators which actually are doing postdocs and so on.
And this is, if you want, the user side. Regarding the environment, it's important to say that
Bolonga University is a multicampus, so it's made of five different campus. One is Bolonga,
another one is Forli 50 kilometers south, and then you travel another 50 kilometers south and you
find Rimini, and then you travel 50 kilometers east and you find Ravenna, and then Cesena and
so on. These are five campus. Plus we have, by the way, another unit in Buenos Aires. I don't
know why, but it has been there for a number of years now. And these five campus hosted 23
faculties and 70 departments.
So we are going to talk about Bolonga campus which is already spread over the city, and here
you have buildings which belong to the [inaudible] which are alternate with private buildings and
public places.
So by the environment here we mean really the physical environment. We have something
called a portici and sometimes we also get some nice weather there. So we believe that this is a
good environment in which experiment is virtual campus.
The other element is that anyway students already spend a lot of time outside classrooms.
Sometimes actually they attend classes even outside in a -- that's a square called [inaudible]
where we have a colleague that is teaching there. He's also [inaudible] two years ago.
But the environment is not enough. We also need to have a network connection. In the Bolonga
City Campus, let's say there are two different wireless networks, one is called iperbole wireless,
which is the city council wireless networks and that can be used by any Bolonga resident or
employees. Then there is another network which is called Alma WiFi, which is a university
staff, which is being used by students and the faculty members and all the other people working
the university. And these two networks are actually meshed up, so you can access to one or the
other to kind of single sign on, and you don't bother where you are. So the network is there,
although it's not covering the full city.
And there is also the possibility to have the people developing the cloud applications. Our
university offers several undergraduate and postgraduate degrees in computing in the faculty of
engineering or let's say science.
And these students can be obviously users but can also be developers, encoding applications
through project works and so on.
And actually the integration cloud technology into developing real application can be also a way
to build a competence center on the subject of cloud computing.
Talking about applications and data, there are already applications running our services. We
have a bunch of Web site for department, faculty, and degree programs and so on. But the main
areas that are actually covered are here listed, research and the teaching side. There is an
ongoing project on mobility and there is a vision to also run virtual labs.
It's not my own vision; it's the vision of the dean of department. And here you find a screen shot
of one of the application. Each faculty member [inaudible] Web site to interact with the students
and so on. But in Bolonga we need to also upload all our publications that need to be let's say
classified according to the [inaudible], otherwise the university doesn't give us research money.
So this is a screen shot of my -- one of my pages where I have to upload this paper, and these are
the papers over the last year. So there is a centralized public database which is being also used
by the research ministry to rank us as a department, as a university.
Talking about other type of applications and data here, you see an application which is
[inaudible] is actually when a student take an exam, then you need to record this exam, you need
to sign the exam. Under the Italian law you need to use a digital signature, which is something
with a smart card we have to put inside and then you record it.
I've hidden some information because it's regarding two students that did my -- the exam last
month. And then we also [inaudible] [inaudible], which is a consortium that is providing us the
facility for the digital signature things.
So that's an application that is already there, not on the cloud at the moment.
And also the students can access and see their own exams, how much they got in terms of marks.
They can change let's say the curricula if they want to move into a different curricula, they want
to change maybe a new course and cancel it.
On top of this there are some other systems dealing with the administrative things, you know,
[inaudible] and so on. We don't care for the time being about these things.
But another good chunk of this system there is dealing with the library system which is actually a
federated system, it's called the University Library System, which contains a number of
publications and online periodicals and so on. And it's something that would also need to be
moved on the cloud.
So now let's look at what are the main phases of this project and figure out what are the critical
points.
Well, phase 1 is a pilot, if you want, phase in which as objective we need to set up a cloud
infrastructure. And so make some existing applications available in the cloud. As I said, most
of -- or all these applications were designed to be available through a Web site with a standard
connection, let's say.
Students will access these services without coming in the labs. And only a restricted group of
users will use these -- will be part of this pilot phase and will be mainly computer science
students.
And then the idea is to move public labs -- move labs into public places in the different locations
of the Bolonga City Campus. And this phase we will create the basic infrastructure that could be
used then to develop custom application that will be based on existing systems or that will be
user feedback collected during the following phases.
So phase 2 after the pilot there is the phase that we called internal development. In this case we
still involve computer science students that now became developers. So the objective of this
phase is to somehow create and spread the competence that will be needed to develop the more
complex applications for all the other users, not just for the computer science users.
And so the developed cloud application in this phase will belong to these two classes. General
application that would be decided by students and instructors using this Web 2.0 feature or
collective intelligence, if you want, and the other class would be to move into the cloud other
application that were -- or that are actually already available but not in the cloud.
Then after phase 2 there is this phase 3 called integration where at the beginning of this phase we
will have already user feedback about things that are working and things that are not working, so
if you want the pros and the cons of using cloud application. So developers will have the
competency and application development.
So at this point we believe that it will start the phase of building application of interest for a
wider audience, so for all the students. And obviously this will involve students and staff
members of other departments as well.
And this phase somehow is the bridge toward the final step where the first application will be
available to all people working in the university.
So there is the phase 4 which -- after the phase 3 that we call the extension which is actually the
deployment and the testing and the monitoring of the service from the current situation that you
find marked "as is" and "to be," which is done through the cloud.
So let me say that following this approach there are a number of opportunities. One of these is to
develop an environment and a set of applications that can be applied to several other contexts,
obviously other universities or other let's say environments with similar features.
This will allow to deal with real application and so to test the potential area of new development
and also research for people working the cloud computing area.
And then to prepare or, if you want, to form students with strong competence on the cloud,
giving them all the necessary tools to understand how if you want develop applications in this
environment.
Beside these positive elements, there are some critical aspects. The critical aspects are listed
here. The first one is privacy and data location. Under the Italian law we are required as a
public administration to have a complete knowledge on the location of data.
So, for instance, last year we tried to outsource the e-mail system of our 85,000 student to
Google. We [inaudible]. Google and other companies came and say, well, we can do it, but
there was a specific item saying we need to know for each e-mail that is being sent or received
through these e-mail accounts where the data is located because we need to know which is the
legal environment that we're to deal with.
They couldn't give us a precise indication of where all the messages were. So we have to
develop this opportunity. And we need to keep in mind the same things for the cloud.
The other critical aspect, that is acceptance. Although it appears that people would love and
would like to use these technologies, somehow change is always a risk, so we need to deal
properly to manage this risk.
Among the other things, there is the issue of the network, let's say, coverage. People are
expecting to have a full coverage now with mobile things, 3G things. They expect to have
everything everywhere. So this is inside of a Wi-Fi network, so it's located in some areas of the
City Campus, so people coming by train are expecting to access the network before they arrive
there. So obviously they will use the classic 3G or in the near future the classic 4G network,
which is outside our reach.
And linking with this issue there is the mobility element. We already have a project funded by
Vodafone which is actually already trying to move some application in order to be accessible for
a mobile device. But we've already seen there are a number of issues that need to be
reconsidered any way these are parted, we should traverse with cloud or without cloud, it has to
be done.
Okay. Let me summarize our proposal to be in time. Well, first of all, here the proposal to build
a University City Campus based on cloud technology. And the objective is obviously to do it for
the good of the students and the faculty members and everybody who is working around this
project.
But the issue is also to test and develop these techniques in a real environment. And we believe
that Bolonga is a nice place where to do it.
And the other element is that we think this system building through divided team, if you wanted,
developing into smaller chunks and more phases and use the computer science students to
gradually reach all the objectives of the proposal is also something that could be interesting and
to experiment.
Okay. Thank you so much. Questions?
[applause]
>> I have a question. Do you think that the governmental laws will change around governance
and student identification? Seems to be a challenge for all of us as we go to a cloud, and usually
security and governance is a blocker for regulation.
>> Danilo Montesi: Well, usually, yes, laws do change with new government. It appears that,
anyway, they tend to became more restricted instead, if you want, more open. It appears that
with the privacy law, so I've been told by our lawyer in the university, or colleagues and faculty
of law, that is supposed to be very good although quite strict.
And, anyway, we would like to have a different legal environment but we have to face what is in
here. For instance, this issue of digital signature. I don't know. When I was working in U.K.
they didn't have -- I was just filling an Excel form, A, B, C, this was the grade, you stick one of
these out of your door, you give another one to the [inaudible]. It's done. It was very nice and
very simple.
When I moved to back to Italy and actually to Bolonga, I have to face these things, this little card
and then with the USB driver and the Java running machine, which is not the [inaudible] then
this browser is not the one that we are supporting and so on.
I would love to remove all of these. I cannot, I should say. These things are -- digital signature
is something which is, I believe, much bigger than obviously Italy [inaudible] things but also in
the United States and in a number of states is being used. It's also usually, I believe, in other
environments, like, you know, in hospitals where indeed they need to put down things.
And so I didn't answer to your question, but so I'm sorry.
>> I think it's a great project. And I'm interested in hearing the stages of [inaudible]. So has the
university approved this and when do you hope to start phase 1?
>> Danilo Montesi: Well, the mobility has been approved and founded outside the university
budget. And we are looking actually to complete the other part, to form the cloud part.
>> And what's the timetable?
>> Danilo Montesi: Well, for the mobility it's about 18 months, although few services will move
so that it could be accessed from [inaudible] because there is also the issue of reorganizing all the
content for a mobile device, which is a bigger [inaudible] editing [inaudible], if you want
somehow. Yes.
>> What about privacy issues? Isn't the university worried about privacy on the cloud? This
seems to me to be the greatest factor [inaudible].
>> Danilo Montesi: Well, as I say, if you take Gmail as an example of a cloud, which it's not by
any way, as an example of a service for which you don't know where actually your data are
physically stored, you don't know if it's down in Sweden or in Ireland. In that case we have been
told we cannot do it. So they put on paper that we need to know the location of all the data.
So for us cloud means that it could be everywhere on the national territory. So you could put a
data server in Turin, in Rome, in Milan, in Florence. You can move the data here and there. But
if it -- but the -- I mean ->> [inaudible] my university requires that we have accounts from the students [inaudible].
>> Danilo Montesi: We have to drop the Gmail offer because they couldn't tell us for each
message being sent or received where this message was, under which jurisdiction, if it was in
Sweden, in Ireland, in England, or in Finland. So since they couldn't say where it was, because
they told us that even then they don't know where they are because they have a system which is
redundant, organized in such a way that they don't know where are all these messages. So we
say we're sorry, and naturally they [inaudible] outside of this project.
>> [inaudible] all of the students typically have [inaudible].
>> There seems to be two issues here, one's very political.
>> Danilo Montesi: Yes.
>> And the other is the technology. We could argue that the [inaudible] would be student
records are better served in cloud service than they are being floated around the campus
somewhere and the example you gave, that paper based, I mean, that's not secure at all. We've
seen many, many breaches of identification in the United States around just that very issue, of
being very loose around identification.
But to me it's really a political issue, that the traversal [inaudible] a lot of countries do not want
to have their name -- the records sent to somewhere else other than their geographies. That's a
political issue. And I'm wondering if that's -- that to me is the abstraction here, not necessarily
the technology issue. It's a social issue.
>> [inaudible] you say political. I think it's legal really. That is to say that the -- if my mail is
stored in Australia rather than Italy and maybe the privacy law in Australia differs than that
which is applied in Italy [inaudible] and maybe my [inaudible] so it's -- I don't know whether that
is political or legal.
>> I think it's all tied up in the politics.
>> It's not technical [inaudible].
>> Of legal -- right, it's not technical, that's the point.
>> Yeah.
>> Arkady Retik: Okay. Last question, please. One more? Thank you very much.
[applause]
>> Arkady Retik: Our last presentation of this session is on cloud computing projects in
engineering. This submission is also by two professors from -- two professors from Colombia:
Harold Castro, who will be doing presentation, and Jose Canandez [phonetic] who is coauthor.
Both are distinguished scholars and researchers as well.
Professor Castro, who is -- who will be doing the presentation, is professor of computer science
of the University of the Andes, and he is involved in [inaudible] and research. As a researcher he
is director of COMIT group and his colleague is also director of another group, and what they
show is actually a synergy of putting together computing and engineering.
>> Harold Castro: Thank you. Okay. I'm going to present this evolution of the work we have
been doing in Universidad de los Andes. First of all, I would like to introduce you to context
what is our -- how our university is, why are we working on these kind of projects, and then how
do we get to the point where we are.
So for doing this I'll have to present my idea how the problems -- which are the problems faced
by universities and specifically computer science departments and how do we approach these
problems and how do we -- how are we supporting our solution on the cloud strategy. Finally I
will present the projects we are working on.
Well, first of all, Universidad de los Andes is located in downtown Bogota. And it's a private
university. That's an important issue. It's main school is the engineering school. Within the
engineering school we have a systems and computing department. It's not a computer science
department. It's not science, it's engineering. And that means that our focus will be to produce
solutions that will be implementable in our context.
In my idea for university and Universidad de los Andes, this is a good example for our context,
we have to do both two attacks, research and education that's clear for us. We have to present a
resource or more directions. To do our research we will need computer power. In any field. We
have seen this in this keynote, we need computer power and data management.
Now, we want to do our research to be faster, more accurate, bigger in big collaborations and
unoptimized [inaudible] resources we have. And we need education. And when I mean
education I will think especially in computer science or computing on systems and systems and
computer, whatever the name in English will be. We need experimental laboratories,
experimenting that will be flexible but that will be real.
Our students need to have access to the latest technologies, but those technologies that are being
used by the industry, not the traditional open source solutions that we tend to use in universities.
And of course we have to be -- have to optimize the resources that we have.
So our research at Universidad de los Andes is organized in a federal -- Universidad de los
Andes is a federal organization. That means that each school has its own resources and the
research they do is limited by the resources they have. There's no campus-wide resource for
research.
So science and not only the science school but the biology department in other sciences, they
have their own resources. And I will say that each faculty will have its own resources that he can
use.
We are working on several international projects, and so we need the tools to collaborate on
these projects. And it's clear for us that the worldwide trend to is to go in this direction. So we
need to set up something that we call the Campus Grid Uniandes initiative because to do our
research in this these conditions this grid is less apt to be the way to go.
So we started this initiative in 2007. It was led by science, but the engineering school, my
department is computer and science, science and computing systems and computing, and DTI.
The DTI is the information technology office of the university, and this was the first time that
this division will be involved in an academy project.
Traditionally they have been supporting the administrative processes of the university. They
have their Web cities to have the academy and all this stuff, but they don't -- they are not usable
for research or for labs of the academy. So they only -- they are to support the infrastructure.
We need an initiative that will be linked to the world using our local Internet 2 connections. In
Colombia and all through America we have this [inaudible] which is the Internet 2 approach for
that in America. In Colombia we have [inaudible] which is the way we have to link this
[inaudible].
So we decide to use this infrastructure which is not very big but at least it's connected to Internet
2 [inaudible] in Europe.
And now we are connected to this -- as we are part of the CMS project of the [inaudible] in
Europe, we are connected. Our site is currently connected to EGEE, to EELA, which is the
initiative for a grid between Europe and Latin America and is already working, the ROC-LA,
which is our high-energy physics solution for them. And we are working to develop -- we are
working to link it to the OSG initiative here in the States and GISELA, which will be the new
EELA project in Latin America to build generic grid for all the institutions in Latin America.
We have a national projection of this initiative at the Universidad de los Andes. We will lead -we are leading the grid Colombia initiative to build a national grid initiative in Colombia. And
for that we are hosting the Colombia certification authority.
And the mandate for the university was to focus on the applications. They know that grid is
great for physics, but they ask me especially to work with new schools to find new application,
new users to build our infrastructure for the whole university and not only for the science -- for
the physicists, in fact, for the physics.
So I start work [inaudible] bioinformatics, optimization, [inaudible] computational chemistry and
different new projects.
This is the status, the current status of the initiative. We have this center grid hosted by the
DTIs, the information office at the university, link it to CMS, EGEE, soon to OSG.
We have storage processing, a medium-sized cluster, and the big idea was to link the resources
from other units at the university. So we have here a 20-core cluster, here they had several
servers, bioscience they have also their own resources.
And in engineering we didn't have big clusters, in fact, but ISIS, which is systems and
computing, my department, we had computer labs that we know that they have a lot of available
capacity that can be used in this context. And that was our work.
Then we wanted to increase the computing power, but remember I said at the beginning,
Universidad de los Andes is a private institution, and, being a private institution in Colombia, not
to much money for research, but a strong scheme for funding the education activities.
Because most of our budget come from the fees, the tuition fees from the students. All the
money has to go back to these students. And our -- most of our students are undergraduate
students. So computer labs are very widely present in our campus. We have more than 2- or
3,000 machines available for them.
But for research, there is some -- there are very big difficulties. We have a National Science
Foundation agency in Colombia, but their budget is really nothing compared with any
developing country.
So the university from time to time does big investments. So last -- three years ago they built a
new building for the engineering school. They invested $20 million in labs and infrastructure.
But that's a thing that we know we are not going to have again in the short term. So we have the
labs and now we have to be sure to find new ways to fund our research.
And to find funds I have to attract new users if I want to convince that directors of the university
to keep investing in this initiative. But it's difficult because of the inherent complexities of the
grid system, because of the real architecture that we have to set up to compliance with
international standards. And because finally not all the applications are parallel -- are easily
parallelizable. But even if they are, someone has to do the [inaudible].
So taking all this into account, we extended our concept of Grid Uniandes initiative to UnaGrid,
which is a step forward, to use the -- to build an opportunistic grid around the campus and try to
solve all the other issues that we are facing right now.
UnaGrid is then -- well, it's called a desktop grid and volunteer computing system, introducing a
new concept for us which is customized virtual cluster, what our idea is.
Okay. Every research group is -- used to have a specific environment. We need to reproduce the
same specific environment in the available infrastructure. I don't want the researcher to learn a
new environment. I don't want to force them to learn Condor or MPI or a new specific
environment I will say. I will better reproduce a specific environment that they are used to work
with using virtualization and priority management on the computer labs, and we can -- and using
some dedicated servers to represent the master role in a typical cluster. We can ensure that the
quality of service that they are going to receive is acceptable for them.
We developed the Web interfaces to give access to this infrastructure to both administrators and
regular users. And we start developing projects on [inaudible] following the this idea.
Then when looking at the education that we are doing and our department, we found that we
wanted to get our students to be exposed to as many technologies as possible but also in
environments as real as possible.
So we developed a software architecture laboratory which use the idea of UnaGrid which is
where they customized the virtual cluster. The idea here is we build five enterprises, real
enterprises [inaudible]. Two manufacture enterprises, one producing furniture and another one I
don't remember which is the -- I think that is a milk process industry, a telco company, a bank,
and a university. We know this business, so it was quite easy.
We sign agreements with the real vendors of the products that are being used in Colombia and
everywhere: SAP, Siebel, Peoplesoft. We convince these people that we can set up a laboratory
where they can take their customers and show real implementation and real solutions working on
real platforms.
So they help us, they give us the licenses. They came to our university to install and to configure
these technologies on these industries.
And we use different platforms to set up this infrastructure, also with agreement that we have
with Microsoft, IBM, Oracle, and of course we also have open source solutions.
Then we started to try to mix both worlds, research and educations. We found that we had two
different users, system administrators, the ones who have some difficulties to achieve their work
on this kind of platforms, users who want to achieve their solution, not be in our of the platform
that is evolved.
So we did a lot -- that is the kind of interfaces -- Web interfaces that we developed for both
administrators to set up computer labs and to deploy these customized virtual clusters, and for
researchers so they can ask the number of machines they want to deploy in the time they are
going to use them, and they can go and monitor where the machines that they are really using,
the physical machine that they are using and how their projects -- their work is progressing.
We found new difficulties. The administration is very, very difficult. The manual deployment
of a realtime cluster, the IP assignment, we have public addresses, but because we -- we have it,
but it's difficult to assign these IP addresses to the virtual machines. We don't have any
accountability of what is going on on these platforms. And users complain also because their
interface is not natural for them and we have -- we have to reengineer all the project.
And what was the answer was cloud. The cloud ideas come to the rescue because they have -cloud have inherent characteristics that are very good for what we are doing.
We were already using some of them, virtualization, customized environments, on demand
deployment, delegated administration, and these are little bit -- users don't care about how these
customized virtual cluster are operated. But there are some others that can be integrated that we
use, we see that can be very useful.
For example, on demand configuration, and here I'm thinking on faculty expressing the kind of
scenario that should be used by [inaudible] students. I would like to have physical machine
transparency. Right now we do -- do most know where -- which computer room is going to be
used. I need accountability. I need new advanced administration tools and different complex
cluster configurations.
So we think on Clouder, which is the name we gave to this project, which is an opportunistic
cloud computing implementing an IaaS service model. We started the development of this
Clouder to make it as close as possible as the researchers used to use when they think on the
needs of a computing platform.
So they have to express the kind of operating system they want to use, which kind of research
they are going to work with, and then the applications -- the specific applications they want to
style. And with this idea we started different -- identified three different kind of projects that we
are going to set up on this Clouder.
The traditional cluster-based research project, which use the master and slave model, some
number crunching interactive projects because we are -- my colleague who wrote the abstract
with me is working on how to have high performance visualization for his work, and these
dynamic scenario projects for the computer [inaudible] laboratory.
So we started that. We have some results right now. We have work with the laboratory for
bioinformatics, and they are doing DNA sequencing using our opportunistic resources. We mix
now [inaudible] they have a cluster, we can mix both dedicated and opportunistic resources.
And they -- for them the moral is the same. I have the traditional cluster but they won't know
that this cluster is not really -- doesn't exist. They are going to send all the requests to the cloud.
And if everything goes well, the cloud will solve the problem. Right now it's not that
transparent. They have -- they know where it's going to be executed. They don't have all the
facilities, but we are working on it.
The visualization team, they expect to have a big facility to do their number crunching at a local
facility to deal with the visualization problem. And visualization we are meaning some things
like that, different screens and integrated and [inaudible] in parallel with collaboration tools
within the -- within the same environment.
And, again, we are now doing this not in a cloud transparent way, but we are asking our friends
in Alberta, they have a big cluster to solve the processing and manage the data. We receive
through Internet 2 [inaudible] and all this network infrastructure. The results are we locally
manipulate the scenes that we are receiving and we achieve this kind of visualization in our
facility.
And for the multiscenario projects, we are imagining then that it's -- a faculty will decide which
is the environment that he wants to produce for his students. For example, he will say, okay,
have the bank here, the university here, the manufacturer here, and I want to -- using SAP, using
Siebel or whatever software he wants to and to produce the scenario that he wants the students to
work with. And once he configured this project, the students will come and deploy the scenario
on demand on -- using the opportunistic structure we have.
We are doing right now using the [inaudible] service, but we are on it.
That's it that I want to say. So it's okay.
[applause]
>> Arkady Retik: We have time for questions. Please.
>> We're trying to do something similar to what you have described, but we haven't started yet.
But it's part of the project that my colleague Donita was describing before your talk.
One of the things we are trying to assess -- I mean, the certain model we have in mind is that the
-- you as a professor enter the room with 80 students and you teach a lecture, you're lecturing on
middleware systems, your idea we would like that they download all the [inaudible] technology
they require for your lecture and exercise, say application service and stuff like that by magic.
They do not have necessarily on the laptop. So it should be downloaded from some magic cloud.
What we try to assess is how much bandwidth do we need. I was wondering whether you had
some sort of firsthand experience on that.
>> Harold Castro: At the beginning we use enough server to have all the images, and it doesn't
work. It simply doesn't work because they are very heavy. And remember we wanted to use that
on the -- on computer labs. So what we had to do was to have a local copy of each image on
each computer room -- computer on their computer lab.
That is visible because our machines, as I said at the beginning, are paid with the tuition fees for
the students, so they ask for good machines. So we invested in nice machines with a lot of disk
and RAM. So I'm taking 100 megabytes of this RAM to store our local image of each one of
these image that they are going to use.
>> [inaudible]
>> Harold Castro: Yes. Yes. Exactly. Which makes difficult deployment. That is where our
next step is how to deploy that easily. But right now we are doing this which is very difficult,
and because the problem that I said of the IP assignment, you have to change it. So we are
working on how we can assign the IP address at the moment of -- at the bottom moment.
And the other problem will be to -- how do deal with these local copies that we have to maintain.
[inaudible] that's difficult. But right now we are doing [inaudible]. But each image is around 2,
3 gigabytes, meaning that we have 40 images with no problem, nobody is missing that -- those
gigabytes.
>> Does that mean you have a limited number of laboratories?
>> Harold Castro: Yeah, yeah.
>> Because we were wondering how to expand this [inaudible].
>> Harold Castro: Right now I'm using the best laboratories to do this. And if I am -- I'm
successful with this, the new project, I will go to the other labs. But that will be a difficult issue.
>> Arkady Retik: Any more questions?
>> [inaudible] have a similar situation. We're also working heavily with virtual machines. And
usually the system administration pushes all these images down to the PCs perhaps the day
before you need it. So [inaudible] using this approach seems [inaudible] works very well.
>> So you would have 24 hours, say ->> Harold Castro: Yeah. You have to plan ahead a little bit.
>> [inaudible] several days before [inaudible] the administration it cannot automatically deploy
[inaudible].
>> [inaudible] we have this system that deploys images automatically [inaudible] images you
need in advance, which is quite problematic. I wonder if that doesn't defeat a little bit
[inaudible]. You're not -- the solution of the [inaudible] images to each machine I think kind of
defeats the purpose of a cloud environment at the other [inaudible] I have a cloud but I don't
really have a cloud since I have to provide for all these local images.
>> Harold Castro: That's right. That's because the kind of infrastructure we are going to use.
Otherwise ->> And I think it's specific to university because you have different labs all the time. In a
commercial environment you don't really change the image as often. So maybe this is kind of
university solution.
>> Arkady Retik: Any more questions? Thank you very much. Thank you to the speakers.
[applause]
Download