About Me

Hi, I am a Ph.D. candidate in the Department of Computer Science at Florida State University. I have joined Computer Architecture and Systems Research Laboratory (CASTL) in Fall 2017 and been working as a Graduate Research Assistant (GRA) under the supervision of Professor Dr. Weikuan Yu.

Research Interests

  • HPC I/O Optimization
  • Heterogeneous Storage Systems
  • Parallel File Systems
  • Burst Buffer File Systems
  • HPC Workflow
  • Deep Learning at Scale
  • Reinforcement Learning

Education

Experiences

I have been working on building up my research expertise by working as a GRA at CASTL. Besides, I worked at couple of national laboratories as summer intern that boosted up my research acumen. Before starting my Ph.D. at FSU, I joined in the software industry workforce of Bangladesh right after receiving BSc. degree and worked for about four and a half years in different renowned companies.

Research Experiences

Current

Graduate Research Assistant

Department of Computer Science
Florida State University
Tallahassee, Florida
August 2017 - Present

Working in Computer Architecture and SysTems Research Lab (CASTL) under the supervision of Professor Dr. Weikuan Yu.

2019

Student Intern

Center for Applied Scientific Computing (CASC)
Lawrence Livermore National Laboratory (LLNL)
Livermore, California
May 2019 - August 2019

Worked as a summer intern in the Data Analysis Group at CASC on a project for optimizing I/O behavior in HPC workflow.

2018

LBNL Affiliate

National Energy Research Scientific Computing Center (NERSC)
Lawrence Berkeley National Laboratory (LBNL)
Berkeley, California
August 2018 - August 2019

Worked on the summer internship project on distributed deep learning applications’ data pipeline.

2018

Student Assistant

National Energy Research Scientific Computing Center (NERSC)
Lawrence Berkeley National Laboratory (LBNL)
Berkeley, California
May 2018 - August 2018

Worked as a summer intern in the Data Analytics and Services group at NERSC on a project for analyzing scalable data pipeline for distributed deep learning.

Industry Experiences

2021

Software Development Engineer Intern

Amazon Web Services
East Palo Alto, United States
May 2021 - August 2021

Worked on improving the workload management in the Amazon Redshift data warehouse by using systems requirement information.

2016

Software Analyst

IPvision Canada Inc
Dhaka, Bangladesh
October 2016 - July 2017

Worked as a member of the development team for implementing SDK for the social networking platform named ringID.

2014

Software Engineer

Vizrt
Dhaka, Bangladesh
July 2014 - September 2016

Served as a member of the Sports Solutions R&D team in Dhaka, mostly worked on developing features and fixing bugs of Viz Libero. Implemented Model View View Model (MVVM) in Viz Libero and Viz Arena to develop a tool for automatic testing.

2013

Software Engineer

Enosis Solutions
Dhaka, Bangladesh
February 2013 - June 2014

Worked as a member of the development team for Visual-Host which is the SDK framework of a Computer Aided Engineering(CAE) software Visual-Environment

Projects

I am working on different research projects as a member of CASTL and intern at the national laboratories. I was not only involved in the development process of industry softwares, but also worked voluntarily on community service projects. Besides, I have developed and have been working on various academic projects for my course works.

HPC Workflow I/O Optimization

Working on a collaboration project with LLNL for pinpointing HPC I/O issues and optimizing HPC workflow management based on the findings, e.g., DL Training I/O, Checkpoint/Restart, Producer-Consumer, etc. - summary

BeeGFS Performance Evaluation

Served a collaboration project with LLNL for evaluating the performance of BeeGFS parallel cluster file system using different I/O and metadata performance benchmarks, and Deep Learning applications. - paper

Scalable Data Pipeline for Distributed Deep Learning

Worked on a project at NERSC for profiling I/O in the distributed deep learning applications to explore the I/O bottlenecks, and design and implement optimization strategies to overcome the possible bottlenecks. - abstract, source

Burst Buffer File System

Performed literature survey on enhancing a burst-buffer file system (i.e.UnifyCR) by adding an improved Garbage Collection module. Analyzed the flushing and compaction handling in LevelDB and RocksDB for using those as key-value stores for metadata management in UnifyCR.

Specialized File System for Large Datasets of Deep Neural Network

Assisted a collaboration project with LLNL for designing a file system for large datasets of Deep Neural Network by studying the data shuffling mechanism in TensorFlow and Caffe.

AuthSDK for ringID

Developed the SDK sub-module using C/C++ responsible for authentication functionalities in ringID, a Bangladeshi social networking platform. Worked on making the SDK codebase extensible using various design patterns and integrated Googletest.

Viz Libero

Worked as an active developer in the team managed by Agile methodology for feature implementation and bug fix of Viz Libero, a C++ Qt framework based sports stream augmentation-aiding software. Later, served as a member of the Core development team for performing pre-development research.

Development Automation Test Server

Implemented Model View View Model (MVVM) in Viz Libero and Viz Arena to develop a tool for automatic testing. The tool was deployed as a web service in Vizrt Switzerland's test server and integrated in the development process via Jenkins and Mercurial.

Visual Host

Worked as a member in the Visual Host development team. Visual Host is the MFC based cross-platform(i.e. MainWin was used to generate linux build) framework of the computer-aided engineering tool named Visual Environment. It wraps windows API and MFC classes, develops owner draw customized control menu and toolbar and provides a 3D drawing and animation framework using OpenGL.

Graph Clustering for Parallelizing Graph Algorithms

Implementing a project on the usage of graph clustering for enabling parallelism in graph algorithms on the graph representation of geographical data. The aim is to utilize HPC resources for making graph algorithms more time efficient while maintaining optimal accuracy.

F2PUnifyCR

