Getting Started
This section is to help students to understand the basics of systems research happening at DaSH Lab. We will keep updating this list.
- CLI, Bash and Vim - If you are new to shell scripting and the command line interface (CLI), we recommend that you go through The Missing Semester of Your CS Education.
- Operating System - You need to have a good fundamental knowledge of Operating Systems. Operating System: Three easy pieces is an excellent resource.
- File System - Please complete the Persistence module of the OS book.
- Distributed System - This YouTube playlist by Chris Colohan is a good starting point.
- Theory and Principles of Distributed Systems - The Book by Andrew Tannenbaum and Maarten van Steen is the best.
- Basics of Machine Learning - Systems for ML research needs a basic understanding of various ML models. The learning component on Kaggle is a wonderful way to get started.
- Federated Learning - Systems for FL needs a basic understanding of FL. Go through this comic strip to understand why Google came up with FL. This article shows the step-by-step guide of running your first FL model with the Flower framework.
- Blockchain - A good way to get started is to briefly understand the Ethereum whitepaper and the bitcoin paper.
- System Design - There are a few youtube channels that do a good job at explaining system designs. It is always worth going over those to understand large scale system designs. ByteByteGo, Jordan has no life
- Database Systems - This course by CMU on Advanced Database Systems will help understand the state of the art and contribute to DaSH Lab projects on databases.
Join DaSH Lab
Please note that you are not required to be proficient in all the above domains to get inducted in a research project; expertise in any one is more than sufficient.
We are always looking for students who are passionate about learning and exploring new avenues in systems.
Undergraduates and Masters at BITS Pilani
Each project team in the lab has 2-3 undergraduate, and 1-2 master students. For a sufficient research output, there needs to be a minimum commitment of 1 year to the lab. Students who show great commitment and leadership skills for a project are converted to formal project students (SoP/LoP/DoP/RP) only after 1-2 semesters worth of work.
For applying to a project in DaSH Lab, follow the steps below.
- Go through the basics of whichever domain interests you.
- Check if there is any research project in DaSH Lab that align to your interest from the Research page. Talk to the existing lab students.
- Read any recent publication (after 2016) from the Publications page.
- Fill this Google form.
- We will review applications on a rolling basis as and when there are vacancies in the lab. If you are shortlisted, you will be contacted.
- Do not expect replies to emails regarding lab projects and openings.
Prospective Ph.D. students
Please go through the research projects and send me an email stating why you want to do a Ph.D. in DaSH Lab, a short research statement, and your CV.
Vacancies
There are requirements for students (prefereably first/second/third year B.E./first year M.E. at BITS Goa) for the following projects/skills. The start date for such students will be September 2, 2024.
- Segment Anything Model (SAM) - Need to create a custom model using SAM on a different dataset.
- MLOPs - Need to build some ML components of FLOPs
- Federated Learning - someone interested in privacy preserving methods
- Federated Learning - someone interested in knowledge distillation
- Blockchain - Need to help in building a Smart Contract parser.
- Blockchain - Need to help in building data provenance system for drones.
- Large Language Model (LLM) - Need to build a custom LLM that can help in placement of files in different mount points.
- Large Language Model (LLM) - Need to build a scheduler for distributed LLM inferencing on a heterogeneous cluster.
- Container - Someone with preferably experience in Go language to help build a version control system for edge based containers
- Mobile App + Raspberry Pi - Need to build a smart box for chemical detection.
- File Systems - Need to profile I/O patterns and design a file placement algorithm for distributed file systems.
- Serverless Computing - Preferably with know-how of docker, pub/sub framework, basic regression models to help build a distributed scheduler for serverless functions.
- Database query engines - Need to help in spill-to-disk implementations of large queries, and build AI functionalities in database query engines.
Deadlines
- Application deadline: August 24, 2024
- Shortlisting and Interviews: August 26 - September 1, 2024
- Start Date: September 2, 2024