ARIA Spotlight: Alvin Tan

Alvin Tan's ARIA project: Implementation of a Data Interchange Among Worker Nodes in JAMScript

The research revolves around JAMScript, a programming language for edge-oriented Internet of Things that is still under development at McGill. The language provides a controller-worker model, whereby controllers run static in the cloud, fog and edge, while workers are the dynamically changing end devices. Specific to the research project, the data interchange mechanism between the different nodes were investigated for further enhancement on throughput and latency. Redis technology was used, which is an in-memory database. Due to that, a fault tolerant system was designed for handling crashes and thus data losses. Various redesigning, implementation and benchmarking was involved to ensure high performance.

As with numerous other students during the summer, I was in search of an internship. It being my first internship, I was open to exploring various working fields in computer science to feel the waters. Having taken an interesting topic course with the professor in charge of the research, I had already planned for engaging research under him. The research project given to me was more appealing in comparison to other internships offered in the job market. Furthermore, taking the research for credit was an option but they were not useful for me. ARIA essentially fits the criteria of an internship I was looking for, where I was interested in trying a research position, with the stipend coming as a bonus.

In the beginning of the research, it was hard to formulate a clear learning objective since it was unclear as to what the research might involve specifically. The initial objectives were only to gain new technical knowledge as well as curating new realistic practices. As the research progressed, the learning objectives shifted towards specific ideas such as the ability to design highly performant code base systems without sacrificing reliability and developing code that are modular and easily modifiable.

The greatest highlight of the research was the presentation of my redesign to both the professor and lab members. The important part of the presentation was the receival of constructive feedback, as it plays a role of gathering different ideas from others which I may not have thought of, contributing back to the redesign. The presentation provides the satisfaction of recognition, as the hard work put into the research is let known to at least a few people. The other highlight was moving from a conceptual idea to an actual implementation. Being able to type out the actual functional implementation and watch the design come to life was immensely satisfying to be a part of. The process was the beginning of the practical challenges in the production, which although difficult, was enlightening to tackle. It gave way for real-life application of the knowledge taught by the different computer science courses.

Going into details of the challenges, the creativity involved for generating a redesign that is more performant was a feat to overcome. Designing a data interchange system was definitely a first for me, as well as the technology being used. It was a period of dealing against the imposter syndrome and stressing about actual productivity. It took extreme patience of learning and communication with the professor, creating a new idea towards the redesign step by step. Along with trial and error, eventually the final design emerged with all the accumulated ideas. As with computer science in general, the other big challenges would be to interact with a new technology. Although not trivial, this challenge was sure to be expected and was dealt with as usual, which entails various self-testing and google searches for solutions. However, alongside the problem was dealing with code made by past members. Having to understand the rationale behind unexplained code is a common hysteria within the coding community, hence again requiring numerous conversation exchanges with the professor.

The first work experience becomes a vital milestone for a student’s career, as it immediately sets them apart from numerous other competitors in the early stages. I believe that ARIA will be that milestone that will now open up even more opportunities to my career path, especially since research experience is less common. The soft skills and knowledge I gained from this experience will help me to be successful in my future career as well. The internship provided me a firsthand understanding of how it works within a real-life production base. In terms of my education path, I have now explored one of the many topics in computer science, and will now only continue to expand my knowledge on other topics that I have yet to encounter.

Lastly, I would like to take to time the award donors to the Arts Student Employment Fund. I am extremely grateful for the donors who made it possible for me to engage in a research internship. Not only has this provided my valuable work experience, but it will definitely serve as a steppingstone for my future career. Once again, I appreciate the donors and will make no waste with the opportunities given by them.

Back to top