QUALS!

Justo antes del verano cumplí con el último de los requisitos para continuar en el programa de doctorado en la Universidad de Virginia. Estoy hablando de los temidos exámenes de cualificación o “Qualifying exams, quals for short”. El sistema ha cambiado desde que estoy aquí, pero para mí el requisito se puede resumir de la siguiente forma: 5 exámenes escritos y uno oral, con dos oportunidades para aprobar cada uno. Te examinan en enero o mayo. Suspendes dos veces y dices adiós al doctorado en UVA -por eso va lo de temidos. Posiblemente es el paso más importante para cursar el doctorado, ya que aunque no es parte de tu tesis es la criba más importante en el programa. A no ser que Google te ofrezca un sueldo que se aproxima bastante a las 6 cifras y decidas dejar la vida académica con el título de Master of Computer Science – se han dado casos-.

Para los que tengáis curiosidad, los exámenes de cualificación se dividen en 5 secciones: Lenguajes de programación/Compiladores, Ingeniería del Software, Sistemas Operativos, Teoría de la Computación/Algoritmos y Arquitectura de Computadores. Hay un examen escrito por cada sección y un examen oral que cubre todo el temario. Este enero pasado aprobé el último escrito que me faltaba y me presenté por primera vez al oral, que no aprobé por los pelos. La impresión del comité fue que con un poco más de preparación no debería tener problemas en mi segunda -y última- oportunidad. Claro está, jugarte la permanencia en el programa de doctorado a un examen oral de 50 minutos ante un comité de 5 profesores es extremadamente estresant, por decirlo de alguna manera.

El caso es que felizmente superé la prueba a finales de mayo pasado después de encerrarme un mes con los libros y hacer sesiones de práctica con mis compañeros y varios profesores. Para los curiosos, esto es lo que recuerdo de las preguntas (10 minutos por sección):

  • Compiladores: Dibuja un diagrama con los componentes principales de un compilador. ¿Quál es la salida de cada componente? Describe la teoría matemática detrás del Scanner y del Parser. ¿Qué partes usan la tabla de símbolos? Describe dos optimizaciones, una independiente de la arquitectura y otra dependiente de ella.
  • Arquitectura: Diferencia entre coherencia y consistencia de memoria en sistemas con varios procesadores. ¿Quáles son las condiciones suficientes para tener un sistema de memoria coherente? ¿Tiene sentido la optimización “merging write buffer” en cachés si queremos tener un sistema de memoria estrictamente consistente? ¿Por qué?
  • Teoría/Algoritmos: ¿Es el problema de la parada NP-Completo? ¿Es NP-difícil? ¿Puedes demostrar que es NP-difícil? ¿Cómo se hace una reducción? Escribe 5 algoritmos diferentes que conozcas con 5 tiempos de ejecución diferentes-big O notation-.
  • Sistemas Operativos: ¿Qué es RPC? Dibuja un diagrama con dos procesos en un sistema distribuido ejecutando una RPC. ¿Quáles son los posible problemas en una RPC que no suelen darse en una llamada local? ¿Cómo distingue el cliente entre ellos? ¿Quáles son las posibles semánticas para una RPC?
  • Ingeniería del Software: ¿Cómo probarías un sistema operativo -enrollate por 5 minutos- ?¿ Cómo decides que ya has hecho suficientes tests a un sistema software?

Bueno, ¿qué pensáis? ¿Fácil/díficil/no sé de lo que me hablas? Por cierto, si alguien tiene curiosidad por el temario, aquí tenéis una foto con parte de los libros a estudiar (no se incluyen los libros de Ingeniería o Compiladores):

quals

Escrito en UVA. 1 comentario

Casa nueva!

Después de 4 meses sin un post ya va siendo hora de que escriba algo. Dos cosas me han tenido bastante ocupado estos últimos meses: la mudanza y el examen de cualificación. Del examen hablaré en otro post, este va a ser sobre nuestra nueva casa:

Casa

Dado que voy a permanecer un par de añitos más en Charlottesville para acabar el doctorado, y el mercado inmobiliario ha reventado en USA nos salía mejor comprar una casa que seguir de alquiler en nuestro apartamento. Para estándares norteamericanos no es gran cosa, pero para los que estamos acostumbrados a vivir en pisos alucina: 300 m2 de terreno, la casa tiene tres pisos: sótano, primero y segundo, con un total de 180m2 utilizables. Tenemos un pequeño terreno por delante -frontyard- y por detrás de la casa -backyard- vallado, con terraza y cobertizo incluido.

