Thamir M. Qadah

I am a Ph.D. candidate at the School of Electrical and Computer Engineering, Purdue University, West Lafayette, Indiana. My specialization is Software Systems. I am co-advised by Prof. Arif Ghafoor and Prof. Mohammad Sadoghi. I am also very fortunate to have worked closely with Prof. Walid Aref.  I am a member of the Exploratory Systems Lab at UC Davis (formerly at Purdue). In 2019, I interned at Datometry which is leading the frontiers of Adaptive Database Virtualization technologies.

Exploratory Systems Lab Pudue University Umm Al-Qura University


Thamir M. Qadah is a Ph.D. candidate in the School of Electrical and Computer Engineering at Purdue University, West Lafayette, Indiana. He is co-advised by Prof. Mohammad Sadoghi and Prof. Arif Ghafoor. He is a member of the Exploratory Systems Lab . His research interests are in the design and implementation of secure, dependable, and high-performance software systems that exploit modern hardware. He holds an M.Sc. in Electrical and Computer Engineering (Software Systems), an M.Sc. in Computer Science, and a B.Sc. in Computer Engineering from Purdue University, Cal. State Fullerton, and King Fahd University of Petroleum and Minerals, Saudi Arabia, respectively. He has co-authored several publications in top-tier database and systems research venues, and his research is recognized by the Best Paper Award in Middleware'18. Since 2015, He has been active in the research community as an external reviewer for top-tier conferences such as SIGMOD, VLDB, ICDE, ICDCS, ATC, EDBT, Middleware, and CIKM. Moreover, he served as a committee member of the artifact evaluation committee for SOSP'19 and ASPLOS'20.

Latest News

Research Projects

Modern Transaction Processing

In this project, we aim to develop algorithms, techniques, and protocols that exploit modern hardware (e.g., many-core, multi-socket CPUs, GP-GPUs, and RDMA networks) to improve the performance, security, and dependability of database systems. We looked into improving the performance of deterministic transaction processing under variable degrees of workload contention. We published a paper proposing a novel transaction concurrency architecture called QueCC for many-core multi-socket hardware architecture. QueCC is recognized by the "Best Paper Award" in Middleware'18 (Acceptance-rate 23/98). We are also looking into improving the transaction processing performance of distributed database systems. Our Q-Store paper is going to appear in EDBT'20 (Acceptance-rate 31/151).

AIMS: Adaptive Intrusion Management System

Intrusion attacks on software systems are more common than you might think. In this project, we go beyond intrusion detection and focus on developing automated response and recovery mechanisms to allow software systems to become intrusion tolerant in a satisfactory manner.

Tornado: A Sptaio-Textual Stream Processing Engine

We are building a stream processing engine based on Apache Storm to answer spatio-textual queries over data stream in real-time. We utilize an adaptive load balancing technique for the system workload. Further, we provide a rich map-assisted query interface that allows users to compose arbitrary queries. Collaborators: Ahmed R. Mahmood, Ahmed M. Aly, El Kindi Rezig, Anas Daghistani, Amgad Madkour, Ahmed S. Abdelhamid, Mohamed S. Hassan,Walid G. Aref, Saleh Basalamah. Check out our paper. [PDF]

AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial Data

In this project, we introduced a technique for speeding up spatial queries (e.g. range and knn queries) over spatial data in Hadoop MapReduce. This technique is adaptive to the query workload as it progressively splits partitions based on a statistical cost function. The splitting will allow more parallelism in the reduce phase which will contribute to the speedup. Collaborators: Ahmed M. Aly, Ahmed R. Mahmood, Mohamed S. Hassan, Walid G. Aref, Mourad Ouzzani, Hazem Elmeleegy. Check out our paper. [PDF]

Selected Papers

C Peer-reviewed Conferences, J Peer-reviewed Journals, O Pre-prints, Workshops, and Demos

2020 Scalable, Resilient and Configurable Permissioned Blockchain Fabric. C PDF DOI

S. Rahnama, S. Gupta, Thamir M. Qadah, J. Hellings, M. Sadoghi. PVLDB 2020.

Q-Store: Distributed, Multi-partition Transactions via Queue-oriented Execution and Communication. C PDF DOI

Thamir M. Qadah, S. Gupta, M. Sadoghi. EDBT 2020.

2019 A Queue-oriented Transaction Processing Paradigm. O DOI

Thamir M. Qadah. Middleware Doctoral Symposium. Middleware 2019.

2018 QueCC: A Queue-oriented, Control-free Concurrency Architecture. C DOI Best Paper Award

Thamir M. Qadah, M. Sadoghi. Middleware 2018.

2016 Cruncher: Distributed in-memory processing for location-based services. O DOI

A. Abdelhamid, M. Tang, A. Aly, A. Mahmood, Thamir M. Qadah, W. Aref, S. Basalamah. ICDE 2016.

2015 Tornado: A Distributed Spatio-Textual Stream Processing System. O PDF DOI

A. Mahmood, A. Aly, Thamir M. Qadah, E. Rezig, A. Daghistani, A. Madkour, A. Abdelhamid, M. Hassan, W. Aref, S. Basalamah. PVLDB 2015.

AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial Data. C PDF DOI

A Aly, A. Mahmood, M. Hassan, W. Aref, M. Ouzzani, H. Elmeleegy, Thamir M. Qadah. PVLDB 2015.

Course Projects

Course Project for ECE 695: Human-Computer Interaction

In this project, we developed a complete live-programming system for exploratory data analysis of geo-tagged data streams. Learn more about this project here.

Course Project for ECE 695 Operating Systems Design and Implementation

[Course Project] In this project we aimed to seamlessly extend the current API without breaking the current implementation. To do that we introduced a Java class called FileEventTracker, that augments the current Tachyon client API with file event notifications. It allows registering one or more event listeners to a certain path. The listeners must implement a Java interface called FileEventListener to listen to events. This was part of a course in Operating Systems at Purdue. Collaborator: Yiyang Chang

Course Project for ECE 624: Multimedia Systems

In this project, I studied how to represent the semantic knowledge of moving objects so that we can perform logical inference to obtain relationships among them. I used the concept of Semantic Network (SN) to represent such knowledge. An instance of the (SN) is dynamically built given a stream of updates for a set of moving objects. I implemented a visualization interface to visualize the semantic network as it updates itself. Furthermore, given a set of logical inference rules that can be applied on the SN, we can obtain additional relationships among moving objects. This work was done as a part of a course in Multimedia Systems at Purdue.

Course Project for ECE 595: Computer Network Systems

We studied the performance of Memcached deployed over heterogenous servers (i.e. servers with varying RAM and CPU specs). We used the Yahoo Cloud Serving Benchmark (YCSB) for this purpose. Furthermore, we introduced a modification to the Memcached client to be aware of the fact that the servers are heterogeneous which resulted in increased performance. This project was part of a course in Computer Systems Network at Purdue. Collaborator: Mosab Khayat.

Course Project for CS 541: Database Systems

We designed and implemented a full-fledge database system in Java. This includes Command-line-interpreter (CLI), buffer manager, and query processing engine. This was part of a course in Database Systems at Purdue. Collaborator: Mohammad Qudeisat

Course Project for ECE 573: Compiler and Translation Systems Engineering

I designed and implemented a full-fledge compiler for a simple language as a part of a course in Compiler and Translation Systems at Purdue.

Course Project for ECE 695: Introduction to Visual Analytics

In this project, I designed and implemented a visual analytics tool for browsing products at Amazon. This was part of a course in Visual Analytics at Purdue.



Random + Interesting

Things that I find interesting but may be random. Hopefully, they are also useful for many.