# Decentralized Mechanism for Edge Node Allocation in Access Network: An Experimental Evaluation
## 3 Experimental Setup
### Physical Infrastructure and Capabilities  
For the performance evaluation discussed in this article, a range of node configurations were designed to evaluate different scenarios. The experimental setup consistently included a single primary node, referred to as the master, which was responsible for coordinating the tasks across the cluster. In addition to the master node, varying numbers of task nodes, also known as Spark workers, were employed. The numbers of task nodes were scaled across different configurations, utilizing 1, 2, 4, 8, or 16 nodes to evaluate the impact of cluster size on performance. To clarify the role and purpose of each node type mentioned, Table 2 provides a brief description of each node's name and the specific task it performs.  
Each task node was responsible for executing a portion of the distributed workload, supporting parallel processing and a thorough analysis of how the performance of the cluster scaled as more nodes were added. A central node was also included in the configuration to support the data-intensive nature of the experiments. This node was dedicated to data storage and management through the Hadoop Distributed File System (HDFS), ensuring efficient data access and management throughout the experiments.  
\begin{table}
\begin{tabular}{c c c c c} \hline
**Base Station ID** & **Longitude** & **Latitude** & **User Number** & **Workload (min)** \\ \hline
11 & 121.422303 & 31.180175 & 14 & 18,841 \\ \hline
277 & 121.306923 & 31.206547 & 21 & 25,506 \\ \hline
330 & 121.369095 & 31.121363 & 185 & 252,354 \\ \hline
361 & 121.387532 & 31.324464 & 22 & 29,467 \\ \hline
1349 & 121.448422 & 31.162868 & 589 & 706,841 \\ \hline
1448 & 121.471519 & 30.824719 & 103 & 133,736 \\ \hline
1889 & 121.768142 & 31.168720 & 31 & 42,071 \\ \hline
1919 & 121.341904 & 30.733903 & 476 & 613,174 \\ \hline
1994 & 121.009542 & 31.099755 & 55 & 69,600 \\ \hline
2564 & 121.513919 & 31.246946 & 335 & 448,576 \\ \hline
2978 & 121.182589 & 31.152749 & 86 & 113,609 \\ \hline \end{tabular}
\end{table}
Table 1: Information and workload of some base stations included in Shanghai Telecom base station dataset.  
Figure 3: Deployment of the 3233 base stations from the dataset over the city of Shanghai.  
This architecture, comprising a master node for orchestration, varying task nodes for distributed computation, and a dedicated central node for data storage, provided a robust framework to analyze system performance under different conditions. It enabled detailed observation of how performance scaled with the number of nodes and the effectiveness of HDFS in managing large data volumes. The m5.xlarge Amazon EC2 instance, with its four Intel Xeon vCPUs, 16 GB of DDR4 memory, and support for up to 10 Gbps network bandwidth via the Enhanced Networking Adapter (ENA), offered balanced compute resources for the tests. Data storage relied on Amazon Elastic Block Store (EBS), with read/write speeds of up to 4750 Mbps and 2375 Mbps, respectively, ensuring efficient handling of data-intensive tasks. The Nitro System hypervisor further enhanced performance by reducing virtualization overhead. The cluster, built with Amazon's EMR (v.7.2.0) service, ran Hadoop v.3.3.6 and Spark v.3.5.1, using Spark-specific Python 3.9 code and the PySpark library. Additional dependencies, such as NumPy, were installed using EMR bootstrap actions to ensure all nodes had the necessary software for running the experiments, particularly for clustering tasks with PySpark's K-Means class.