<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?action=history&amp;feed=atom&amp;title=K-means_clustering%2C_scalability3</id>
	<title>K-means clustering, scalability3 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?action=history&amp;feed=atom&amp;title=K-means_clustering%2C_scalability3"/>
	<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=K-means_clustering,_scalability3&amp;action=history"/>
	<updated>2026-10-22T18:04:58Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=K-means_clustering,_scalability3&amp;diff=29179&amp;oldid=prev</id>
		<title>ASA в 13:23, 19 июля 2022</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=K-means_clustering,_scalability3&amp;diff=29179&amp;oldid=prev"/>
		<updated>2022-07-19T13:23:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 13:23, 19 июля 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{level-i}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{level-i}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Основные авторы описания: [[Участник:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Elijah|&lt;/del&gt;И.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;В&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Афанасьев]&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Основные авторы описания: [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://algowiki-project.org/ru/Участник:Parkhomenko&amp;lt;b&amp;gt;П.А.Пархоменко&amp;lt;/b&amp;gt;], &lt;/ins&gt;[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://algowiki-project.org/ru/&lt;/ins&gt;Участник:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ivan.mashonskiy&amp;lt;b&amp;gt;&lt;/ins&gt;И.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Д&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Машонский&amp;lt;/b&amp;gt;&lt;/ins&gt;]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Ссылки =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Ссылки =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ASA</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=K-means_clustering,_scalability3&amp;diff=29178&amp;oldid=prev</id>
		<title>ASA: Новая страница: «{{level-i}}  Основные авторы описания: И.В.Афанасьев  = Ссылки =  Исследование ма...»</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=K-means_clustering,_scalability3&amp;diff=29178&amp;oldid=prev"/>
		<updated>2022-07-19T13:20:19Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{level-i}}  Основные авторы описания: &lt;a href=&quot;/ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Elijah&quot; title=&quot;Участник:Elijah&quot;&gt;И.В.Афанасьев&lt;/a&gt;  = Ссылки =  Исследование ма...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{level-i}}&lt;br /&gt;
