Log on:
Powered by Elgg

James Valdés :: Blog

August 20, 2012

This is almost my last day of being in Brazil but it is really hard for me to leave here and come back to Miami. I learned a lot of things, made a lot of friends, and started interesting researches here. In last three weeks, I’ve edited one paper and finished the other one and also we start to work on the other topic on software engineering.  I’ve visited many places in Rio de Janeiro and enjoyed the food and coffee of Brazil. Brazilian people are so kind and friendly and you can start conversation with all Brazilians (if they know English). There are many places you can visit but you need to have friends here to learn how you can reach. I can say they have really good public transportation, and you can use boats, buses and subway to reach to everyplace, but the problem is the language and in most places it is only Portuguese which is a little bit annoying.

Beside the people and country, I really enjoyed working at the university, everything and everyone is friendly and also, you have free coffee. My advisor, Professor Clua and his students are really friendly and they invited me to many places. Last day, I and Professor Clua went to sailing and it was first time of me to be in the ocean, I really enjoyed the trip over the ocean and I am very thankful to him to help me to enjoy my time and doing strong research in Brazil.

I am pretty sure that I will return to Brazil to visit other places, I really enjoyed the trip and find many friends, but three weeks isn’t enough to visit everywhere and know the whole country.

 

Posted by NSF Partnerships for International Research and Education - Mani Shafaatdoost | 0 comment(s)

August 14, 2012

Week 2 – Brazil

This week was amazing; I’ve just visited Christ the Redeemer and Sugar Loaf.  Christ status is on the top of the tallest mountain of Rio and it is possible to see the whole city from there. But Sugar Loaf is beautiful for another reason. It has a great view over a lake, ocean and the city and also it is a wonderful place for rock climbers. In this week I need to finish a paper before 15th of this month, so I just attach some pictures from my trip to Rio. I will add more information by next week.

 [You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file]

 

Posted by NSF Partnerships for International Research and Education - Mani Shafaatdoost | 0 comment(s)

August 06, 2012

I am pretty sure this trip will be one of the most important experiences of my life.  Brazil is really beautiful country with kind and friendly people and of course delicious foods.

After arriving to Niteroi, Professor Clua picked me up from Rio airport and he brought me to my current place in Niteroi. My place is quite close to the university (5 – 10 minutes’ walk). After that we went to the place near university for lunch and it was my first delicious meal in Brazil. They do have an amazing system for their restaurants, you must go there and pick a plate and put whatever you want in the plate (rice, meat, salad and …) then you should pay according to the weight of your food.

From the day after it, I just started my work in the university but in the weekend I go to Rio by using a boat which takes 20 – 30 minutes to reach Rio. And I don’t need to say Rio is one of the most beautiful places of the world with a lot of places for visiting including lot of catholic churches and beautiful beaches. For first week I’ve just visited some art museums and beaches which you can see some pictures from it.

The other important thing about Brazil is their people; they are really kind and friendly. I’ve got many friends in last week and they helped me a lot and have shown a lot of places to me.  

 [You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file][You do not have permission to access this file]

Posted by NSF Partnerships for International Research and Education - Mani Shafaatdoost | 0 comment(s)

July 16, 2012

Last week was like other weeks, I need to wrap up everything and finish my project here. So I spent a lot of time on lab and tried to install open virtual switch on ESX hypervisors. For this reason, I needed to install 2 hypervisors and make a physical connection among them, after that I used a windows machine to manage these hypervisors. After installing OS on VMs, I had difficulties to give internet access to these VMs but after several hours of working, I just used my laptop as a bridge and passed firewalls.

I was working really hard and I got tired. On Saturday, I just slept for 12 hours for recovery. 

What I really miss about Raleigh is the great nature of North Carolina. This place is best for camping and enjoys jungles.

 

Posted by NSF Partnerships for International Research and Education - Mani Shafaatdoost | 0 comment(s)

July 09, 2012

In last week, I was working hard to make a final note on possible changes in VCL code to get a confirmation from people who are working on VCL at NCSU before leaving. So I spent like 10-12 hours per day on working, but the problem was the lack of coffee. I work at NCSU engineering building and unfortunately there is just one coffee store around this building which closes at 3 pm. So it was hard for me to work after 6 pm and I was so sleepy.

On Friday, I had a meeting with Doctor Vouk and Doctor Wright about my project and he told me to do some experiment on tunneling side and configure a network topology manually. So, last two days I was working on this side and tried to make a connection among these virtual machines. I hope to finish experiments by end of this week and start coding at first days of the next week.

Posted by NSF Partnerships for International Research and Education - Mani Shafaatdoost | 0 comment(s)

August 25, 2011

The PIRE trip to Barcelona was very fulfilling both in a professional and personal way. I had a great time at Rosa's lab, and I think we accomplished a solid piece of work. We will continue to work together to shape the effort into a paper. And of course, I also had a great, great time at Barcelona. It is a great, very livable city that offers great tourism as well as nice places to revisit when you're there in a medium term stay as I was.