En febrero firmamos los papeles, y nos mudamos al de dos semanas. Afortunadamento, nos hemos desecho de nuestro contrato de alquiler -quedaban 4 meses todavía- y no había que hacer ninguna reparación importante. Así que estamos muy contentos con nuestra nueva vivienda. Eso sí, la mudanza nos ha costado bastante. Y ahora tengo que aprender algo de jardinería para cuidar del césped, que incluye pasar el cortacésped -imagen típica de USA- a menudo. Por supuesto, todas las reparaciones corren a nuestra cuenta, entre otras: fontanería, electricidad, pintura, etc.

by1

Escrito en USA. 2 Comentarios »

Vacaciones de Navidad

Después de 6 meses vuelvo de visita a casa. Voy a estar en Bilbao del día 25 de diciembre al 12 de enero, así que habrá que ir preparando reuniones con los amigos, cenas, visita a Deusto, etc. Mandadme un email o pegadme un toque al teléfono para quedar.

Como el año pasado, tengo los exámenes de cualificación para el Doctorado justo a la vuelta. Aunque como solo me queda por hacer el examen escrito de Lenguajes de Programación y Compiladores debería tener algo más de tiempo libre. ¡Hasta pronto!

Vote for Obama

Mañana es la elección presidencial en los Estados Unidos -aunque también al congreso y al senado- y en Virginia cada voto cuenta. Por primera vez en varias décadas Virginia podría votar demócrata en unas presidenciales y ambas campañas tratan de atraer hasta el último votante. En EEUU no hay jornada de reflexión por lo que los partidos políticos pueden llamar y hacer campaña puerta a puerta hasta el mismo dia de la elección. Esta noche he pasado una horita larga en uno de los múltiples sitios que la campaña de Barack Obama tiene en Charlottesville.

Esta sede es una lonja repleta de carteles, información y mesas con teléfonos para que voluntarios hagan llamadas. Ahora mismo (7:30pm) hay unas 30 personas en ella, de las cuales 15 están al teléfono -entre ellas mi novia Rebecca- y el resto está organizando visitas a pie por el vecindario o planeando viajes en furgoneta mañana a las urnas. Contribuir con algo de tiempo a una campaña es muy sencillo: basta con asomarse a uno de estos centros y en unos minutos estás llamando a gente que no conoces de nada para recordarles dónde tienen que votar y si necesitan que alguien les acerque en furgoneta a las urnas mañana. Por supuesto, hay gente que dedica mucho más tiempo a la campaña, sobre todo estudiantes de ciencias políticas o cualquiera que se plantee entrar en un partido en el futuro.

Para los que tienen el gusanillo de leer más sobre las elecciones en Estados Unidos, os recomiendo la web Crystal Ball -Bola de Cristal- de Larry Sabato, un profesor de ciencias políticas en la Universidad de Virginia. Tiene bastante buena reputación, y desde aquí voy a asumir las predicciones suyas para la elección de mañana: 364 delegados para Obama y 174 para McCain -a ver cuánto se acerca a la realidad-. Recordad que no se elige presidente por voto popular, cada estado -y el distrito de Columbia- envía un número de delegados al Colegio Electoral proporcional a la población. Así, Virginia elige 13 delegados este año, y es uno de los puntos cruciales de la campaña, ya que si Obama gana en los estados que ganaron los demócratas en 2004 -lo que parece altamente probable-, en Virginia y en otro estado más con al menos 5 votos electorales ganaría la elección. Aunque todo apunta a que, seguramente, ganará Obama con un margen lo suficientemente alto para evitar sorpresas.

Así que, Vote for Change!

De vuelta en Charlottesville

Tras un par de meses con ninguna actividad en el blog ya va siendo hora de que me decida a escribir algún post. El verano terminó, y ha dejado muy buenos recuerdos. Visita a Bilbao, vacaciones en el Caribe con la familia y vuelta al trabajo en la universidad de manera momentánea, ya que en septiembre he viajado a dos conferencias: IISWC en Seattle y Grid en Tsukuba, Japón.Iré comentando mis viajes más detalladamente, pero de momento me limito a mi visita de -casi- un mes a Bilbao. Muchos se sorprenderán de una visita tan larga ya que siendo un doctorando en Estados Unidos vacaciones hay pocas. Técnicamente no estaba de vacaciones, sino renovando mi visado. La entrada en la Unión Europea  facilita muchísimo la movilidad en Europa. Esto puede parecer obvio para muchos que nos vamos de vacaciones -como los buenos recuerdos que me dejó el Interrail o el Erasmus- sin tener que rellenar ningún papel o soportar largas esperas al cruzar la frontera de otro país. O las personas que trabajan en países europeos sin tener que depender de la aprobación de un visado. EEUU es otro cantar. Y no porque Estados Unidos sea especial, los trámites que tiene que pasar un ciudadano argentino -por poner un caso que conozco- para estudiar o trabajar en España no son tan diferentes. 

