# CommC: A Multi-Purpose COMModity Hardware Cluster
## 5 Applications, Use Cases, and Cost Analysis
### Application and Use Cases  
The cluster serves as a backbone for various hosted services that support research, collaboration, and operational needs. These services include APIs, web hosting, and collaborative platforms, which leverage the cluster's distributed architecture for reliability and performance. DiscMycoVir is an elegant and user-friendly web platform for biological analysis, emphasizing a comprehensive and detailed result-reporting user experience. The Overleaf Server is a collaborative LaTeX editing platform within a Kubernetes environment tested specifically on a MicroK8s cluster, utilizing NFS for persistent storage. Table 2 summarizes the hosted services and their respective types. The cluster is extensively utilized for Apache Spark experiments, enabling distributed computing for tasks such as natural language processing, graph analytics, and community detection. These experiments make full use of the cluster's computational and memory resources, as shown in Table 3. It should be noted here that the RAM shown in Table 3 expresses the memory usage for each experiment and does not account for the necessary RAM that the operating system and the containers need. Therefore, an overhead of 10-20% exists, which our system is more than capable of handling. The SparkNLP experiment leverages Spark for natural language processing tasks. It utilized seven nodes, consuming 28 CPUs and 68 GB of RAM over a total duration estimate of 80 h. Neural Networks with Torch Distributor integrates Spark with TorchDistributor to run distributed neural networks. The resources for the experiment were four nodes, 16 CPUs, and 32 GB of RAM over 80 h. The Spark Bayesian Networks [31] experiment is focused on implementing Bayesian networks in Spark. It used seven nodes, consuming 28 CPUs and 68 GB of RAM over 40 h. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Model** & **Number of PCs** & **Processor** & **RAM** & **Storage** \\ \hline \multirow{3}{*}{Dell OptiPlex} & \multirow{3}{*}{13} & Intel® CoreTM i7-10700 & \multirow{3}{*}{16 GB} \\  & & @ 2.90 GHz (Intel & \multirow{3}{*}{512 GB} \\
5090 & & Corporation, Santa & \\  & & Clara, CA, USA) & \\  & & Intel® CoreTM i7-3770K & \multirow{3}{*}{16 GB} \\ Custom System & \multirow{3}{*}{2} & @ 2.50 GHz (Intel & \multirow{3}{*}{16 GB} \\
1 & & Corporation, Santa & \\  & & Clara, CA, USA) & \\  & & Intel® CoreTM i7-4770 & \multirow{3}{*}{24 GB} \\ Custom System & \multirow{3}{*}{1} & @ @ 3.40 GHz (Intel & \multirow{3}{*}{24 GB} \\
2 & & Corporation, Santa & \\  & & Clara, CA, USA) & \\ \hline
**Total** & **16** & **240 Threads** & **266** & **8.5 TB** \\ \hline \hline \end{tabular}
\end{table} 
Table 1: System specifications. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Description** & **Type** & \begin{tabular}{c} **Hardware** \\ **Reservations** \\ \end{tabular} & \multicolumn{1}{c}{**Software**} \\ \hline \multirow{2}{*}{HypeRec’s backend [30]} & \multirow{2}{*}{API} & 2 CPUs, 4 GB \\  & & of memory \\  & & 12 CPUs, & Docker, Python 3.11 (Flask), MySQL 8.0, \\ DiscMycoVir & Platform & 16 GB of memory & Trimmonate 0.36, FastQC 0.12, Trinity \\  & Web & 1 CPU, 1 GB & RNA-Seq 2.11 \\  & Hosting & \begin{tabular}{c} 1 \\ 1 \\ 1 \\ \end{tabular} & \
\begin{tabular}{c} 1 \\ 1 \\ 1 \\ \end{tabular} \\ Lab’s Overleaf Server & Platform & 1 CPU, 1 GB & Sharelatex 5.3, MongoDB 7.0, Redis 7.4 \\ VMs for Lab Staff & IaaS &
\begin{tabular}{c} Varieties \\ \end{tabular} & \multicolumn{1}{c}{Varies} \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Services hosted in the Lab’s cluster. The next series of experiments form part of ongoing research on graph analytics, with objectives like counting triangles in graph communities [32]. The algorithms under evaluation were implemented in three phases. The first one utilized nine nodes, 36 CPUs, and 104 GB of RAM, running for a total of 192 h. The second and third phases have a broader aim to detect community structures within graphs, and the resource usage was adjusted accordingly.