<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блоги &#187; pracing2009</title>
	<atom:link href="http://software.intel.com/ru-ru/blogs/tag/pracing2009/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/ru-ru/blogs</link>
	<description></description>
	<lastBuildDate>Thu, 24 May 2012 12:16:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Победители &quot;Параллельных гонок&quot;</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/06/11/2001515/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/06/11/2001515/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 17:32:59 +0000</pubDate>
		<dc:creator>Dmitry Oganezov (Intel)</dc:creator>
				<category><![CDATA[Intel Software Network]]></category>
		<category><![CDATA[Конкурсы и мероприятия]]></category>
		<category><![CDATA[Параллельное программирование]]></category>
		<category><![CDATA[11.06.2009]]></category>
		<category><![CDATA[pracing2009]]></category>
		<category><![CDATA[конкурс]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/06/11/2001515/</guid>
		<description><![CDATA[Всем привет! Искусством делать новости я владею не очень. Хотел было написать что-то в духе «российский программист решил величайшую математическую задачу современности», но… Надо как-нибудь записаться на мастер-класс к матерым журналистам, например, к Вильянову . А пока приходится писать по-простому: Ильнар Борханов второй раз подряд становится победителем конкурса от ISN-Russia. Это значит, что главный приз [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>Искусством делать новости я владею не очень. Хотел было написать что-то в духе «<em>российский программист решил величайшую математическую задачу современности</em>», но… Надо как-нибудь записаться на мастер-класс к матерым журналистам, например, к Вильянову <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>А пока приходится писать по-простому: <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66037/">Ильнар Борханов</a> второй раз подряд становится победителем <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/">конкурса от ISN-Russia</a>. Это значит, что главный приз - процессор<a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/#prizes"> Intel® Core™ i7-920 и материнка DX58SO</a> того же производителя уже совсем скоро отправятся к нему в Москву <span style="text-decoration: line-through;">Казань</span>. Ильнар, не забудьте написать во что выльется этот апгрейд <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
И мои поздравления, разумеется!</p>
<p>Лирическое отступление. Глупо отрицать - я изначально рассчитывал получить от кого-нибудь из участников работу, превосходящую по производительности грандов вроде QuickPi. Ильнар не дал умереть моим надеждам - пусть и на одной платформе, но его работа быстрее. Дело за малым: наши эксперты на нее внимательно посмотрят, вместе с Ильнаром подкрутят что следует, и будет всем счастье <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>Второе место с минимальным отрывом занимает <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66013/">Евгений Ключников</a> из Санкт-Петербурга, более известный как <a href="http://software.intel.com/ru-ru/profile/430508/">Eustas</a>. Евгений сделал ставку на масштабируемость, так что в относительно недалеком будущем его вариант превзойдет по производительности решение Ильнара. Это когда в типовом процессоре будет ядер 100 примерно. Надеюсь дожить до этого светлого момента <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>А еще отдельное спасибо Евгению за интересное <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66175/">развитие темы численной оценки масштабируемости</a>. Евгений, давайте продолжим этот разговор - мне это пригодится в следующем конкурсе!</p>
<p>Третье место – <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66070/">Николай Лабинский</a>, Украина, Донецк. Его работа демонстрирует хорошее сочетание производительности и масштабируемости. Что характерно, Николай сделал два различных решения на двух разных языках за два дня. Могу себе представить, что он мог бы сотворить за месяц <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Помимо <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/#prizes">материальных призов</a> я вышлю каждому победителю лицензию на <a href="http://software.intel.com/ru-ru/articles/intel-parallel-studio/">Intel® Parallel Studio</a>. Даже если вы не занимаетесь оптимизацией на своей основной работе,  в следующих наших конкурсах эта лицензия вам пригодится.</p>
<p>Еще раз всем спасибо за участие! Мне было весьма интересно, надеюсь и вам -тоже. Тем, кто не вошел в тройку лидеров, не стоит расстраиваться: подпишитесь на <a href="http://software.intel.com/ru-ru/blogs/category/events/">RSS ленту конкурсов ISN</a> и вы всегда будете знать последние новости.</p>
<p>И раз уж речь зашла о наших планах и конкурсах… Я только что закончил черновик очередного анонса. Не пугайтесь, никакого кодирования на этот раз <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  -  мне ведь тоже нужно иногда отдыхать. По большому секрету: новый конкурс будет запущен уже на следующей неделе, а анонс его будет звучать примерно так:</p>
<blockquote><p>«Приближается пора отпусков, и мы предлагаем провести оставшиеся перед долгожданным отдыхом дни весело и с пользой. Российская команда ISN приглашает к участию в конкурсе «Объясни на пальцах 2».  По сложившейся традиции, вам предстоит истолковать несколько терминов из области параллельного программирования. Причем сделать это нужно так, чтобы суть вопроса поняла даже ваша кошка <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . И если у вашей кошки плохое чувство юмора, у наших судей оно хорошее. Включайте свою фантазию  и постарайтесь найти веселое, короткое, и технически корректное объяснение знакомых понятий.</p>
<p>Мы не знаем, куда отправится отдыхать автор лучших объяснений, но наш приз - новенький нетбук Lenovo он точно возьмет с собой.»</p></blockquote>
<p>Всем удачи и хороших выходных! Оставайтесь на связи.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/06/11/2001515/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Параллельные гонки формула “Пи” – результаты</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/06/10/2001511/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/06/10/2001511/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 15:40:24 +0000</pubDate>
		<dc:creator>Dmitry Oganezov (Intel)</dc:creator>
				<category><![CDATA[Intel Software Network]]></category>
		<category><![CDATA[ISN календарь]]></category>
		<category><![CDATA[Конкурсы и мероприятия]]></category>
		<category><![CDATA[Параллельное программирование]]></category>
		<category><![CDATA[10.06.2009]]></category>
		<category><![CDATA[pracing2009]]></category>
		<category><![CDATA[конкурс]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/06/10/2001511/</guid>
		<description><![CDATA[Всем привет! Участники и болельщики районных соревнований программистов «Параллельные гонки» уже заждались результатов. Покорнейше прошу прощения за задержку! Все таблицы уже готовы, однако, давайте начнем с начала… А вначале я прочитал пост Максима Дмитриченко о его экспериментах с простеньким алгоритмом расчета Пи. В течение следующих нескольких дней число Пи преследовало меня и днем, и ночью: [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>Участники и болельщики районных соревнований программистов «<a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/">Параллельные гонки</a>» уже заждались результатов. Покорнейше прошу прощения за задержку! Все таблицы уже готовы, однако, давайте начнем с начала…</p>
<p>А вначале я прочитал <a href="http://software.intel.com/ru-ru/blogs/2009/01/13/openmp-linux/">пост Максима Дмитриченко</a> о его экспериментах с простеньким алгоритмом расчета Пи. В течение следующих нескольких дней число Пи преследовало меня и днем, и ночью: сперва я натолкнулся на Super Pi в папке со всяким хламом на домашнем компьютере, потом на пост <a href="http://software.intel.com/ru-ru/blogs/2009/03/17/2000772/">Джоэля</a> у него в блоге, потом на статью в википедии… Это судьба – подумал я <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>С доисторических времен IBM XT люди вычисляли Пи на персональных компьютерах решая свои доисторические задачи: в основном задачи бенчмаркинга (чтобы потом померяться) и задачи стресс-тестирования разогнанных систем (опять же, чтобы померяться <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Увы, и ах, но у современного человека ядер больше одного. А это значит, что древние <span style="text-decoration: line-through;">способы померяться</span> средства вычисления Пи не в состоянии разогреть процессор выше комнатной температуры. Ситуацию нужно как-то менять, - решил я. Так и появилось <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-rules/">конкурсное задание</a>: написать быструю реализацию вычисления Пи с заделом лет на 10 вперед. То есть реализацию, показывающую хорошие результаты на компьютерах с количеством ядер от двух до двухсот (данное предложение не содержит конфиденциальной информации о планах выпуска продукции Intel; это просто поток сознания автора <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Соответственно появились идея ввести два критерия оценки результатов. Критерий наших реалий - абсолютная производительность на современном серийном процессоре. И критерий масштабируемости, суть есть задел на будущее. Я намеренно уравнял значимость критериев, чтобы дать участникам достаточный  простор для деятельности: каждый был волен действовать в интересах настоящего или будущего, или и того, и другого.</p>
<p>Ну а потом началась битва. Первым свою работу прислал <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66037/">ilnarb</a>, он сделал ставку на производительность. Потом был <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66013/">eustas</a>, который явно проигрывал в производительности, но демонстрировал хорошую масштабируемость. Как и ожидалось, в последний день меня просто завалили вариациями самых разных алгоритмов и усовершенствований. Было несколько реализаций Чудновского, Беллард, Бэлей-Борвейн-Плоффе, и еще какие-то, которые я не смог идентифицировать.</p>
<p>Выяснилось, что алгоритм Чудновского с точки зрения масштабируемости оставляет желать. Из всех просмотренных мной вариантов ни один не показывает адекватного прироста скорости начиная с &gt;четырех ядер. Хотя, безусловно, он лучший с точки зрения «актуальной» производительности. Ведь сейчас 2-4 ядра – это мэйнстрим. Вероятно, поэтому данный алгоритм и выбрали еще двое  участников: <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66073/">unnamed_ages</a> и <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66078/">m_krivov</a>.</p>
<p>Если смотреть в будущее, то решения участников <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66013/">eustas</a> и <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66070/">labinskiy</a> оказались куда лучше масштабируемыми. По крайней мере, программка eustas-а – отличный стресс-тест! Грузит все 24 ядра на 99%.</p>
<p>Надо заметить, что кроме выбора стратегии участников поджидало множество других трудностей: перенос приложений на 64-битные платформы, баги в библиотеках, реализация таймера, сессия... К счастью, большинство трудностей были преодолены или ловко обойдены ценой нескольких бессонных ночей, сотен мегабайтов трафика, десятков часов прогонов на различных системах и прочей атрибутики, присущей любому программисту переживающему релиз.</p>
<p>Много букв? Терпение, уже почти все, мне осталось только рассказать о небольших изменениях в методе расчета масштабируемости. И можно отправляться смотреть турнирные таблицы. Я вынужден признать свое поражение: Дмитрий Вьюков и Алексей Куканов <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/65391/">сходу раскритиковали</a> мой подход. Он действительно не учитывал одного важного факта: данные-то у нас ненормализованные. Поэтому я несколько изменил начальный алгоритм:</p>
<ol>
<li>Приводим результаты исполнения на трех платформах к «ядрогерцу», то есть делим полученный результат на количество ядер и на частоту. Получается производительность, показанная в пересчете на 1 ядро в 1 гигагерц. Например, программа выдала 1 590 290 знаков. Делим на 2 ядра и на 1.83, получаем 434 505 знаков для Core 2 Duo E6320.</li>
<li>Нормализуем приведенный к «ядрогерцу» результат по самой слабой платформе. Получается падение (или прирост) производительности по отношению к младшей тестовой платформе. Например, принять E6320 за единицу, то Core i7 показывает 0.476, а Xeon E7450 * 4 = 0.076.</li>
<li>Считаем STDEV (именно отклонение, а не среднее т.к. нас интересует линейность результатов), и по наименьшему среднеквадратическому отклонению получаем расстановку сил…</li>
<li>…По которой и начисляем очки используя логарифмическую шкалу.</li>
</ol>
<p>Ну а теперь главное:  результаты занесены в <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-rating/">турнирную таблицу</a>, вот <a href="http://software.intel.com/file/19754">здесь</a> можно скачать файл MS Excel со всеми формулами.</p>
<p>Почему я не спешу объявлять победителей и открывать шампанское? Дело в том, что я мог где-то ошибиться, напутать с цифрами, сделать что-то еще не так. Пожалуйста, проверьте меня. Если все нормально, то завтра вечером мы торжественно объявим победителей на основании общего рейтинга. А если есть замечания – пишите!</p>
<p>Да, и еще: обсуждение конкурса предлагаю продолжить в <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/66172/">форуме</a>. Все пожелания, мнения, советы пишем туда – мне все интересно. У меня ведь масса идей в запасе, знаете ли <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Насколько интересным будет следующий конкурс зависит только от вас.</p>
<p>Удачи!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/06/10/2001511/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Параллельные гонки: финишная прямая</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/06/02/2001471/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/06/02/2001471/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 17:11:11 +0000</pubDate>
		<dc:creator>Dmitry Oganezov (Intel)</dc:creator>
				<category><![CDATA[ISN календарь]]></category>
		<category><![CDATA[Конкурсы и мероприятия]]></category>
		<category><![CDATA[Разработка софта]]></category>
		<category><![CDATA[02.06.2009]]></category>
		<category><![CDATA[pracing2009]]></category>
		<category><![CDATA[конкурс]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/06/02/2001471/</guid>
		<description><![CDATA[Всем привет! Тем, кто участвует в конкурсе «Параллельные гонки» осталось чуть более трех дней на доработку решений. На данный момент получено три работы, две уже внесены в турнирную таблицу, третья на подходе. Напомню, что по условиям конкурса участники имеют право присылать несколько версий своих работ. Это значит, что даже если вы еще не достигли просветления [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>Тем, кто участвует в конкурсе «<a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/">Параллельные гонки</a>» осталось чуть более трех дней на доработку решений. На данный момент получено три работы, две уже внесены в <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-rating/">турнирную таблицу</a>, третья на подходе. Напомню, что по <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-rules/">условиям</a> конкурса участники имеют право присылать несколько версий своих работ. Это значит, что даже если вы еще не достигли <span style="text-decoration: line-through;">просветления</span> совершенства – имеет смысл сделать первую пробу. Еще есть шанс успеть сделать более чем одну итерацию.</p>
<p>Несмотря на довольно низкую активность конкурсантов, мы коллегиально <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/65922/">решили</a> не менять правила конкурса. Тем не менее, я позволил себе сделать кое-какие незначительные  послабления: давайте будем считать, что допустимая погрешность измерений не 5%, а 10.  Дело в том, что некоторые алгоритмы не позволяют оценить время расчетов с необходимой точностью, и увеличение погрешности это отчасти компенсирует. Но! Сильно надеюсь, что уважаемые участники не станут злоупотреблять «лишними» секундами.</p>
<p>Пару слов о текущих трудностях. Их много <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>1)<span> </span>Как уже неоднократно писали в прессе, нужно быть внимательным к 64-битным системам. Производительность неоптимизированных под 64 бита приложений существенно ниже, чем того хотелось бы. Как с этим бороться? Советую начать с чтения очень хорошей статьи Андрея Карпова «<a href="http://software.intel.com/ru-ru/articles/64-bit-migration-7-steps">7 шагов по переносу программы на 64-битную систему</a>».</p>
<p>2)<span> </span>Алгоритмы. Собственно, есть два подхода: быстрые, но относительно плохо распараллеливаемые алгоритмы типа Чудновских, и относительно медленные, но хорошо масштабируемые алгоритмы типа Plouffe-Bellard. Тут-то и нужно вспомнить о том, что у нас есть такой критерий оценки конкурсных работ, как масштабируемость…</p>
<p>3)<span> </span>…которая, собственно, является следующей трудностью. Я достойно воспринял <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/65391/">критику</a><a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-rules/"> предложенного метода</a> оценки масштабируемости, и завтра попробую опубликовать детальный пост по этому поводу. Эх, уже предчувствую, как мне достанется! <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>4)<span> </span>Frameworks со сложными требованиями… Категорически приветствуя различные среды выполнения, хотелось бы отметить: давайте четко разделять прикладную задачу и Framework. Например, если вы пишите под .NET, то исполняемым файлом будет простая .NET сборка. В дополнительных требованиях укажите, какой именно Framework требуется. Этим вы облегчите мою жизнь, и позволите другим убедиться в преимуществах используемой вами технологии. То же касается рантайм библиотек.</p>
<p>5)<span> </span>Организационная трудность, она же – самая большая ТРУДНОСТЬ. Планируя данный конкурс, я принципиально решил не использовать рекламу. Несмотря на майский «глухой» период, сессию, глобальный конкурс «Threading Challenge» - мне хотелось проверить как работает эта система. Информация о конкурсе распространялась по сети «из рук в руки». Огромное спасибо Дмитрию Вьюкову и всем тем, кто разместил объявление о конкурсе у себя в блогах и в форумах. А нам, организаторам, предстоит  серьезная работа по улучшению social media маркетинга.</p>
<p>Ну и напоследок: в какой-то степени задача «максимум» данного конкурса выполнена. А именно: решение пользователя <a href="http://software.intel.com/ru-ru/forums/contest-parallel-racing/topic/65950/">ilnarb</a> превосходит по производительности QuickPi (!) на одной из тестовых платформ. Респект!</p>
<p>Всем удачи!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/06/02/2001471/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Стартовал конкурс «Параллельные гонки»</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/05/05/2001191/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/05/05/2001191/#comments</comments>
		<pubDate>Tue, 05 May 2009 15:09:10 +0000</pubDate>
		<dc:creator>Dmitry Oganezov (Intel)</dc:creator>
				<category><![CDATA[Intel Software Network]]></category>
		<category><![CDATA[ISN календарь]]></category>
		<category><![CDATA[Конкурсы и мероприятия]]></category>
		<category><![CDATA[Параллельное программирование]]></category>
		<category><![CDATA[05.05.2009]]></category>
		<category><![CDATA[pracing2009]]></category>
		<category><![CDATA[конкурс]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/05/05/2001191/</guid>
		<description><![CDATA[Всем привет! Ну что, настало время взрослых состязаний? Мы официально объявляем конкурс «Параллельные гонки: формула ‘π’» открытым. Шины прогреты, ограждение на трассе установлено. Тестовые машины подготовлены, и я закончил публикацию официальных документов. Получилось слегка витиевато, как и положено писать официальные бумаги. Под вечер попробую изложить то же самое коротко, простым человеческим языком. Начну с призов. [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>Ну что, настало время взрослых состязаний? Мы официально объявляем конкурс <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/">«Параллельные гонки: формула ‘π’»</a> открытым. <span style="text-decoration: line-through;">Шины прогреты, ограждение на трассе установлено.</span> Тестовые машины подготовлены, и я закончил публикацию официальных документов. Получилось слегка витиевато, как и положено писать официальные бумаги. Под вечер попробую изложить то же самое коротко, простым человеческим языком.</p>
<p><a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/#prizes"><img class="size-full wp-image-2001190" title="Призы конкурса 'Параллельные гонки'" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/corei7.png" alt="Призы конкурса 'Параллельные гонки'" width="200" height="187" align="left" /></a></p>
<p>Начну с <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/#prizes">призов</a>. Итак, победитель получит набор из процессора <a href="http://www3.intel.com/cd/products/services/emea/rus/processors/corei7/406043.htm">Core i7</a> и материнской платы <a href="http://www3.intel.com/cd/products/services/emea/rus/motherboards/408047.htm">Intel DX58SO</a>. Полагаю, что победит профессиональный программист, поэтому еще один приз – лицензия на набор профессиональных же инструментов для разработки параллельных приложений <a href="http://software.intel.com/ru-ru/articles/intel-parallel-studio/">Intel® Parallel Studio</a>.<br />
Те, кто займет второе и третье места тоже получат Parallel Studio, а еще беспроводные наушники <a href="http://www.sennheiser.ru/catalog/senn-phones/home-phones/wireless/wireless_32.html">Sennheiser RS-120</a>.</p>
<p>Кстати, насчет наушников – я сам к таким присматриваюсь, так что давайте договоримся – призеры, напишите мне потом, понравилось ли вам звучание этих Зенхейзеров.</p>
<p>Теперь о <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/">задании</a>. Надо написать параллельную программу, вычисляющую константу π (та, что 3.1415926535…) с максимально возможной точностью, причем за заданное время – 60 секунд. Просто? А вот и посмотрим <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Постоянные читатели ISN блога наверное уже заметили, что я алгоритмами расчета Пи уже <a href="http://software.intel.com/ru-ru/blogs/2009/03/17/2000772/">давненько интересуюсь</a>. Известных формул существуем великое множество, часть из них практически не распараллеливается, часть распараллеливается  так себе, а часть – распараллеливается хорошо, но считается медленно.  Следовательно, конкурс будет с интригой: оценивать конкурсные работы мы будем как по критерию абсолютной производительности, так и с точки зрения масштабируемости на машинах от 2-х до 24-х ядер. Причем весовые коэффициенты равны, так что конкурсантам предстоит подумать о стратегии: самое быстрое приложение может оказаться плохо масштабируемым, и приз достанется кому-то другому.</p>
<p>Это еще не все сложности. Третьим критерием будет критерий «оперативность». Суть его в том, что из двух конкурсных работ при прочих равных победит та, которую прислали раньше.</p>
<p>Довольно о сложностях, давайте о приятном. Вы можете присылать несколько версий своей работы, и практически не отходя от кассы увидеть свой рейтинг в <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-rating/">турнирной таблице</a>. Если кто-то умудрился получить более высокий рейтинг, а у вас есть потенциал для оптимизации, – присылаете следующую версию, получаете новый рейтинг.</p>
<p>О рейтингах подробно написано на <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-main/">главной странице</a> и в <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-rules/">официальных правилах</a>, поэтому в блоге поговорим о том “как на самом деле система работает”. Для примера возьмем программку QuickPi v4.5 – это, пожалуй, самая быстрая штуковина для расчета Пи (для настольных компьютеров), а соревноваться она будет с программой PiFast v4.3.</p>
<p>Прогон на базовой тестовой системе (кстати, <a href="http://software.intel.com/ru-ru/articles/contest-parallel-racing-formula-pi-testing/">описание тестовых систем</a>) дал такие результаты:</p>
<p><img class="wp-image-2001192 alignnone" style="margin: 4px;" title="performance_rating_sample" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/performance_rating_sample.png" alt="" width="307" height="133" /></p>
<p>Глядя на эти данные видно, что QuickPi уделывает PiFast вдвое. Интересно, связано ли это как-то с разницей в значении слов Quick и Fast? <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Но не будем делать преждевременных выводов – поехали дальше... Прогон на трех тестовых системах дал вот такую картинку рейтинга масштабируемости:</p>
<p><img class="alignnone size-full wp-image-2001194" style="margin: 4px;" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/scalability_rating_sample.png" alt="" width="678" height="135" /></p>
<p>Где “1core 1Ghz” – значение производительности в десятичных знаках, приведенное к условно одному ядру, работающему на условной частоте в один условный гигагерц. А среднее квадратическое отклонение – показатель разброса результатов от среднего значения, или по-простому формула STDEVP в Excel. Таким образом, PiFast оказался более медленным, но лучше масштабируемым. Что делать? Нам на помощь приходит критерий оперативности. Предположим, что мы получили PiFast на 5 дней позже. Суммарный рейтинг будет выглядеть таким образом:</p>
<p><img class="alignnone size-full wp-image-2001195" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/absolute_rating_sample.png" alt="" width="456" height="132" /></p>
<p>И QuickPi становится абсолютным чемпионом.<br />
Впрочем, это мы еще посмотрим <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  - я уверен, что кто-то из вас напишет программу, которая будет еще быстрее.</p>
<p>Напоследок: одна из самых коротких программ, написанная неким Dik T. Winter состоит всего из 160 символов и выглядит так:</p>
<pre name="code" class="cpp"> int a=10000,b,c=2800,d,e,f[2801],g;
main()
{for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}
</pre>
<p>К сожалению, считает только 800 знаков.</p>
<p>Всем удачи в конкурсе! Завтра напишу, что у меня получилось  из алгоритма, который упоминал <a href="http://software.intel.com/ru-ru/blogs/2009/01/13/openmp-linux/">Максим Дмитриченко</a> в своем блоге.</p>
<p>ЗЫ. Как обычно начать размышления советую с <a href="http://ru.wikipedia.org/wiki/%D0%9F%D0%B8">википедии</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/05/05/2001191/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Анонс конкурса «Параллельные гонки»</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/04/30/2001170/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/04/30/2001170/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 11:54:58 +0000</pubDate>
		<dc:creator>Dmitry Oganezov (Intel)</dc:creator>
				<category><![CDATA[ISN календарь]]></category>
		<category><![CDATA[Конкурсы и мероприятия]]></category>
		<category><![CDATA[Параллельное программирование]]></category>
		<category><![CDATA[04.05.2009]]></category>
		<category><![CDATA[pracing2009]]></category>
		<category><![CDATA[конкурс]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/04/30/2001170/</guid>
		<description><![CDATA[Всем привет! В то время как сообщество замерло в ожидании официальных результатов первого задания Threading Challenge и в предвкушении майских праздников, русская часть команды ISN сосредоточенно работает над новым конкурсом. Оркестр, туш! Итак, в понедельник, 4 мая, мы официально объявим задание конкурса «Параллельные гонки, первый этап 2009 года». Надеюсь, конкурс будет интересным - как для [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>В то время как сообщество замерло в ожидании официальных результатов первого задания Threading Challenge и в предвкушении майских праздников, русская часть команды ISN сосредоточенно работает над новым конкурсом.</p>
<p>Оркестр, туш!</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-2001171" style="margin-top: 4px; margin-bottom: 4px; border: 0px;" title="конкурс Параллельные гонки" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/pracing_v2.jpg" alt="конкурс Параллельные гонки" /></p>
<p>Итак, в понедельник, 4 мая, мы официально объявим задание конкурса «Параллельные гонки,<br />
первый этап 2009 года». Надеюсь, конкурс будет интересным - как для постоянных участников сообщества ISN, так и для вновь прибывших.  По крайней мере, мы постарались учесть все ваши предложения, сделанные вот <a href="http://software.intel.com/ru-ru/blogs/2009/03/24/help/">тут</a>.</p>
<p>Добавлю интриги: сам себе задам некоторые вопросов, и сам же на них отвечу <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  :</p>
<ul>
<li>Зачем нам еще один конкурс?<br />
<em>Действительно, многие наши коллеги-программисты уже бьются за главный приз конкурса «Threading Challenge». Это глобальное и достаточно длительное мероприятие. Нам же хотелось устроить что-то свое, я бы сказал - семейное. Что-то, что мы могли бы обсудить и о чем поспорить на нашем родном русском языке.</em></li>
<li>Можно ли принимать участие в нескольких конкурсах сразу?<br />
<em>Почему бы и нет? Если время вам позволяет – милости просим!</em></li>
<li>Какова продолжительность конкурса «Параллельные гонки»?<br />
<em>1 месяц - с 4 мая по 4 июня 2009 года</em></li>
<li>Какую задачу нужно будет решить?<br />
<em>Это пока секрет. Скажу только, что задача будет связана с программированием, а критериями успешности ее решения будут абсолютная производительность, масштабируемость на современных многоядерных платформах, плюс наименьшее время имплементации.</em></li>
<li>Какой планируется приз?<br />
<em>Ценный <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Мы позаботились о том, чтобы потраченное вами время и продемонстрированное мастерство были достойно вознаграждены.</em></li>
<li>Кто будет судить конкурс?<br />
<em>Я торжественно провозглашаю себя главным судьей, потому что из всех моих коллег я хуже всех понимаю в программировании. Значит, мне и быть главным. Те, кто понимает, будут  помогать мне своими мудрыми советами.</em></li>
</ul>
<p>Я понимаю, что мои вопросы и ответы только окончательно все запутали. Ничего страшного, - задавайте свои, а я на них обязательно отвечу.</p>
<p>Всем удачи! Теплых вам майских праздников!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/04/30/2001170/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