En Estados Unidos hay muchos tipos de visados, que te dan diferentes tipos de derechos. Una de las visas más populares para trabajadores del sector tecnológico son las visas H1B que te permiten trabajar por 3 años -prorrogables a 6- y que son relativamente fáciles de conseguir, aunque su número es limitado. La visa para estudiantes  -no de intercambio- es la F1, y te permite residir en el país mientras cursas tus estudios aunque no te da derecho a trabajar. Pues bien, dado que yo había solicitado primero entrar en el programa de Máster, mi visa expiraba a los dos años, en Mayo de 2006. Puedes permanecer en EEUU con una visa expirada siempre y cuando tengas los demás papeles en regla – formularios I-94 e I-20- pero si quieres viajar al extranjero tienes que renovarla. En caso contrario, no puedes volver a entrar en EEUU con una visa expirada. Así que antes de irme de vacaciones a ciertas islas en el Caribe que no son territorio estadounidense o a la conferencia Grid 2008 en Japón tuve que volver a Madrid a renovar mi visado.

Por alguna extraña razón que se me escapa, el visado sólo se puede renovar fuera de EEUU. Y como pueden tardar hasta 30 días en devolverte el pasaporte, tienes que planificar tu vuelo de vuelta 4 semanas después de la entrevista en la embajada, aunque normalmente te devuelven el pasaporte en 3 o 4 días. Después de un viaje a la embajada en Madrid y una sencilla entrevista me devolvieron el pasaporte rápidamente. El papeleo es bastante sencillo, lo que más incordia es tener que ir a Madrid en persona a entregarlo. Ahora tengo una visa válida en mi pasaporte hasta 2012, aunque esperemos que no tarde tanto en terminar el doctorado.

Aunque el viaje a Madrid incordia un poco, renovar el visado es una buena excusa para aprovechar a visitar amigos y familia durante varias semanas.  Eso sí, no es tan fácil ni se tiene tanto tiempo como parece. Ya que la mayoría de la gente trabaja me tengo que limitar a una o dos visitas al día. Con lo cual al final lo que suele pasar es que veo a mucha gente una o dos veces: una visita para saludar y ponernos al día y puede que una visita antes de despedirme. Así que sabe a poco, pero de momento es lo que hay. Eso sí, hoy en día hay muchas más facilidades para comunicarse como la telefonía IP -mantengo un número de Vizcaya para que me llamen mis conocidos gratis- o la videoconferencia.

Grid 2008

Retomo este blog -olvidado desde hace más de un mes- para comunicar una excelente noticia: me han aceptado un paper en la conferencia Grid 2008 que se celebrará en Tsukuba, Japón. En este enlace pódeis ver el trabajo: http://www.cs.virginia.edu/~ar5je/bespp.pdf

Para los no iniciados, la publicación de tu trabajo de investigación es una parte fundamental de tu carrera, ya que sin una publicación revisada por tus pares en una conferencia/revista/journal es como si no hubieras hecho nada. El número de publicaciones y el impacto que están tienen en la comunidad determinan el éxito de tu carrera. En mi campo, Ciencias de la Computación (Informática) las organizaciones principales que organizan las conferencias y publican los trabajos son el IEEE y la ACM (Association for Computer Machinery). Éstas organizaciones financian diferentes conferencias, normalmente anuales, y cada una con una tématica bien definida: Grid obviamente agrupa a la comunidad que desarrolla su investigación en Computación Grid. En mi grupo también solemos participar en SuperComputing. Al frente de cada conferencia está el Program Committee, formado por expertos en el área que provienen de universidades o compañías privadas (como Intel, HP Labs, Microsoft Research, etc.).