This will be my last post for now. I leave you all with a picture of Rosa's Research group, and as promised before, a picture of the Marenostrum computer!

 

From left to right: Xabriel J. Collazo-Mojica, Jorge Ejarque, Raül Sirvent, Enric Tejedor, Javier Álvarez, Rosa M. Badia, Roger Rafanell, and Francesc Lordan. 

 

 

That's were I run my WoW server. :) 

Posted by Xabriel J Collazo-Mojica | 0 comment(s)

August 09, 2011

We just got a great opportunity to try and publish our early results on a Symposium. But the deadline is quickly approaching. Very quickly. So please excuse me while I go in hibernate mode. See you all after the deadline.

Posted by Xabriel J Collazo-Mojica | 0 comment(s)

July 29, 2011

I spent all week working on a conference paper and making arrangements for my travels back to the US. This week concludes a very challenging yet valuable journey for me both academically and culturally.  I appreciate the support received from the graduate students, staff and professors at UNIMI, they made my stay productive, culturally rich and enjoyable. I will absolutely miss the people, coffee and Gelato, if only I could take back Gelato to last a year!

Although it’s time to sojourn home, I leave with a strong foundation set for research to continue and enough happy memories to last a life time. Saluti!

Posted by NSF Partnerships for International Research and Education - Ingrid Buckley | 0 comment(s)

July 25, 2011

I ran into scalability issues this week. My prototype system keeps an in-memory database of infered models from my rules. It seemed to be fine with my test cases, but when I decided to push it a little to see how it scaled, it java.lang.OutOfMemoryError on me. I had an idea of why it was happening. I was wrong. Then another idea. I was wrong again. The problem was that I was picking possibilities randomly, without data. Not a good way of doing science.

I decided I needed to profile the prototype to see where exactly my memory was being used. I was happy when I realized (after a few minutes of googling around) that I did not have to download nor configure anything. Turns out the Java 6 JDK comes with a built-in lightweight profiler called JVisualVM. So my machine already had the profiler one command away. JVisualVM uses Java's reflection API and other tricks to dynamically instrument a running Java program. Zero configuration and full profiling benefits. Nice.

 

I profiled the memory of my prototype, and it turns out my models where huge: 7MB each. This, with a max heap size of 128MB was easily throwing my service to its knees with only 15 inference requests. To further test its behaviour, I bumped the max heap size to a more server-friendly size of 512MB. The math says I can hold around 70 models now. But clearly there was something wrong as 7MB is way too much memory for what I was doing. After looking into my project settings I realized I never turned off inference derivation logging, and that was stealing most of the memory, aorund 6.5 of those 7MB! Memory problem fixed.

A much more subtle and hard to fix problem was the CPU time performance. I was averaging 500ms per inference. But after looking at the CPU profiling from JVisualVM, I was able to pinpoint the source of most of the CPU time consumption. I was firing way too many rules. Fixing this issue took much more time than pinpointing it though. Inference time will vary with the complexity of the model and the # of rules, but for my test cases, I managed to go from that ugly 500ms to 36ms on average. I'm still getting some spikes of ~150ms, but these occur only when the current heap size is almost full. My theory here is that Java is first doing a run of the Garbage Collector before committing to giving more heap to the program. But this is a minor issue now.

I'm starting to like Java again. 

Posted by Xabriel J Collazo-Mojica | 0 comment(s)

July 18, 2011

To the benefit of my own sanity and happiness, the last few years I have been doing most of my work, both personal and academic, in Ruby. Why? Well, because it's simply beautiful, especially if you use Ruby on Rails on top of it do to web development. I could tell you all the horror stories about developing the simplest of the web systems in Java/Servlets/Hibernate but I won't. You already know them. And if you like sanity too, you have kept yourself away from it.

But all this time away from the Java ecosystem also kept me away from some technologies that have emerged in its community to specifically tackle the "configuration hell" problem Java has always had (since version 5 at least).

Java is the programming language I'm using right now for this PIRE project, as Ruby's support for Rule-systems and the like is inadequate for my tasks. But I need a way to cleanly communicate back to the other Ruby-based modules. So I was happy to find JSR 311, or more commonly JAX-RS, which is a definition for a set of APIs in Java to be able to implement RESTful Web services in a very nice way:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/helloworld")
public class Example {

    @GET
    @Produces("text/plain")
    String getMessage() {
        return "Hello World!";
    }
}

Well, as nice as Java can be. In this Hello World example, we are using three of the annotations from JAX-RS. @Path("/helloworld"specifies that, if we see that path in the URI, then the underlying implementation should route that HTTP request to the Example class. The @GET annotation specifies that the getMessage() method responds to GET HTTP requests only. Finally, the @Produces("text/plain") annotation specifies that we will return a response with that MIME type back.

I guess I could do the exact same thing with 2 lines of Ruby, but hey, to my surprise, it works! ... (after 2 hours of configuring all the dependencies Cool )

Posted by Xabriel J Collazo-Mojica | 0 comment(s)

<< Back