I, Shams Imam, am a Software Engineer in the Platform Services group at Two Sigma, Houston. I work with distributed systems utilizing my expertise in parallel programming models and runtime systems, while addressing challenges in an effective manner.
I defended my PhD at the Department of Computer Science at Rice University in May 2015. My thesis is titled "Cooperative Execution of Parallel Tasks with Synchronization Constraints". I was working with Prof. Vivek Sarkar in the Habanero Extreme Scale Software Research Project. My work involves building a generic framework that efficiently supports all synchronization patterns, not only those available in actors or the fork-join model, in task parallel programs. It includes extensions such as Eureka programming for speculative computations in task-parallel models and Selectors for coordination protocols in the actor model.
At Rice, I have led the implementation effort in projects such as Habanero-Java, Habanero-Scala, CnC-Scala, CnC-Matlab, and CnC-Python. Most of this work has also successfully been presented in leading conferences and workshops, both in the United States and abroad (e.g. Euro-Par, ECOOP, OOPSLA, Scala Days). A list of my published work is available on the publication page and also on Google Scholar. I have also taught different classes at Rice, including leading the lab lectures for the introductory Computer Science course and conducting guest-lectures for the introductory Parallel Programming course.
My research interests mostly include parallel programming models and runtime systems with the aim to make writing task parallel programs on multicore machines easier for programmers. I plan to continue working on parallel languages, runtimes, and compilers building abstractions to improve performance in executing and to simplify the writing of parallel programs. I believe focusing on applications helps identify the needs of ‘real’ programs allowing the outcomes of the research to be relevant to the real-world.
Programming is my main hobby. My love for programming has also led me to participate at Rice Hackathons and also do volunteer work such as developing websites and mobile apps for Rice clubs and Non-profit organizations. Vocationally, I have worked as a Software Developers in various companies including start-ups. The nature of my work often included direct interactions with business owners of our products to ensure smooth understanding of requirements. At Travelocity, for example, I led the two Hotel and Flight Landing Pages projects due to their ease of use and business owner satisfiability with the end product. Apart from programming, I have also represented the GSA team and won the MVP on the way to titles for the Table Tennis championships.