&lt;br /&gt;
Основные авторы описания: [[Участник:Elijah|И.В.Афанасьев]]&lt;br /&gt;
&lt;br /&gt;
= Ссылки =&lt;br /&gt;
&lt;br /&gt;
Исследование масштабируемости алгоритма k-means в зависимости от количества используемых процессов было проведено в статье Кумара&amp;lt;ref&amp;gt;Kumar, J., Mills, R. T., Hoffman, F. M., &amp;amp; Hargrove, W. W. (2011). Parallel k-means clustering for quantitative ecoregion delineation using large data sets. Procedia Computer Science, 4, 1602-1611.&amp;lt;/ref&amp;gt;. Реализация алгоритма была выполнена на языке программирования C с использованием MPI. Для исследования масштабируемости алгоритма была использована реализация на языке C с использованием MPI&amp;lt;ref&amp;gt;http://users.eecs.northwestern.edu/~wkliao/Kmeans/index.html&amp;lt;/ref&amp;gt;. Код можно найти здесь: https://github.com/serban/kmeans. Данная реализация предоставляет возможность распараллеливать решение задачи с помощью технологий MPI, OpenMP И CUDA. Для запуска MPI-версии программы использовалась цель &amp;quot;mpi_main&amp;quot; Makefile.&lt;br /&gt;
&lt;br /&gt;
= Локальность данных и вычислений =&lt;br /&gt;
== Локальность реализации алгоритма ==&lt;br /&gt;
=== Структура обращений в память и качественная оценка локальности ===&lt;br /&gt;
=== Количественная оценка локальности ===&lt;br /&gt;
= Масштабируемость алгоритма и его реализации =&lt;br /&gt;
== Масштабируемость алгоритма ==&lt;br /&gt;
== Масштабируемость реализации алгоритма ==&lt;br /&gt;
&lt;br /&gt;
Исследование происходило на суперкомпьютере Jaguar - Cray XT5&amp;lt;ref&amp;gt;https://www.top500.org/system/176029&amp;lt;/ref&amp;gt;. На момент экспериментов данный суперкомпьютер имел следующую конфигурацию: 18,688 вычислительных узлов с двумя шестнадцатиядерными процессорами AMD Opteron 2435 (Istanbul) 2.6 GHz, 16 GB of DDR2-800 оперативной памяти, и SeaStar 2+ роутер. Всего он состоял из 224,256 вычислительных ядер, 300 TB памяти, и пиковой производительностью 2.3 petaflops.&lt;br /&gt;
&lt;br /&gt;
Объем данных составлял 84 ГБ, количество объектов (d-мерных векторов) n равнялось 1,024,767,667, размерность векторов &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; равнялась 22, количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; равнялось 1000. &lt;br /&gt;
&lt;br /&gt;
На рис. 1 показана зависимости времени работы алгоритма кластеризации k-means в зависимости от количества используемых процессоров. Можно отметить, что время, затраченное на чтение данных и запись результатов кластеризации, практически не изменяется с увеличением количества задействованных процессоров. Время же работы самого алгоритма кластеризации уменьшается с увеличением количества процессоров.&lt;br /&gt;
&lt;br /&gt;
[[Файл:k-means-proc-scalability.png|thumb|center|700px|Рис. 1. Зависимости времени работы алгоритма кластеризации k-means в зависимости от количества используемых процессоров (из работы: Kumar etc. 2011).]]&lt;br /&gt;
&lt;br /&gt;
Также было произведено самостоятельное исследование масштабируемости алгоритма k-means. Исследование производилось на суперкомпьютере &amp;quot;Blue Gene/P&amp;quot;&amp;lt;ref&amp;gt;http://hpc.cmc.msu.ru/bgp&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Набор и границы значений изменяемых параметров запуска реализации алгоритма:&lt;br /&gt;
&lt;br /&gt;
* число процессоров [1, 2, 4, 8, 16, 32, 64, 128, 256, 512];&lt;br /&gt;
* количество объектов [5000, 10000, 25000, 50000].&lt;br /&gt;
&lt;br /&gt;
Был использован набор данных &amp;#039;&amp;#039;Dataset for Sensorless Drive Diagnosis Data Set&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;PASCHKE, Fabian ; BAYER, Christian ; BATOR, Martyna ; MÃ–NKS, Uwe ; DICKS, Alexander ; ENGE-ROSENBLATT, Olaf ; LOHWEG, Volker: Sensorlose ZustandsÃ¼berwachung an Synchronmotoren, Bd. 46. In: HOFFMANN, Frank; HÃœLLERMEIER, Eyke (Hrsg.): Proceedings 23. Workshop Computational Intelligence. Karlsruhe : KIT Scientific Publishing, 2013 (Schriftenreihe des Instituts fÃ¼r Angewandte Informatik - Automatisierungstechnik am Karlsruher Institut fÃ¼r Technologie, 46), S. 211-225&amp;lt;/ref&amp;gt; из репозитория &amp;#039;&amp;#039;Machine learning repository&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;https://archive.ics.uci.edu/ml/datasets/Dataset+for+Sensorless+Drive+Diagnosis&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Исследуемый набор данных содержит векторы, размерность которых равна 49. Компоненты векторов являются вещественными числами. Количество кластеров равно 11. Пропущенные значения отсутствуют.&lt;br /&gt;
&lt;br /&gt;
На рис. 2 показана зависимости времени работы алгоритма кластеризации k-means в зависимости от количества используемых процессоров (использовались логарифмические оси). Разными цветами помечены запуски, соответствующие разным количествам объектам, участвующих в кластеризации. Можно видеть близкое к линейному увеличение времени работы программы в зависимости от количества процессоров. Также можно видеть увеличение времени работы алгоритма при увеличении количества объектов.&lt;br /&gt;
[[Файл:Plot_1.png|thumb|center|900px|Рис. 2. Зависимости времени работы алгоритма кластеризации k-means в зависимости от количества используемых процессоров.]]&lt;br /&gt;
&lt;br /&gt;
На рис. 3 показана эта же зависимость, только в трехмерном пространстве. По аналогии с рис. 2, были использованы логарифмические оси. Как и в случае двумерного рисунка, можно видеть близкое к линейному увеличение времени работы программы.&lt;br /&gt;
[[Файл:Kmeans-3d.png|thumb|center|900px|Рис. 3. Зависимости времени работы алгоритма кластеризации k-means в зависимости от количества используемых процессоров.]]&lt;br /&gt;
&lt;br /&gt;
= Динамические характеристики и эффективность реализации алгоритма =&lt;br /&gt;
= Результаты прогонов =&lt;br /&gt;
&lt;br /&gt;
= Литература =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Статьи в работе]]&lt;br /&gt;
&lt;br /&gt;
[[En:K-means clustering, scalability3]]&lt;/div&gt;</summary>
		<author><name>ASA</name></author>
	</entry>
</feed>