1. Vacatures
  2. VU
  3. Two PhD projects on Computation Offloading for Distributed Sensor Applications

Helaas, deze vacature staat inmiddels niet meer online

Kijk gerust verder naar andere vacatures.

Two PhD projects on Computation Offloading for Distributed Sensor Applications

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.

2 maanden geleden


De Boelelaan, Amsterdam, Noord-Holland
Tijdelijk contract / Tijdelijke opdracht
Uren per week:
40 uur
€ 2395 - € 3061 per maand


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 (https://www.cs.vu.nl/das/).

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


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

Additional information

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: Prof.dr.ir. Henri Bal
Position: Professor
E-mail: bal@cs.vu.nl

No agencies