Hari Prasath Raman

Hari Prasath Raman

Graduate Student Researcher, File Systems Lab, Stony Brook University

Contact Me

About Me

I'm a Master's student in Department of Computer Science at Stony Brook University. I started my graduate course on Fall 2015. Been working in File Systems Lab, supervised by Prof. Erez Zadok, since January 2016. My research interests are broadly related to File Systems, Storage and Machine Learning.

Course Projects

xcipher - System Call in Linux Kernel

  • Implemented a fully functioning system call to encrypt/decrypt a file with user given parameters such as encryption/decryption key, cipher method, etc.
  • A preamble including the information about cipher method used and key was added to the encrypted file to support multi environment support.
  • Linux in-built CryptoAPI was used for developing the system call.

Anti-Malware File System (AMFS)

  • A stackable file system (similar to wrapfs) to quarantine malicious files based on user defined virus definition database
  • Implement IOCTLs for updating and maintaining virus definition database
  • In-Kernel implementation to scan files for malicious patterns and quarantine them during read/write syscalls
  • Prohibits all file operations on quarantined files except allowing them to delete (only by user with root previleges)

Asynchronous Job Execution Manager

  • Implemented a kernel module to execute jobs asynchronously, a producer-consumer methodology
  • By using Linux kernel's workqueue API, CPU heavy jobs were added to the workqueues based on priority and executed asynchronously in the kernel
  • Implemented a custom data structure to hold the job details for supporting cancellation, priority change and listing the jobs
  • Netlink sockets were used for communicating between userland and kernel

Publication

Work Experience

Software Engineer - Zynga Game Network India Pvt Ltd (2013 - 2015)

  • Rich experience in working with legacy codes and designing new features compatible with existing features
  • Optimized initial game loading time by dynamically predetermining assets based on player's game state
  • Improved frames per second (performance of game) by lazy loading of assets
  • Developed a system to generate tasks in the game by dynamically determining the player capability to improve player’s engagement with the game
  • Designed and mentored a scalable technique to grant players with virtual goods over the period of time
  • Part of knowledge transfer team to transition FarmVille2 game back to Studio-I, where my work included understanding the game code base, debugging techniques, coding practice and sharing the knowledge with the team

Engineering Intern - Cisco Systems (India) Pvt Ltd, Chennai (May 2012 - July 2012)

  • Developed utility tools to automate End to End Recording Reliability Testing by developing an algorithm to schedule program recording in multiple Set Top Box (STB) with configurable stress levels using Python. The tool reduced the time spent on reliability testing by 90%.

Courses

CSE-506 Operating Systems (Erez Zadok, Fall 2015)
CSE-548 Analysis of Algorithms (Jie Gao, Fall 2015)
CSE-549 Computational Biology (Robert Patro, Fall 2015)
CSE-591 Fundamentals of Data Science (Leman Akoglu, Fall 2015)