⚙️ Implemented a complete MapReduce runtime with Mapper, Reducer, MR Master, and HDFS integration
🧵 Multi-threaded execution with configurable mapper threads and synchronization barriers
📊 Performance metrics: job completion time, scalability trends, and variance analysis
☁️ Deployed and evaluated on AWS multi-node clusters
🛠 Tooling: C/C++ system programming, RPC, HDFS, automated benchmarking
Quantified the impact of barrier synchronization on end-to-end job completion time
Demonstrated strong scaling benefits with increased mapper units, validating parallel execution efficiency
Identified application-dependent bottlenecks (CPU-bound Grep vs reduce/network-bound Word Count)
Analyzed how mapper thread over-subscription leads to CPU saturation and diminishing returns
Designed thread-safe mapper and reducer pipelines with bounded in-memory buffers
Implemented sender threads to flush mapper buffers based on utilization thresholds
Built benchmarking workflows with repeated trials and statistical analysis (average, standard deviation)
Evaluated system behavior across:
# Mapper units ∈ {1, 4}
# Mapper threads ∈ {4, 8, 12, 16}
# Buffer sizes ∈ {10 KB, 100 KB, 1 MB}
# Barrier enabled vs disabled
Large-scale data processing and analytics frameworks
Distributed systems and cloud infrastructure design
Performance modeling of parallel workloads
Systems-level trade-off analysis for synchronization and buffering
This project provides a practical, systems-level understanding of how parallelism, synchronization, and buffering interact in real-world distributed frameworks. The experimental results highlight why modern MapReduce systems carefully tune barriers and buffer sizes to maximize throughput while avoiding resource contention, making the project directly relevant to industry-scale data platforms.