I am a PH. D. Candidate studying Computer Science at Florida International University - FIU, Miami, Florida, US. I am expecting to defend and graduate in Fall 2018. Currently, I am a research assistant working on high-performance computing system and application performance prediction. I have experience with distributed systems, parallel systems, performance modeling, and simulation.
Programming Languages & Tools
Experience & and Skills
Dissertation: Performance Prediction of Parallel Applications and Systems Using Program Analysis and HPC Simulation
Conducted PH.D. research to develop novel algorithms, systems and simulators for predicting parallel application and system performance which improves accuracy of existing works. ● Designed, implemented and deployed efficient distributed real-time simulator, improved performance by 5x. Experience in data center prototype from scratch using containers, linux network namespaces, Open vSwitch and SDN.
Introduced accuracy to supercomputing simulation for rapid prototyping by implementing CRAY's Gemini torus interconnect as packet based parallel simulation among compute nodes through high radix routers.
Instructed and graded three courses. Programming III; Telecommunications Technology Applications; Spreadsheet Analysis.
Designed course outline, lectured, conducted exams and graded several advanced computer science courses. Classes taught includes Object Oriented Programming, Parallel and Distributed Systems, Compiler Design, Intro to Computing.
Parallel application and system performance prediction toolkit implemented on Simian parallel discrete-event simulator. PPT is a collaborative project with Los Alamos National Laboratory (LANL), NM. It models large parallel interconnections such as Torus, Fat-tree, DragonFly, InfiniBand and provides easily extensible modeling constructs. PPT also includes fairly detailed processor, memory-cache, GPU-accelerator models that an application model can make use of, for making accurate predictions.
HPC Simulation model construction using static program analysis. A number of advanced program analysis techniques has been used to identify program performance.
Distributed Simulator (2016) Efficient distributed hybrid real-time cloud, data-center, and large network simulator . The real-time simulator PRIME which was using a single core in linux is capable of processing 300,000 events/second. The simulator makes full use of the event rate of the PRIME real-time simulator. This particular implementation achieved 5x throughput increase compared to all previous parallel real-time simulation implementation.
I developed a simulator designed specifically for evaluating job scheduling algorithms on large-scale HPC systems. It allows large-scale HPC cluster workload modeling with job scheduling, task mapping and application execution. The simulator can evaluate different job scheduling and task mapping algorithms on the specific target HPC platforms more accurately. This allows prediction and measurement of application performance variability in different runtime conditions. Github: https://github.com/summonersrift/ppt-sched.
Network emulation using Linux namespaces, OVS w/ Pox Controller. A cloud infrastructure or data-center network is programmed as a graph or tree in python. Large models can also be built by supplying parameters. Alternatively, the network topology can be read from a file. The network can be deployed as containers with links. Consider connecting Docker / LXC / Linux Namespaces with virtual ip-links/veth-pairs. To enable software defined networking SDNScaleNet uses Open vSwitch(OVS) and pox-controller.
Developed distributed hybrid network experimentation framework on NSF GENI testbed. Simulated, emulated and real-time networking devices communicates in real-time parallel simulation.
Cryptocurrency trader using financial indicators. The algorithm was successfully deployed on Coinbase/GDAX exchange. The trader used Python-pandas to handle data structures and python-stockstats to calculate the indicators which a trader can mix and match to find the signals. We used CCXT library to make the API calls, which makes the program independent of the exchange and their API. We also built an early prototype on QuantConnet platform which provided excellent back-testing capability.
A cryptocurrency arbitrator that exploits ask/bid price differences in different market (order depths). For example, if there exists an arbitration BTC/LTC and ETH/LTC markets or the orders, the trader finds the arbitration for all such coin pairs against the base pairs. Few milliseconds, prototype arbitration processing time achieved for hundreds of markets on cryptocurrency exchange Binance.
Object oriented design pattern and software development class project. A car parking reservation with search, book, incident reporting, payment submission features implemented in Java and MySQL.
Studied TCP variants (vegas, reno etc.) extensibly for congestion control algorithms in NS-2 and recommended the best variant to use for a certain network architecture with unique bandwidth-delay scenarios. The models for NS-2 simulator was written in Tcl and the GB of results or the traces were parsed in Perl.
Apart from being a researcher, I like to code and prototype my ideas in Python. I like to read about disruptive ideas and enjoy reading about investment specially public company stocks in US. If someone is building something amazing like how/where Amazon is encrypting the data for AWS/S3, I am intrigued to know more and discuss in-depth.
In terms of physical activity, I like to visit places, hike natural trails, climb to the top of mountains and sprint on the tracks. At times, Katana sword fights amazes me. During my free days, I like getting closer to nature, mountains, and exploring outdoors.
To entertain and keep my brain active, I enjoy playing computer games more specifically, League of Legends. My favorite role is jungler then fill who loves hunting with Nocturne, Xin Zhao. Binge watching a sci-fi? Share your thoughts, I might like it as well.