Department of Computer Science and Technology

Systems Research Group – NetOS

ACS Projects (2017—2018)


This page collects together various ACS project suggestions from the Network and Operating Systems part of the Systems Research Group. In all cases there is a contact e-mail address given; please get in touch if you want more information about the project.

Under construction: please keep checking back, as more ideas will hopefully be added to this page during the coming weeks.

1. Learning user context from the observation of network and systems data

Contact: Richard Mortier

Online services and applications are collecting more and more personal data about users to adapt and optimize their services to each individual user. Examples of service optimization range from your personalized Facebook feed to Google maps displaying the area around you. This personalization can take a wide range of inputs from the Web pages a user visits and the films she watches to the places she visits. We are particularly interested in services that adapt to a user’s context (e.g., the geographical location in the Google maps case). User context is fairly broad; it can encompass, e.g., the location, the time of day, who the user is with, what the user is doing. Our goal is to be able to infer user context only by observing technical data that we can collect automatically by instrumenting the user’s device or the network that carries the user’s traffic. To better understand the issues involved in inferring user context, in the European project User-Centric Networking, we have conducted a user study that simultaneously collected both technical and ethnographic data from a population of 25 users across the UK and France. The technical data includes full packet traces, location information, and the set of applications used on each participant’s devices. The user observations adopted an ethnographic approach to detail each participant’s online activities, routines, and exceptions, as well as their reasoning for conducting certain activities at certain times, locations, or with certain devices. Our initial analysis of this data highlights the gap between the user’s reasoning and what we can capture with network and application level statistics alone.

The goal of this project is two-fold: (i) demonstrate and properly evidence the gap between user reasoning and technical data; and (ii) develop methods to bridge this gap by analyzing the technical data to infer user context. To demonstrate the gap, the student will analyze the transcripts made by the ethnographers after the discussions with users to identify the vocabulary and ways in which users talk about their activities. This analysis will allow us to compare the user reasoning with the technical data we can gather from users. The student will then develop methods to process the technical data to extract the user context. Our manual analysis of the data identified a few data types that help capture context: location data, visited websites, and time of day. To make sense out of the data, however, we had to conduct a fair amount of manual search and inference. The goal is that the student will identify methods to automate this process. The student should develop scientific skills on network measurements and data analysis.

Desirable skills:

  • Knowledge of data analysis techniques
  • Knowledge of network traffic measurements
  • Knowledge of matlab or GNU R

[1] P. Brundell, A. Crabtree, R. Mortier, T. Rodden, P. Tennent, P. Tolmie. The Network from Above and Below. In Proc.of the ACM SIGCOMM W-MUST workshop, 2011.
[2] A. Brown, R. Mortier, T. Rodden. An exploration of user recognition on domestic networks using NetFlow records. Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct Publication, 2014.

2. Request reconstruction in MirageOS unikernels

Contact: Richard Mortier

Mirage is a framework for building unikernels in the OCaml programming language. Magpie was a research system developed at Microsoft Research for reconstructing the performance behaviour, down to the cycle, byte and file level, of incoming requests to a distributed system. This project is to recreate the facility of Magpie for Mirage unikernels. Areas of interest include: the observation that Mirage unikernels are cooperatively, not pre-emptively, threaded; the desirability of instrumenting and tracking resource consumption at layers under the unikernel (whether ukvm or Xen); the need to define requests flexibly, perhaps through development of an (embedded) DSL; the need to track resource consumption across broader and larger distributed systems following microservices patterns; and perhap others that you might propose.

Desirable skills:

  • Knowledge of OCaml programming (or other functional language)
  • Experience of performance evaluation

[1] A. Madhavapeddy, R. Mortier, C. Rotsos, D. Scott, B. Singh, T. Gazagnaire, S. Smith, S. Hand, J. Crowcroft. Unikernels: Library Operating Systems for the Cloud. Proceedings of 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Aug 2013.
[2] P. Barham, A. Donnelly, R. Isaacs, R. Mortier. Using Magpie for request extraction and workload modelling. Proceedings of the 6th Symposium on Operating Systems Design & Implementation (OSDI). December 2004. USENIX. San Francisco, CA, USA.

3. Computational Models for Mental Wellbeing

Contact: Cecilia Mascolo, Sandra Servia (email)

Certain aspects of lifestyle that can be trackable through mobile devices, especially lifestyle alterations, are indicative of users' mental health [1]. Using the Emotion Sense dataset (a large-scale dataset that contains self-reported moods and passive sensing data collected by several sensors at different sampling rates) this project poses to investigate which sensors and sampling rates are the most informative of users' lifestyles. Several machine learning and statistical techniques for the detection and prediction of mental states from these sensed lifestyles will be analysed. Findings will be used to formulate computational models for detection and prediction, carefully considering aspects such as users' privacy (maximising local computation) and energy efficiency (conserving resource utilisation), both in sensing, detection and prediction tasks.

[1] S. Servia-Rodríguez, K. Rachuri, C. Mascolo, P.J. Rentfrow, N. Lathia and G. Sandstrom. Mobile sensing at the service of mental wellbeing: a large-scale longitudinal study. In Proceedings of 26th World Wide Web Conference (WWW2017). Computational Health Track. Perth, Australia. April 2017.
[2] The Emotion Sense project.

4. Rusty Chain: mobile distributed ledger

Contact: Jon Crowcroft (email) (Marco Caballero Gutierrez, supporting PhD)

The idea for the project would be to develop (in Rust[1]) a distributed ledger [2] (proof-of-stake based) framework to target mobile devices (ARM-based[4]) that are power-constrained. Interesting things to measure would be:

1 System-load footprint (how expensive to run is the app?).
2 Power consumption (does it kill the battery life?).
3 Throughput (how many transactions per/minute can be processed). This is actually a well-measured metric on Bitcoin, Ethereum, etc, so we have something to compare against.

These 3 questions would be sufficient for a Part III/Mphil project I believe. However, further interesting things to explore would be:
If the distributed ledger is run in an ad-hoc network[3], the ledger would be partitioned very often due to the asynchrony of the transport and nodes entering and leaving. Given this *very partitioned* ledger, what effect does said partitioning has on system-load, power consumption and throughput.

A quick google search shows a bunch of results about mobile applications using distributed ledgers, but not running the distributed ledger protocol itself (so, acting as clients). It’s actually a bit hard to dig since a google search reveals millions of recent results. References:
[1] Rust
[2]Blockchain reference material
[3]Paper on ad hoc nets & tokens
[4] Pi

5. Large-scale Data Processing and Optimisation Projects

Contact: Eiko Yoneki (email)

Several projects about large-scale data processing and optimisation - See here!

Other proposers of systems-related projects: