Projects

Traveler

The Traveler is an integrated graph visualization system for asynchronous multi-task execution. It uses OTF2 trace data generated from a program execution on Phylanx, parses them, and represents them in different interactive views. Phylanx is a general purpose computation system of distributed arrays to enhance operations over large-scale distributed system. It is an actively-developed system to provide the benefits of distributed resources for data scientists. In this project, I designed node-link diagram and time-series charts to identify dependent and relevant program components. I utilized a customized summed area table and KD-Tree from CGAL to store, modify, query, and fetch backend data for different scalable time-series diagrams. I also utilized the D3 library (scale, brush, axis) and HTML5 canvas with overlapping SVG layers to enable interactive user interfaces. Also tested integration with DiskCach, a fast file based storage, and compared performance with DuckDB and PostgreSQL databases.

Website: https://github.com/hdc-arizona/traveler-integrated

PerfAnalyzer

This is a web-based dashboard to correlate performance changes to source code modifications. This web-based dashboard was developed using Plotly and DASH to correlate scientific software performance changes with source code modifications. After collecting tracing and profiling data using TAU, I built an interfacing with MySQL database that enabled a flexible performance data storage with user-friendly query interface. Using this dashboard, conducted a preliminary source code history analysis of a scientific software.

Website: https://github.com/sayefsakin/dsi/tree/main/tools/perf_analyzer

AutoProfiler

In the ExaGO project, a collection of software packages for solving power grid optimization problems, I developed a tool to automate the overall performance analysis pipeline. I worked on optimizing application code on Exascale platforms, created unit tests, compiled and run code on HPC platforms, enabled multi-platform (CPU and GPU) profiling by easy integration with TAU, HPCToolkit, and Nvidia Nsight. Also I worked on developing an automated build-system of ExaGO for the Frontier and Summit Supercomputers by leveraging the Spack package manager. I designed scripts to estimate the strong and weak scaling measurements of ExaGO on these Supercomputing platforms.

spack:
  specs:
    - exago@develop%clang@14.0.0+rocm5.2.0 amdgpu_target=gfx90a
    - hpctoolkit%clang@14.0.0+rocm5.2.0 ^dyninst%gcc@12.2.0 ^boost%clang@14.0.0+rocm5.2.0
    - tau^openmpi
Website: https://github.com/pnnl/ExaGO/tree/develop/performance_analysis

WRAN-NS3

At the end of my MS research, with Professor Dr. Md. Abdur Razzaque in his Green Networking Research (GNR) Lab, I developed a dedicated NS3 (network simulator 3) module for wireless regional area network to simulate and test our solution methodology. This work was partially supported by a grant for the Research Fellowship funded by the Information and Communication Technology Division, Ministry of Posts, Telecommunications and Information Technology, Government of Bangladesh. More about this project can be found in this blog post.

Website: https://github.com/sayefsakin/wran-ns3

IssMan

During my employment with Structured Data Systems Limited, I started working in IssMan (Issue Manager) project as an iOS developer. The project aims to provide convenient ways for punch-lists, photo documentation, snagging and reporting. Although my work was limited, initially, in designing responsive user interfaces (UI), I designed synchronization module, later on, to ensure live update of images and data between server and client application. I also implemented a timer-module to keep the application synchronized with proper time fetched from different time servers. I also have experience working with analytics tools like Flurry, New relics, etc.

After completing my MS, I was promoted to a full-time software engineer at SDSL. My primary job responsibility was an application server developer where I developed and maintained servlet-based java web-application providing API access to different services over multitude of clients (android, web, iOS etc.). As a system administrator, I was responsible for server upgrading, performance monitoring, load-balancing, and troubleshooting. I had opportunity to work with different cloud based services like Rackspace Cloud API, Amaozn Web Services, Amazon Glaciers, Google Cloud Platform, etc. Being in charge of database and storage management, I was liable for designing relational database, updating procedure calls, making backup, and migration. I wrote several shell scripts to automatically fetch updated files from Rackspace Cloud File containers and store them on Amazon Vault while logging each file name with respective update time. Running separate cron jobs, to create daily backups of database and store them on amazon vault while removing older backups, was proposed and developed by me for better fail-safe measurement.

Website: https://issman.com

ShohojShoncoi

It is a personal ledger for calculating daily income, expense, tracking bills, loans using reminders, alarms etc. It also has a dedicated facebook based forum for user cooperation. It also contains video tutorial which is provided using a YouTube Channel. This project was partially funded by the ministry of ICT division, Government of the People's Republic of Bangladesh and developed to assist people with lower income by providing them a tool to improve their living condition.

Website: https://github.com/sayefsakin/SohojSoncoi