Developed a Flash-friendly Persistent Burst-Buffer File System implemented on top of UnifyCR. Added F2FS in the UnifyCR for improved SSD garbage collection and implemented asynchronous flushing for adding persistence in UnifyCR. Performed experiments to state the problem and prove the efficacy of the solution. - slides, report

CSE Office Management

An integrated system for automating all the official tasks, i.e., Inventory management, Notice board, Teachers' profile, Peer-to-peer communication, etc., of BUET CSE. Won championship in the intra-department project competition.

Design of a Surveillance System for Dhaka City

Designed and simulated an integrated system to monitor and control the traffic system of Dhaka Applied different shortest path algorithms, e.g., variants of Dijstra's algorithm, A* search, etc., on Dhaka city map Proposed locations for police-boxes on the prominent road-crossings of Dhaka using 2-Approximation Vertex Cover Algorithm Proposed heuristic algorithm that can be applied on clustered map of a large area

Miscellaneous

  • Network Text Editor: A C++ application to facilitating collaborative editing in a LAN
  • micro-C Compiler: A simple compiler implementation for C-like programming language (i.e. micro-C)
  • Automated Water Faucet: A portable hardware device that can be put on any water tape to control the flow of water automatically by detecting human presence using PIR sensor for avoiding wastage
  • Digital Watch with Timer: A digital watch with timer developed using ATMEGA 8 Microcontroller
  • LAN Messenger: A software developed in Java for chatting with the contacts that are in a LAN
  • NACHOS: Not Another Completely Heuristic Operating System implementation developed in C++
  • Snooker Game: A two player Snooker game developed in C++
  • Screensaver: A simple screensaver developed in Assembly Language

Software for ReCAP

Implemented a software and API library using C# for prioritizing the roads and highways of Bangladesh by simulating a Cost Benefit Analysis (CBA) and Multi-Criteria Analysis (MCA) algorithm developed by Department of Urban and Regional Planning, BUET. The library was used from a web portal developed at LGED. - news, report

Gaming Application for Differently Abled Children

Developed a car racing game using Unity game engine interfaced with cycling machine for encouraging the Active Range Of Motion Exercise (AROME) for the children with weakness in Quadriceps femoris muscle being conducted in Feroza Bari Disabled Children Hospital.

Publications

Research Papers

  • [IPDPS'22] F. Chowdhury, F. Di Natale, A. Moody, K. Mohror, and W. Yu, "DFMan: A Graph-based Optimization of Dataflow Scheduling on High-Performance Computing Systems," the 36th IEEE International Parallel and Distributed Processing Symposium, May 2022, Held Virtually. - paper
  • [PDSW'20] F. Chowdhury, Y. Zhu, F. Di Natale, A. Moody, E. Gonsiorowski, K. Mohror, and W. Yu, "Emulating I/O Behavior in Scientific Workflows on High Performance Computing Systems," the 5th International Parallel Data Systems Workshop. November 2020, Virtual Workshop Collocated with SC 2020. - paper, slides, source code
  • [ICPP'19] F. Chowdhury, Y. Zhu, T. Heer, S. Paredes, A. Moody, R. Goldstone, K. Mohror, and W. Yu, "I/O Characterization and Performance Evaluation of BeeGFS for Deep Learning," the 48th International Conference on Parallel Processing. August 2019. Kyoto, Japan. - paper, slides
  • [Cluster'19] Z. Yue, W. Yu, B. Jiao, K. Mohror, A. Moody, and F. Chowdhury, "Efficient User-Level Storage Disaggregation for Deep Learning," International Conference on Cluster Computing. September 2019, Albuquerque, NM.
  • [MASCOTS'18] Z. Yue, F. Chowdhury, H. Fu, A. Moody, K. Mohror, K. Sato, and W. Yu, "Entropy-Aware I/O Pipelining for Large-Scale Deep Learning on HPC Systems," 26th International Conference on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. September 2018, Chicago, IL. - paper

Research Posters

  • [SC'19] F. Chowdhury, F. Di Natale, A. Moody, E. Gonsiorowski, K. Mohror, and W. Yu, "Understanding I/O Behavior in Scientific Workflows on High Performance Computing Systems," International Conference on High Performance Computing, Networking, Storage and Analysis. November 2019, Denver, CL. - poster, summary
  • [SC'18] Y. Zhu, F. Chowdhury, H. Fu, A. Moody, K. Mohror, K. Sato, and W. Yu, "Multi-Client DeepIO for Large-Scale Deep Learning on HPC Systems," International Conference on High Performance Computing, Networking, Storage and Analysis. November 2018, Dallas, TX. - poster, summary

Abstracts and Reports

  • [PDSW-DISCS'18] F. Chowdhury, J. Liu, Q. Koziol, T. Kurth, S. Farrell, S. Byna, Prabhat, and W. Yu, "Initial Characterization of I/O in Large-Scale Deep Learning Applications," 3RD Joint International Workshop on Parallel Data Storage and Data Intensive Scalable Computing Systems, November 2018, Dallas, TX. - abstract, slides

Invited Talks

  • [BeeGFS Virtual Community Meeting 2020] F. Chowdhury, "I/O Characterization and Performance Evaluation of BeeGFS for Deep Learning" - link

Awards

  • Graduate Student Research Award 2022 from the Department of Computer Science at Florida State University.
  • 2020 BeeGFS Community Contribution Award.
  • Student Volunteer Program Scholarship for attending the SC'18 (SuperComputing) Conference.
  • Champion in the Intra-Department Project Competition at BUET for the project CSE Office Management.

Community Work

Engineering Students' Association of Bangladesh (ESAB)

I served as the founding President of ESAB from October 2011 to November 2013. ESAB is a common platform for all the engineering students of Bangladesh. We, along with highly energetic team of young Bangladeshi engineering students, pioneered this voluntary association.