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).
Thamir M. Qadah is a Ph.D. candidate in the School of Electrical and Computer Engineering at Purdue University, West Lafayette, Indiana. He is a member of the ExpoLab research group. He is co-advised by Prof. Mohammad Sadoghi and Prof. Arif Ghafoor. 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.
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).
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.
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]
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]
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] 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
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.
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.
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
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.
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.