PhD Position in Computation Offloading for Distributed Sensor Applications

VU University of Amsterdam Department in Computer Science


Are you interested in building next-generation computing systems at the network edge? Do you like building real distributed systems and evaluate them at scale? Do you want to work with ambitious colleagues at the intersection of big data, cloud computing, high-performance distributed systems in the exciting city of Amsterdam? Then we are eager to get to know you. Please apply for a PhD position at Vrije Universiteit Amsterdam.


FTE: 0.8 - 1

Job description

In recent years, we have witnessed a computing shift outwards from centralized clouds to the network “edge”, incubating a new paradigm called edge computing. Edge computing proposes to deploy computing devices ranging from smart environmental sensors, intelligent end-devices, small computing boards to small servers at the edge of the network, complementing the cloud for data processing. Compared to cloud computing, edge computing allows applications to process data in close proximity to data sources in the field, thus bringing benefits to applications like autonomous driving, precision farming, smart manufacturing, environment sensing and monitoring. However, despite their tremendous potential, the edge ecosystem is still in their infancy, and lacks many of the basic infrastructure, resource management, scheduling, computational framework, and storage services, which we take for granted when developing applications in the cloud.

In this work we are specifically looking for two graduate researchers, who will start PhD-candidate positions in this project:

An edge computing environment combines extreme distribution of computing, networking, and storage resources, which all must be procured and scheduled real-time. There are currently no standard services for computation and resource management at the edge. Further, by the nature of the environment, edge computation is extremely distributed and should be agile to support mobility and offloading (between endpoints and between cloud and the edge), so that the right computation is done at the right place, in time. However such scheduling and placement decisions are challenging due to lack of right abstractions and services, and restrictions like privacy, performance, and energy requirements. Hence, the research challenge is: how to efficiently process data in an extremely distributed environment? To address this, first a rich generalized offloading model will be built to understand what to offload, and where. Secondly, based on the insights from the offloading model, a companion resource management and scheduling architecture will be designed and implemented. Lastly, we will explore dynamic and automatic offloading and scheduling techniques at the edge. The resulting system will be tested on an in-house edge tested together with our large distributed cloud+edge system, DAS-6 (

This PhD project will focus on exploring computing abstractions, and performance modeling and engineering, for edge computing. While in the cloud environment various computing frameworks like Spark and TensorFlow have been proposed for simplifying the application development, there are no counterparts for the edge currently. One goal is thus to design and build such frameworks to ease the adoption of edge computing. On the other hand, edge environments are highly heterogeneous, involving diverse devices types ranging from microcontrollers, ARM-based processing units (e.g., NVIDIA Jetson boards and Raspberry Pis), and GPU-based accelerators. Understanding the performance of edge applications when running on these devices is important for making informed resource scheduling decisions. So the second goal is to study programming models and performance modeling of applications running on edge devices. Towards these goals, we will first design an expressive computing abstraction (e.g., domain-specific languages) for edge workloads, then build a specific compiler which can generate target-dependent code for different edge hardware platforms, and finally build a performance model for edge applications running on these edge platforms.

Your duties


  • analyze the literature to understand the state-of-the-art in edge computation offloading, scheduling, and resource management
  • design a generalized offloading model, and understand ramifications of design choices and restrictions at the edge 
  • design and implement a reference resource management and scheduling architecture for edge applications
  • automatic exploration of resource management, scheduling, and offloading policy space
  • implement the system and build a prototype
  • teaching tasks, which typically consist of supervising exercise classes and correcting assignments


  • analyze the literature to understand the state-of-the-art of edge computing abstractions, edge performance modeling and engineering
  • design an expressive computing abstraction together with a domain-specific language for edge computing
  • build a compiler that supports multiple targets and generates target-dependent code automatically
  • implement the system and build a prototype
  • profile edge applications built with the proposed abstractions
  • build a performance model for edge applications running on different edge platforms
  • teaching tasks, which typically consist of supervising exercise classes and correcting assignments


General requirements:

  • A Master's degree in Computer Science, Computational Science or related field
  • Excellent programming skills (e.g., c++, Python, Rust, Go) and systems building (development, deployment, unit testing) skills
  • Strong collaboration and communication skills. The principal language of the group is English (fluent written and spoken English skills are required)

Specific requirements for the two positions:


  • Background in cloud/edge computing; resource management, scheduling, multi-tenancy considered a plus
  • Knowledge of and interest in the broader research area of distributed systems


  • Background in programming languages, performance model/engineering
  • Knowledge of and interest in the broader research area of programming languages

What are we offering?

A challenging position in a socially involved organization. The salary will be in accordance with university regulations for academic personnel and amounts €2,395 (PhD) per month during the first year and increases to €3,061 (PhD) per month during the fourth year, based on a full-time employment. The job profile: is based on the university job ranking system and is vacant for at least 0.8 FTE.

The appointment will initially be for 1 year. After a satisfactory evaluation of the initial appointment, the contract will be extended for a duration of 4 years.
Additionally, Vrije Universiteit Amsterdam offers excellent fringe benefits and various schemes and regulations to promote a good work/life balance, such as:

  • a maximum of 41 days of annual leave based on full-time employment
  • 8% holiday allowance and 8.3% end-of-year bonus
  • solid pension scheme (ABP)
  • contribution to commuting expenses
  • a wide range of sports facilities which staff may use at a modest charge

About Vrije Universiteit Amsterdam

The ambition of Vrije Universiteit Amsterdam is clear: to contribute to a better world through outstanding education and ground-breaking research. We strive to be a university where personal development and commitment to society play a leading role. A university where people from different disciplines and backgrounds collaborate to achieve innovations and to generate new knowledge. Our teaching and research encompass the entire spectrum of academic endeavour – from the humanities, the social sciences and the natural sciences through to the life sciences and the medical sciences.

Vrije Universiteit Amsterdam is home to more than 26,000 students. We employ over 4,600 individuals. The VU campus is easily accessible and located in the heart of Amsterdam’s Zuidas district, a truly inspiring environment for teaching and research.


We are an inclusive university community. Diversity is one of our most important values. We believe that engaging in international activities and welcoming students and staff from a wide variety of backgrounds enhances the quality of our education and research. We are always looking for people who can enrich our world with their own unique perspectives and experiences.

The Faculty of Science

The Faculty of Science inspires researchers and students to find sustainable solutions for complex societal issues. From forest fires to big data, from obesity to medicines and from molecules to the moon: our teaching and research programmes cover the full spectrum of the natural sciences. We share knowledge and experience with leading research institutes and industries, both here in the Netherlands and abroad.

Working at the Faculty of Science means working with students, PhD candidates and researchers, all with a clear focus on their field and a broad view of the world. We employ more than 1,250 staff members, and we are home to around 6,000 students.

About the department, institute, project

We are a part of the Computer Systems (CompSys) group at the Computer Science Department. These efforts are parts of a bigger edge ecosystem research initiative where we are exploring and building foundational services and support for edge computing. We have ongoing collaborations with multiple industrial (Schiphol airport, IBM, ING, Tata) and academic partners (UvA, TU Delft). Prospective students should know they will join an open, collaborative, inclusive, and supportive environment.


Are you interested in this position? Please apply via the application button and upload your curriculum vitae and cover letter until September 24, 2020. Please indicate in your letter whether you want to apply to position-1, position-2, or both.

Applications received by e-mail will not be processed.

Vacancy questions
If you have any questions regarding this vacancy, you may contact:

Name: Henri Bal
Position: Professor

No agencies

In your application, please refer to