Some topics for MS, BS and summer projects
- Server Pools with SRPT and PS:
- Implement an efficient simulator to study SRPT and PS scheduling with parallel servers
- Simulations and Model analysis
- Policy development (heuristics and machine learning)
- Take a peek at a simple demo with FCFS scheduling
- Design and Analysis Tool for Queuing Models:
- Implement a web-based tool to design a network of computing nodes and routers. An example element is a server with a buffer (see the figure on right).
- Similar UI as with Simulink, but specialized to queueing models
- Main features: simulation and model analysis
- Automatic generation of fast simulation code (e.g. C/C++)
- QuePy: Queueing theory package for SymPy
- SymPy, a Python library for symbolic mathematics
- Includes also support from statistics
- Building on these, design and implement a package for evaluating the performance of different server systems
- Keywords: Markov chains, MDP, and Queueing theory
- Scalable Dispatching Policies:
cloud computing at scale
- Large parallel computing facilities are ubiquitious
- Efficient use of (heterogenenous) resources can be challenging
- One key issue is scalability: how to distribute jobs in scalable yet efficient manner
- Trade-off between Performance and Energy?
- Opportunistic Hiking
- Opportunistic or delay tolerant networking (DTN) is based on store-carry-forward principle
- Communication takes place directly between devices (e.g., mobile phones) over (ad-hoc) Wifi or Bluetooth connection. Thus no cellular network is needed!
- The key idea is that devices collaborate by exchanging and carrying each others' messages with the aim of messages eventually reaching their desired destinations
- This concepts seems suitable for carrying messages to and from popular hiking destinations?!
- Moreover, the same system (i.e. devices) can store information related to the destination (cf. the "floating content"). Hence, e.g., safety critical information or photos can be made available and updated (crowd sourcing).
- Online tools for Models of Computation
- Theoretical foundations of computability rely on models such as finite state machines, pushdown automata, and Turing machine
- Today it is straightforward to visualize such systems in web browsers (see the figure on right)
- A model can be defined in a source code, or constructed dynamically using a GUI
- Models can run with different inputs to verify the operation
- In TÖL301G, we already use such tools and, e.g., grade automatically some homework assignments
- Next generation system will focus on implementing GUI for constructing models and their visualization when simulated. In particular, new tools will be developed for finite state machines and pushdown automata.
The above topics are tentative and adapt to the person in question (typically this means shifting the focus between software development, numerical experiments and analytical efforts).
Students are welcome to propose their own topics especially if they align with my research interests, i.e., topics ranging from computer systems and computing paradigms to (wireless) networking (including sensor networks and IoT). Methodologically, anything related to system modelling, performance evaluation, and optimization by means of analysis, (Monte Carlo) simulations or experiments, is interesting!