Research Assistanships for 1st-year PDCS Students

Who can apply?

These research assistantships (RAs) are exclusively for students who are enrolled in their first year Master PDCS program at the VU, both the two-years and the short-track variant. It is the primary intention to support students without a scholarship (VUFP) by an RA position.

What is offered?

We offer at most three RA positions per year, amounting to 10 working hours per week, running maximally until the end of the academic year (August 31st, 2013), for working with a faculty member whose project gets chosen. We aim at December 1st, 2012 as a starting date (assuming that work permits need to be issued.)

Is there anything else available?

This page is about the RA positions provided by the department. Besides, each staff member is free to hire additional students as research assistants, provided that he/she has some task to be assigned and the funding to pay for it. Staff members deal with students directly for such positions. (Don’t ask me who else might have open positions…)

How to apply?

Students interested in an RA position can apply no later than September 18th (before midnight), 2012 by sending email to Thilo Kielmann, with the following information:

  • Short motivation letter explaining why you are interested in a particular RA position (and which one) and why you think you are qualified for it. Please write no more than one page, preferably less.
  • Short CV (no more than one page).
    • Please indicate on the CV page whether or not you have a (VUFP) scholarship.
  • (Optional:) Material that indicates your prior performance and qualifications, like lists of grades you have got previously, GPA’s, or whatever other achievements you consider relevant for us to select you rather than another student.
  • Each student can apply for exactly one of the RA positions offered below.
  • All email attachments must be in PDF format

Project Descriptions

The following three RA projects have been proposed to choose from. Shortly after the deadline, a group of staff members will select the three strongest applications and inform all participants about the outcome.

Efficient storage for RDF data (advisors Henri Bal, Jacopo Urbani)

There is an exponential growth of the amount of RDF data that is being released on the Web. This data is used by public organisation to release public data or by search engines (like Yahoo! or Google) to retrieve better results to the user queries. Little research has been conducted so far to identify efficient data structures to store and retrieve this data on disk. In this project, the student is called to implement an efficient  B+Tree algorithm (or similar) which is tailored to efficiently store and retrieve large amount of RDF data.

It is required a deep expertise on data structures, computational complexity and good knowledge of the Java or C languages.

A new operating system for manycore architectures and beyond (advisor Herbert Bos)

In the computer systems section, we have started an exciting project
with the aim of building an entirely new OS that scales from
many-cores to clusters. Building on our experience with building
operating systems and multicore stacks [1,2], we have decided to start
from scratch and build an OS that aims at tomorrow’s processors. These
processors will no longer be full cache-coherent across the chip and
have a very large number of cores. In addition, we want to be able to
scale the OS to beyond a single processor, e.g., in a cluster. In our
design, we will reuse ideas from other research projects, such as the
Factored Operating Systems (fos, MIT), Corey (MIT), Barrelfish (ETHZ),
NewtOS/Minix-3 (VU), but with a completely new architectural design.

For this project, we are looking for a student with a very strong
systems background. Low-level coding skills and a very ambitious
mindset are absolute requirements.

Besides the RA, the project will be staffed by multiple master project
students and headed by Prof. Bos — in other words, the candidate will
be very much part of a research team.

[1] W. de Bruijn, H. Bal, H. Bos, Application-Tailored I/O with
Streamline, ACM Transactions on Computer Systems, 29(2), May 2011
[2] Tomas Hruby, Dirk Vogt, Herbert Bos, Andrew S. Tanenbaum, Keep Net
Working – On a Dependable and Fast Networking Stack, Proc. of

A minimal Linux VM for fast cloud nodes (advisors Thilo Kielmann and Kaveh Razavi)

Cloud applications scale out by dynamically starting additional virtual machines (VMs) when they need more compute power at runtime. Unfortunately, such a VM startup is a slow process. Once the cloud provider (e.g., Amazon EC2) has assigned a physical machine, the VM image file is copied to the machine, and the operating system (e.g., Linux) is being booted. It is very common that this operation may take 10 minutes or even more.

The new research assistant is supposed to minimize this startup time. Possible approaches are

  • reduction of the VM image size (from +/- 2GB) by removing unnecessary software
  • removing unnecessary daemons from the boot procedure
  • splitting the VM image into a minimal bootable kernel and a second disk image from which other software can be read on demand after machine startup

This work will be done in the context of the projects Contrail and COMMIT in which the group of Thilo Kielmann is investigating application execution environments for cloud infrastructures and platforms. Required knowledge is about Linux (configuration) and some scripting and C programming.