El proceso para publicar es el siguiente: una vez realizado tu trabajo de investigación debes escribir un artículo (normalmente entre 8 o 10 folios a doble columna) y enviarlo para su revisión por parte del comité del programa. En este artículo tienes que describir el problema que estás considerando, tu solución propuesta y una evaluación rigurosa que permita concluir que tu solución mejora anteriores propuestas. El comité del programa va a considerar solamente el artículo, y es lo único que se publica, con lo que tienes que sintetizar todo tu trabajo en él. Una vez pasado la fecha límite para enviar artículos, el comité del programa los revisa. Cada artículo es asignado un número de revisores (entre 3 y 5 normalmente, a los que tú como autor desconoces quiénes son) que analizan el paper y comentan sus puntos fuertes, debilidades y su contribución a la comunidad científica. Al final los mejores artículos son seleccionados para la presentación en la conferencia y su publicación. Este proceso de revisión científica intenta asegurar que los resultados publicados son verdaderamente rigurosos trabajos de investigación de calidad. Sin un proceso de revisión independiente tus resultados no tienen credibilidad ya que no se puede asegurar que hayan sido obtenidos científicamente.

Aparte del número de publicaciones también se tiene en cuenta el impacto. Como podéis ver en mi artículo es imprescindible tener una sección que mencione investigaciones similares, y una bibliografía que cite estos trabajos relacionados y todos los resultados anteriores en los que te apoyas (ya que siempre nos alzamos sobre los hombros de gigantes). Así, cuanto más se cite tu trabajo en otros artículos, más impacto se considera que tiene.

Este es mi primer artículo listo para publicación -el segundo vendrá dentro de poco-, y además soy el primer autor, que en Ciencias de la Computación se interpreta como el que realiza la mayor parte del trabajo (no es así en otros campos, en matemáticas se hace por orden alfabético). Volar a Japón es caro, así que no sé si me será posible presentarlo. Pero por lo menos ya se puede decir que acabo de dar el primer paso de mi carrera como científico.

Graduation Day

El pasado fin de semana tuvo lugar la ceremonia de graduación en la Universidad de Virginia. Al haber acabado el Master of Computer Science este semestre me tocaba desfilar con el resto de graduados en la ceremonia principal de la universidad, y con los graduados de la facultad de Ingeniería en la entrega de diplomas posterior. Para haceros una idea del tamaño de la Universidad de Virginia este año se han graduado más de 6.400 estudiantes, de los cuales cerca de 2.000 son de postgrado (Másters y Doctorados). Por primera vez en la historia de la Universidad los estudiantes internacionales suman más del 10% de los titulados (unos 650).

La ceremonia principal consiste en caminar con tus compañeros por la parte central de la Universidad, The Lawn. Empezando desde la Rotonda – una copia del panteón de Roma- los estudiantes avanzan en procesión organizados según la facultad y llevando la tradicional indumentaria académica. A los lados se sientan los padres y familiares, que son multitud -tres entradas por cada estudiante suman más de 18.000 disponibles-. Al final todos los estudiantes nos sentamos para escuchar los discursos del presidente de la Universidad y de un invitado especial, normalmente alguien relacionado con Virginia. Este año habló un rector de otra Universidad, aunque otros años han acudido escritores como Tom Wolfe o John Grisham. Pódeis ver un resumen en Youtube:

Finals 2008 Highlights

Debido al mal tiempo la entrega de los diplomas de la facultad de Ingeniería tuvo que hacerse en un polideportivo(bastante feo, por cierto) y juntando a los undergraduates y los graduates, con lo que la ceremonia se alargó durante varias horas. Por lo menos sales de la ceremonia con el diploma en la mano, y no tienes que esperar años -todavía no tengo el de Ingeniero en Informática- hasta que la Universidad te lo entregue.

Por cierto, lo de lanzar los gorros al aire no es algo generalizado, sólo un par de estudiantes lo hicieron y la mayoría se abstuvo de lanzarlo. Por lo demás, los tópicos sobre la ceremonia de graduación se cumplen.

Escrito en UVA. 1 comentario

Master’s Project Presentation by Arkaitz Ruiz-Alvarez

Hoy me he dado cuenta que hace un mes que no escribo ningún artículo en el blog. Hasta ahora he tratado de mantenerme en un post por semana, pero he estado bastante distraído últimamente. Una de las “distracciones” es mi proyecto de Master. Es relativamente sencillo sacarse el título de Master mientras estudias en el programa de doctorado en esta universidad. Así, con una presentación de una parte de mi trabajo puedo graduarme en Mayo con el flamante título de “Master of Computer Science” otorgado por la Universidad de Virginia. Aquí tenéis el email con el anuncio a los miembros de la facultad sobre mi presentación:
UNIVERSITY OF VIRGINIA
SCHOOL OF ENGINEERING AND APPLIED SCIENCE
DEPARTMENT OF COMPUTER SCIENCE

Date: April 18, 2008

MEMO TO: Faculty and Students

