Back

Arm Internship

Task 1 - Duration: 1 Week

Read documentation on how to run a benchmark, setup Git/Gerrit pre-commit hooks, and learn the mechanics of Juju (anatomy of a charm).

Task 2 - Duration: 1 Week

Flash Mellanox NICs with updated firmware and confirm that it can PXE boot. This required a lot of ipmitool, bash scripts, and reading Mellanox documentation.

Task 3 - Duration: ~8 Weeks

Re-write software infrastructure to be compatible with newer version of Juju. This meant re-writing almost the entire Python codebase that automates the recreations of benchmarks on readily deployable machines in a server lab to be compatible with a newer version of Juju (the teamโ€™s deployment system). In addition to re-writing for newer software infrastructure, my job was also to migrate the code to Python 3, document the whole process, design changes to a team of 25 people.

Task 4 - Duration: ~4 Weeks

Create software to automate flake8/pylint codestyling on Gerrit patch set updates and provide in-line feedback on the Gerrit front-end. This was accomplished through the use of Jenkins and about ~400 lines of Python automation code. This task required a lot of string parsing (Regex), reading Gerrit API Docs, and desigining a well-engineered process for auto-linting.

Task 5 - Duration: ~3 Weeks

Designing algorithm to estimate benchmark run times given a yaml experiment file. Thought of idea to use chi-squared independence test to decrease estimation time by an average of around 700%

Important skills learned/improved:

  • Software Development Life cycle - Research/Learning, Development, Code Review Process
  • Strong Coding/Scripting Skills
  • Python, Bash/Shell scripting
  • Continuous Integration with Jenkins
  • Using statistical tests to increase efficiency of calculations
  • Oral Presentation Skills
  • Computer architecture and Workload Analysis

Pictures!

Silly pic ๐Ÿ˜ Group picture Floor 3 squad ๐Ÿ‘ฅ Group picture Climbing ๐Ÿค˜

Web Apps, Vim, Computers, and Dogs.
"Everything around you that you call life was made up by people that were no smarter than you and you can change it, you can influence it, you can build your own things that other people can use. Once you learn that, you'll never be the same again." ~ Steve Jobs

Read Next

React App

Github activity