<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">DATA ANALYSIS PLATFORM FOR STREAM AND BATCH DATA PROCESSING ON HYBRID COMPUTING RESOURCES</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Sergey</forename><surname>Belov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Joint Institute for Nuclear Research</orgName>
								<address>
									<addrLine>6 Joliot-Curie st</addrLine>
									<postCode>141980</postCode>
									<settlement>Dubna</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Plekhanov Russian University of Economics</orgName>
								<address>
									<addrLine>36 Stremyanny lane</addrLine>
									<postCode>117997</postCode>
									<settlement>Moscow</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ivan</forename><surname>Kadochnikov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Joint Institute for Nuclear Research</orgName>
								<address>
									<addrLine>6 Joliot-Curie st</addrLine>
									<postCode>141980</postCode>
									<settlement>Dubna</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Plekhanov Russian University of Economics</orgName>
								<address>
									<addrLine>36 Stremyanny lane</addrLine>
									<postCode>117997</postCode>
									<settlement>Moscow</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Vladimir</forename><surname>Korenkov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Joint Institute for Nuclear Research</orgName>
								<address>
									<addrLine>6 Joliot-Curie st</addrLine>
									<postCode>141980</postCode>
									<settlement>Dubna</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Plekhanov Russian University of Economics</orgName>
								<address>
									<addrLine>36 Stremyanny lane</addrLine>
									<postCode>117997</postCode>
									<settlement>Moscow</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Andrey</forename><surname>Reshetnikov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Joint Institute for Nuclear Research</orgName>
								<address>
									<addrLine>6 Joliot-Curie st</addrLine>
									<postCode>141980</postCode>
									<settlement>Dubna</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Plekhanov Russian University of Economics</orgName>
								<address>
									<addrLine>36 Stremyanny lane</addrLine>
									<postCode>117997</postCode>
									<settlement>Moscow</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Roman</forename><surname>Semenov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Joint Institute for Nuclear Research</orgName>
								<address>
									<addrLine>6 Joliot-Curie st</addrLine>
									<postCode>141980</postCode>
									<settlement>Dubna</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Plekhanov Russian University of Economics</orgName>
								<address>
									<addrLine>36 Stremyanny lane</addrLine>
									<postCode>117997</postCode>
									<settlement>Moscow</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Petr</forename><surname>Zrelov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Joint Institute for Nuclear Research</orgName>
								<address>
									<addrLine>6 Joliot-Curie st</addrLine>
									<postCode>141980</postCode>
									<settlement>Dubna</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Plekhanov Russian University of Economics</orgName>
								<address>
									<addrLine>36 Stremyanny lane</addrLine>
									<postCode>117997</postCode>
									<settlement>Moscow</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">DATA ANALYSIS PLATFORM FOR STREAM AND BATCH DATA PROCESSING ON HYBRID COMPUTING RESOURCES</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">69A248E7610E04712172792119F2299A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T16:32+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>big data</term>
					<term>GPU computing</term>
					<term>stream processing</term>
					<term>containers</term>
					<term>machine learning</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The modern Big Data ecosystem provides tools to build a flexible platform for processing data streams and batch datasets. Supporting both the functioning of modern giant particle physics experiments and the services necessary for the work of many individual physics researchers results in generating and transferring large amounts of semi-structured data. Thus, it is promising to apply cutting-edge technologies to study these data flows and make the services' provisioning more effective. In this work, we describe the structure and implementation of our data analysis platform, built on the Apache Spark cluster. With the official support for GPU computing now available in Spark version 3, we propose a change in the architecture to utilize these more performant resources while keeping the platform's functionality provided by using mainstream Big Data software. Furthermore, the necessity for GPU support entails a change in the computing resource management infrastructure from Apache Mesos to Kubernetes. Finally, to demonstrate the features and operation of the system, we use the task of network packet analysis for security monitoring and anomaly detection in both batch and stream modes.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>High-energy physics experiments, such as those being conducted at the Large Hadron Collider (LHC) at CERN and will be conducted at the Nuclotron-based Ion Collider fAсility (NICA) at JINR, produce actual experimental data at the scale of terabytes per second <ref type="bibr" target="#b0">[1]</ref>- <ref type="bibr" target="#b2">[3]</ref>. This data is usually processed and analyzed using specialized libraries on dedicated computing platforms <ref type="bibr" target="#b3">[4]</ref>. In addition, modern large experiments and institutions generate many streams of ancillary data that plays a critical role in supporting their operations. This information has an immediate technical purpose, but it can also be collected for a more thorough cross-referential analysis.</p><p>Projects in the Big Data ecosystem provide robust and scalable software to build a platform for collecting and processing such datasets. A prototype of such a platform was proposed and implemented in <ref type="bibr" target="#b4">[5]</ref>. This work aims to build on the given progress by implementing support for GPU computing resources. The speedup that GPU processing ensures for different processing and analysis operations can be then measured for more effective scale-out and task scheduling in the future. We expect GPUs to be especially effective for accelerating the training of machine learning models built with deep artificial neural networks. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Platform architecture</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Big Data and Apache Spark</head><p>The core processing and analysis framework of the platform is Apache Spark, which facilitates batch and stream processing, contains machine learning libraries, and can interface with many data management and storage tools in the Big Data ecosystem.</p><p>Distributed storage is provided within the platform by the MooseFS file system. This does not give the performance benefits of data locality afforded by HDFS, which stores data directly on compute nodes. However, data locality is reported to be less essential for modern Big Data platforms than it was at the inception of the Hadoop ecosystem <ref type="bibr" target="#b6">[6]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Resource management in the Spark cluster</head><p>The Spark cluster can be run standalone, or use a resource manager: YARN, Mesos or Kubernetes. Mesos was used as the resource management tool of the prototype framework in <ref type="bibr" target="#b4">[5]</ref>, however, Spark does not yet support GPU resource management with Mesos. Kubernetes was selected as the resource manager for the future, as it allowed consolidating the management of the computing resources and the containerization of platform services.</p><p>Running Spark in the standalone cluster mode is straightforward, but it is less flexible and less desirable in a production environment than the other modes. YARN is a resource manager specialized for the Big Data ecosystem; it would be preferable if we had an established Hadoop-based platform to add Spark onto.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">GPU resource support in Spark</head><p>To use NVIDIA GPUs as resources in Spark jobs running on the Kubernetes cluster, the underlying containers need to support NVIDIA hardware. The libraries and tools provided by NVIDIA for this support are multi-layered <ref type="bibr" target="#b7">[7]</ref>:</p><p>• libnvidia-container provides an API and CLI to set up containers with NVIDIA GPU support • nvidia-container-toolkit provides a runC prestart hook to apply these compatibility tweaks on container startup • nvidia-container-runtime wraps runC, adding this prestart hook to any container config started through this wrapper • nvidia-docker2 installs the runtime into the local Docker configuration, allowing to start GPUenabled containers more easily The actual need for these tools and the compatibility between Kubernetes and the NVIDIA driver version is not very well-documented. Kubernetes suggests using k8s-device-plugin, which purportedly requires a specific NVIDIA driver version (384.81) <ref type="bibr" target="#b8">[8]</ref>, <ref type="bibr" target="#b9">[9]</ref>. NVIDIA themselves provide more up-to-date and complete documentation on installing a Kubernetes cluster with GPU support <ref type="bibr" target="#b10">[10]</ref>. We used the NVIDIA DeepOps approach suggested by that article. It provides an easy way to deploy and configure most of the Kubernetes components needed to run a production cluster by building on top Kubespray for Kubernetes deployment with Ansible <ref type="bibr" target="#b11">[11]</ref>. The specific up-to-date procedure allowed us to quickly deploy and test the cluster for our platform, but it can create support and configuration issues in the future when we might want to deviate from the suggested cluster architecture.</p><p>An important aspect of managing GPU resources with Kubernetes for Spark is resource discovery. That is, finding and annotating the GPUs present on the Kubernetes node to direct specific Spark jobs to utilize such resources. DeepOps configured the containerized service for resource discovery by default.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Platform testing 3.1 Distributed Tensorflow machine learning</head><p>To test GPU resource support on the platform, a sample distributed machine-learning job was run on the platform. Spark-tensorflow-distributor <ref type="bibr" target="#b12">[12]</ref> provides a method for distributing Tensorflow workflows across the Spark cluster, basically utilizing Spark as a resource and workload manager. It also provides a sample script to demonstrate the training of a small convolutional neural network for the classic problem of handwritten digit classification on the standard MNIST dataset. As Tensorflow can run with or without a GPU, the same test script was used for testing throughout this project to ensure that the GPU virtualization of the NVIDIA T4 GPU worked with the standalone Spark node, that the distributor library worked correctly on the Kubernetes cluster, and that GPU resources were available to Spark through the Kubernetes node. To demonstrate a more practical application of the platform at a scale closer to Big Data, a prototype pipeline to collect and process network packets was implemented on the new framework, in an approach similar to the way the same problem was solved on the prototype framework <ref type="bibr" target="#b4">[5]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Network packet analysis</head><p>Network packets from one local laboratory subnetwork were duplicated and sent to one physical machine that did not take part in the main Kubernetes cluster. Raw packet headers were extracted with tshark <ref type="bibr" target="#b13">[13]</ref> running in a Docker container and dumped into temporary 10Mb files continuously. They were parsed by running 7 tshark instances with GNU parallel <ref type="bibr" target="#b14">[14]</ref> in another container, with the communication of files to be parsed managed by incrontab and a named FIFO pipe. The parsed JSON files were immediately compressed into ~14Mb zstd archives and stored on the distributed storage. This collection step ran for continuous capture for 7 days, resulting in a parsed dataset of 700Gb ready for analysis.</p><p>The analysis was carried out in Spark, with the processing steps submitted from the Zeppelin notebook-style web interface running entirely within the same Kubernetes resource cluster that runs the resulting Spark jobs. Thanks to building our own Docker images hosted on a private Gitlab repository, mounting the distributed storage into the Zeppelin and worker nodes, version compatibility, and adding support for reading zstd-compressed files were minor problems.</p><p>The analysis consisted of using the Numeric Aggregate and Mode (NAGM) method to aggregate and extract network node features from the network packet TCP and IP headers. This method, specifically for Darknet packet analysis, is described in detail in <ref type="bibr" target="#b15">[15]</ref>. We apply it to normal network packets to test the performance of the framework and engineer network node features with an existing established method for further analysis. The same approach was used to test the prototype Big Data framework in <ref type="bibr" target="#b4">[5]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Conclusion</head><p>Most of the platform changes from the 2020 prototype to the current state were motivated by the inclusion of GPU resources, which necessitated the change of the resource manager, the update of Apache Spark, the use of Ansible for initial deployment. A list of changes and the motivation for them are presented in Table <ref type="table" target="#tab_0">3</ref>. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Acknowledgement</head><p>The study was carried out at the expense of the Russian Science Foundation grant (project No. 19-71-30008).</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 9 .</head><label>9</label><figDesc>Figure 9. General platform structure and functionality</figDesc><graphic coords="2,179.65,345.95,236.15,229.70" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 10 .</head><label>10</label><figDesc>Figure 10. Data flow through the platform in the network packet analysis problem.</figDesc><graphic coords="4,135.35,95.40,324.75,354.60" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 3 .</head><label>3</label><figDesc>Framework components modified from the prototype to today</figDesc><table><row><cell></cell><cell>2020 prototype</cell><cell>2021 framework</cell><cell>Motivation</cell></row><row><cell></cell><cell></cell><cell>CPU nodes + Nvidia</cell><cell>GPU</cell></row><row><cell>Resources</cell><cell>CPU nodes</cell><cell>T4</cell><cell></cell></row><row><cell>Analysis core</cell><cell>Spark 2.4</cell><cell>Spark 3.1</cell><cell>GPU</cell></row><row><cell cols="2">Container repository DockerHub</cell><cell>Gitlab.com</cell><cell>Performance</cell></row><row><cell>Resource</cell><cell></cell><cell></cell><cell>GPU</cell></row><row><cell>management</cell><cell>Mesos</cell><cell>Kubernetes</cell><cell></cell></row><row><cell>Configuration</cell><cell>None with plans for</cell><cell>Ansible with plans</cell><cell>GPU</cell></row><row><cell>management</cell><cell>Puppet</cell><cell>for Puppet</cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell>The Kubernetes cluster is</cell></row><row><cell>Supporting services</cell><cell>Docker swarm</cell><cell>Kubernetes</cell><cell>already set up for Spark</cell></row><row><cell>Coordination</cell><cell>Zookeeper</cell><cell>etcd</cell><cell>Deepops default</cell></row><row><cell></cell><cell></cell><cell></cell><cell>Auth is important for the</cell></row><row><cell>Authentication</cell><cell>None</cell><cell>FreeIPA in progress</cell><cell>platform</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">Proceedings of the 9th International Conference "Distributed Computing and Grid Technologies in Science andEducation" (GRID'2021), Dubna, Russia, July<ref type="bibr" target="#b4">[5]</ref><ref type="bibr" target="#b6">[6]</ref><ref type="bibr" target="#b7">[7]</ref><ref type="bibr" target="#b8">[8]</ref><ref type="bibr" target="#b9">[9]</ref> 2021   </note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The data-acquisition system of the CMS experiment at the LHC</title>
		<author>
			<persName><forename type="first">G</forename><surname>Bauer</surname></persName>
		</author>
		<idno type="DOI">10.1088/1742-6596/331/2/022021</idno>
	</analytic>
	<monogr>
		<title level="j">J. Phys. Conf. Ser</title>
		<imprint>
			<biblScope unit="volume">331</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page">22021</biblScope>
			<date type="published" when="2011-12">Dec. 2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The ATLAS Data Acquisition System in LHC Run 2</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">G</forename><surname>Vazquez</surname></persName>
		</author>
		<idno type="DOI">10.1088/1742-6596/898/3/032017</idno>
	</analytic>
	<monogr>
		<title level="j">J. Phys. Conf. Ser</title>
		<imprint>
			<biblScope unit="volume">898</biblScope>
			<biblScope unit="page">32017</biblScope>
			<date type="published" when="2017-10">Oct. 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">NICA project at JINR: status and prospects</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">D</forename><surname>Kekelidze</surname></persName>
		</author>
		<idno type="DOI">10.1088/1748-0221/12/06/C06012</idno>
	</analytic>
	<monogr>
		<title level="j">J. Instrum</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="issue">06</biblScope>
			<biblScope unit="page" from="C06012" to="C6012" />
			<date type="published" when="2017-06">Jun. 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The LHC computing grid project at CERN</title>
		<author>
			<persName><forename type="first">M</forename><surname>Lamanna</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.nima.2004.07.049</idno>
	</analytic>
	<monogr>
		<title level="j">Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip</title>
		<imprint>
			<biblScope unit="volume">534</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="1" to="6" />
			<date type="published" when="2004-11">Nov. 2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Batch and Stream Big Data Processing Platform: Case of Network Traffic Analysis</title>
		<author>
			<persName><forename type="first">S</forename><surname>Belov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Kadochnikov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Korenkov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Semenov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Zrelov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Big data analysis Proceedings of the 9th International Conference &quot;Distributed Computing and Grid Technologies in Science and Education&quot; (GRID&apos;2021)</title>
				<meeting>the Big data analysis the 9th International Conference &quot;Distributed Computing and Grid Technologies in Science and Education&quot; (GRID&apos;2021)<address><addrLine>Dubna, Russia</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2021">July 5-9, 2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<ptr target="http://ceur-ws.org/Vol-2772/#52-57-paper-8" />
		<title level="m">tasks on the supercomputer GOVORUN Workshop</title>
				<meeting><address><addrLine>Dubna, Russia</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2020-09">Sep. 2020. Sep. 30, 2021</date>
			<biblScope unit="volume">2772</biblScope>
			<biblScope unit="page" from="52" to="57" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">What about locality?</title>
		<ptr target="https://redhatstorage.redhat.com/2018/07/11/what-about-locality/" />
	</analytic>
	<monogr>
		<title level="m">Red Hat Storage</title>
				<imprint>
			<date type="published" when="2018-07-11">Jul. 11, 2018. Mar. 19, 2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">What&apos;s the difference between the lastest nvidia-docker and nvidia container runtime?</title>
		<ptr target="https://github.com/NVIDIA/nvidia-docker/issues/1268" />
	</analytic>
	<monogr>
		<title level="m">Issue #1268 • NVIDIA/nvidia-docker</title>
				<imprint>
			<date type="published" when="2021-09-16">Sep. 16, 2021</date>
		</imprint>
	</monogr>
	<note type="report_type">GitHub</note>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<ptr target="https://kubernetes.io/docs/tasks/manage-gpus/scheduling-gpus/" />
		<title level="m">Schedule GPUs</title>
				<imprint>
			<date type="published" when="2021-09-16">Sep. 16, 2021</date>
		</imprint>
	</monogr>
	<note>Kubernetes</note>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">NVIDIA device plugin for Kubernetes</title>
		<ptr target="https://github.com/NVIDIA/k8s-device-plugin" />
		<imprint>
			<date type="published" when="2021-09-16">2021. Sep. 16, 2021</date>
			<publisher>NVIDIA Corporation</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<ptr target="https://docs.nvidia.com/datacenter/cloud-native/kubernetes/install-k8s.html" />
		<title level="m">Install Kubernetes -NVIDIA Cloud Native Technologies documentation</title>
				<imprint>
			<date type="published" when="2021-09-30">Sep. 30, 2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<ptr target="https://github.com/NVIDIA/deepops" />
		<title level="m">deepops/docs at master • NVIDIA/deepops</title>
				<imprint>
			<date type="published" when="2021-09-16">Sep. 16, 2021</date>
		</imprint>
	</monogr>
	<note type="report_type">GitHub</note>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<ptr target="https://github.com/tensorflow/ecosystem" />
		<title level="m">ecosystem/spark/spark-tensorflow-distributor at master • tensorflow/ecosystem</title>
				<imprint>
			<date type="published" when="2021-09-30">Sep. 30, 2021</date>
		</imprint>
	</monogr>
	<note type="report_type">GitHub</note>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="https://www.wireshark.org/" />
		<title level="m">Wireshark • Go Deep</title>
				<imprint>
			<date type="published" when="2021-09-30">Sep. 30, 2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Gnu Parallel</title>
		<author>
			<persName><forename type="first">O</forename><surname>Tange</surname></persName>
		</author>
		<idno type="DOI">10.5281/ZENODO.1146014</idno>
	</analytic>
	<monogr>
		<title level="j">Zenodo</title>
		<imprint>
			<date type="published" when="2018">2018. 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Darknet Traffic Analysis and Classification Using Numerical AGM and Mean Shift Clustering Algorithm</title>
		<author>
			<persName><forename type="first">R</forename><surname>Niranjana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">A</forename><surname>Kumar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sheen</surname></persName>
		</author>
		<idno type="DOI">10.1007/s42979-019-0016-x</idno>
	</analytic>
	<monogr>
		<title level="j">SN Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date type="published" when="2019-08">Aug. 2019</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