FROM: Marty Humphrey, Advisor

RE: Master’s Project Presentation by Arkaitz Ruiz-Alvarez

All faculty and students are cordially invited to attend the Master’s Project presentation
by Arkaitz Ruiz-Alvarez to be held on Thursday, April 24, 2008, in Olsson Hall Conference
Room 236D at 2:00 pm. The committee members are Andrew Grimshaw, Chair;
and Marty Humphrey, Advisor.

BES++: HPC Profile Open Source Implementation

The use of computational (HPC) clusters continues to increase among companies, enterprises, universities and research institutions. There are several software products that manage these computational clusters: among them, the Portable Batch System (SGE), the Sun Grid Engine (SGE), Platform’s LSF and, recently, Microsoft Windows HPC Server 2008. Each software uses their own specific format for job description, submission and management. Thus, an organization with more than one cluster must often support multiple, idiosyncratic interfaces to largely similar backend capabilities.

The HPC Basic Profile is a Web-services-based specification aimed to create a common interface to computational clusters by focusing on the basic use case of an HPC system. The HPC Basic Profile specification is applicable to every cluster management software since it is based on a basic set of functionalities that every cluster management software provides, despite the differences in interfaces and data formats. This specification is based on the OGSA Basic Execution Service and the Job Submission and Description Language and offers an abstraction of the most basic interactions with a computational cluster: create a job, check the status and attributes of a job, delete the job and check
the status of the cluster.

In this talk, I present BES++, which is an open-source project that we have created with Platform Computing (LSF). BES++ implements the HPC Basic Profile and is architected to layer on any existing queuing system. We currently have support for PBS, LSF and SGE clusters. In addition to the HPC Basic Profile features, BES++ has been extended to support several extensions such as File Staging and Advanced Filter. We have also added the capability of job metascheduling and the support for legacy client tools such as PBS’s qsub. We present a performance evaluation and an analysis of our implementation.

Visita de Stallman

Stallman va a dar una charla en la Universidad de Virginia la próxima semana. Atención al abstract: The Free Software Movement developed the GNU operating system, often erroneously referred to as Linux. Ya os contaré qué tal la charla, aunque imagino que no será muy diferente a lo que ya escuchamos en Bilbao hace unos años.

COLLOQUIUM

SPEAKER: 		Richard Stallman, Ph.D.

TOPIC:		Free Software in Ethics and in Practice

DATE:		March 28, 2008

TIME:		2:00 p.m. (Refreshments will be served in OLS 224 at 3:30)

PLACE: 		OLS 009

HOST: 		Mary Lou Soffa

Abstract: Richard Stallman will speak about the Free Software Movement,
which campaigns for freedom so that computer users can cooperate to
control their own computing activities. The Free Software Movement
developed the GNU operating system, often erroneously referred to as
Linux, specifically to establish these freedoms.

Biography: Richard Stallman launched the development of the GNU
operating system (see www.gnu.org) in 1984. GNU is free software:
everyone has the freedom to copy it and redistribute it, as well as to
make changes either large or small. The GNU/Linux system, basically the
GNU operating system with Linux added, is used on tens of millions of
computers today. Stallman has received the ACM Grace Hopper Award, a
MacArthur Foundation fellowship, the Electronic Frontier Foundation’s
Pioneer award, and the Takeda Award for Social/Economic Betterment, as
well as several honorary doctorates.

Prepárate para el tornado

Parece ser que el pasado martes ha sido proclamado “Tornado Preparedness Day” por el gobernador de la Commonwealth de Virginia. Así que en la Universidad de Virginia se realizó un simulacro de tornado de 9:45 a 9:55:

TORNADO DRILL
MARCH 18, 2008

Governor Tim Kaine has proclaimed Tuesday, March 18th to be Tornado Preparedness Day.
All state agencies throughout the Commonwealth have been encouraged to participate in the
Statewide Tornado Drill on that day beginning at 0945. The University of Virginia will participate in
Tornado Preparedness Day by exercising a brief (10 minute) drill.
There are two objectives for this drill:

1. Learn what to do if a tornado warning is issued
2. Test the UVaAlerts text message, email and LCD screen display systems;
instructions will be given to note the time and method of notification and complete a
VERY BRIEF survey after the drill.

Parece ser que el objetivo número 2 no se ha cumplido, ya que el sistema de alertas de la universidad falló estrepitosamente. Esperemos que se arregle a tiempo para cuando haya una verdadera emergencia…
Para saber qué hacer en caso de tornado: http://www.virginia.edu/emergency/tornadodrill.html