CS695 Topics in virtualization and cloud computing Project ideas ------------- Note: These are ideas, some more detailed and some exploratory. You will need to spend considerable time to think through them, chalk out a scope and a plan, sequence the steps towards eventual goals, etc. 1. Your own million-dollar idea. 2. Your own billion-dollar idea. 3. Hypercall/VMCall implementations as part of a tool to perform some "useful" operations/statistics etc. 4. Per-VM page cache partitioning. 5. tmem (transcendent memory) based cache implementation for VMs. https://lwn.net/Articles/454795/ https://oss.oracle.com/projects/tmem/dist/documentation/papers/tmemLS09.pdf 6. tmem-based cache implementation and partitioning policies for cgroup end-points. https://lwn.net/Articles/454795/ https://oss.oracle.com/projects/tmem/dist/documentation/papers/tmemLS09.pdf 7. Hypervisor managed SSD caching for VMs to improve IO performance. https://www.ibm.com/developerworks/library/l-virtio/index.html 8. Implementing a virtio frontend and backend for custom operations on stored/transferred data. Operations---compression, encryption etc. To use a virtio-based data channel and a control channel. 9. Performance benchmarking of virtual machine migration. 10. A toolkit for operations based on VM image introspection. 11. Software-based multiplexing of GPU for GPU-as-a-service. 12. Persistent memory emulation to implement (simplified) NV-Heaps. https://dl.acm.org/citation.cfm?id=1950380 13. Persistent memory emulation to implement (simplified) Mnemosyne. https://research.cs.wisc.edu/sonar/projects/mnemosyne/ 14. UDP-based client-server implementation and comparison of scalability on multi-core setups for netmap based network stack and raw sockets based default kernel stack. 15. Implementing a software framework for serverless/Function-as-a-service computing model.