<?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"
	>

<channel>
	<title>Блоги Intel® Software Network &#187; Академическое сообщество</title>
	<atom:link href="http://software.intel.com/ru-ru/blogs/category/academic/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/ru-ru/blogs</link>
	<description></description>
	<pubDate>Sun, 22 Nov 2009 20:40:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Использование суперкомпьютеров в промышленности</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/11/18/2002566/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/11/18/2002566/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 07:10:50 +0000</pubDate>
		<dc:creator>ialexander</dc:creator>
		
		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Параллельное программирование]]></category>

		<category><![CDATA[Разработка софта]]></category>

		<guid isPermaLink="false">http://origin-software.intel.com/ru-ru/blogs/2009/11/18/2002566/</guid>
		<description><![CDATA[В соседней записи Долой летнее время обсуждается пара вопросов поднятых Дмитрием Медведевым в своем Послании федеральному собранию. В этом послании поднимается и другая более близкая нам тема об использовании суперкмопьютеров:
И, наконец, пятая приоритетная задача - развитие стратегических и информационных технологий. В России должен быть в полном объёме задействован потенциал суперкомпьютеров, суперкомпьютерных систем, которые объединены высокоскоростными [...]]]></description>
			<content:encoded><![CDATA[<p>В соседней записи <a href="http://software.intel.com/ru-ru/blogs/2009/11/13/2002532/">Долой летнее время</a> обсуждается пара вопросов поднятых Дмитрием Медведевым в своем <a href="http://www.kremlin.ru/transcripts/5979">Послании федеральному собранию</a>. В этом послании поднимается и другая более близкая нам тема об использовании суперкмопьютеров:</p>
<blockquote><p>И, наконец, пятая приоритетная задача - развитие стратегических и информационных технологий. В России должен быть в полном объёме задействован потенциал суперкомпьютеров, суперкомпьютерных систем, которые объединены высокоскоростными каналами передачи данных. С их помощью уже в пятилетней перспективе станет возможным проектирование новейших самолётов и космических аппаратов, автомобилей и ядерных реакторов. Ведь сложная техника, не прошедшая суперкомпьютерного моделирования, что называется, не положенная в цифру, через несколько лет просто не будет востребована рынком. И для завоевания здесь конкурентных позиций мы обязаны настойчиво работать.</p></blockquote>
<p>Как это ни печально осознавать, но использование суперкомпьютеров в нашей промышленности находится на очень низком уровне. Медведев уже не в первый раз говорит об этом, но особых подвижек пока нет.</p>
<p>Можно говорить о том, что наш наши КБ и НИИ безинициативны и не делают использовать доступные вычислительные мощности. Но вот вам обратный пример: <a href="http://www.jinr.ru/default.asp?language=rus">Институт объединенных ядерных исследований</a> при выполнении зарубежных заказов по проектированию циклотронов был вынужден использовать обычный персональный компьютер, неизвестно, чем бы завершились проекты, но ребятам удалось использовать видеоадаптер для значительного ускорения вычислений в рамках проекта "CBDA: Cyclotron Beam Dynamics Analysis". С другой стороны университетские кластеры просто простаивают. К примеру, кластер МГТУ им. Баумана загружен всего на несколько процентов, по словам инсайдеров.</p>
<p>В России есть отдельные проекты, которые пытаются решить эту задачу, например, <a href="http://caebeans.susu.ru/">CAEBeans</a> под руководством проф. Л.Б. Соколинского, ЮУрГУ. Другой пример: проект <a href="http://dcs.isa.ru/wiki/staff/taras/projects/mathcloud">MathCloud</a> Алексея Тарасова из ИСА РАН.</p>
<p>Но все эти проекты как-то разрознены, нет единой системы, они как капля в море и ситуации не меняют. Может быть, для прорыва в этой области требуется некоторая критическая масса таких проектов. А может уже сегодня сильные мира сего могут предпринять шаги по созданию системы, объединяющией проекты, созданию единого информационного пространства в этой области. Ведь не секрет, что представители промышленности не слишком часто посещают научные конференции по параллельным вычислениям и не могут знать о такого рода проектах, и что, вообще, ведутся работы.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/11/18/2002566/feed/</wfw:commentRss>
		</item>
		<item>
		<title>По теплым следам онлайн семинара "Intel(R) Parallel Studio workflow"</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/11/09/intelr-parallel-studio-workflow/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/11/09/intelr-parallel-studio-workflow/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 14:48:36 +0000</pubDate>
		<dc:creator>Kirill Mavrodiev (Intel)</dc:creator>
		
		<category><![CDATA[Intel Software Network]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Конкурсы и мероприятия]]></category>

		<category><![CDATA[Параллельное программирование]]></category>

		<category><![CDATA[Parallel Studio]]></category>

		<category><![CDATA[Tachyon]]></category>

		<category><![CDATA[онлайн семинар]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/11/09/intelr-parallel-studio-workflow/</guid>
		<description><![CDATA[Хочу поделиться своими впечатлениями о первом в русскоязычном сообществе онлайн-семинаре от Intel. Вебинар назывался “Intel® Parallel Studio workflow” и был посвящен одному из подходов к распараллеливанию и оптимизации последовательных приложений, на примере трассировщика лучей Tachyon.]]></description>
			<content:encoded><![CDATA[<p>Хочу поделиться своими впечатлениями о первом в русскоязычном сообществе онлайн-семинаре от Intel. Вебинар назывался “Intel® Parallel Studio workflow” и был посвящен одному из подходов к распараллеливанию и оптимизации последовательных приложений, на примере трассировщика лучей Tachyon.</p>
<p>Данный подход называют “Распараллеливание черного ящика”. Он состоит из 4х основных шагов:</p>
<ul>
<li>этап поиска мест, где параллелизм наиболее эффективен;</li>
<li>этап программной реализации распараллеливания;</li>
<li>этап отладки работы уже параллельного приложения;</li>
<li>этап повышения эффективности распараллеливания.</li>
</ul>
<p>Для каждого этапа я использовал один из компонентов инструментария Intel® Parallel Studio: <em>Parallel Amplifier</em> – Hotspots, <em>Parallel Composer</em>, <em>Parallel Inspector</em> и <em>Parallel Amplifier</em> – Concurrency и Lock and Waits, соответственно. Первому шагу я уже посвятил один из своих блогов: <a href="http://software.intel.com/ru-ru/blogs/2009/10/26/2002338/">http://software.intel.com/ru-ru/blogs/2009/10/26/2002338/</a>. Я планирую опубликовать блоги по оставшимся этапам. Так что у вас будет возможность задать вопросы, которые вы не задали на семинаре.</p>
<p>Теперь о моих впечатлениях: Не хочу обидеть Нижегородцев, но я очень рад тому, что география аудитории онлайн-семинара оказалась довольно обширной: начиная дальним востоком России и заканчивая средней Европой. Попытаюсь объяснить почему. В силу своего географического расположения, студенты Нижнего Новгорода имеют возможность как минимум 1 раз в квартал посещать технические семинары, которые проводят инженеры компании Intel «в живую». У студентов других городов такой возможности, к сожалению, нет. Мне самому повезло, так как во время учебы я принимал участие (приезжал из Уфы) в Зимней школе 2005 и в Летней школе 2007 от компании Интел, которые проходили в Нижнем Новгороде. Таким образом, к окончанию учебы я уже знал, какие знания и какой опыт от меня будит требовать работодатель.</p>
<p>Вести онлайн семинар оказалось гораздо труднее, чем в живую. Во-первых, во время семинара я не мог понять, насколько интересно и понятно содержание презентации и демонстраций, т.к. нет ран-тайм общения с аудиторией. К примеру, когда я вижу, что большая часть засыпает или нет вообще никаких вопросов со стороны слушателей, то я стараюсь повернуть русло в другую сторону и попытаться заинтересовать аудиторию. Если это не в 8-9 утра, конечно :). Во-вторых, это задержка видео и звукового сигнала. Когда логически переходишь к новому слайду или картинке, но аудитория еще не видит ее, это порой сбивает с мысли. Этот список можно продолжать. Но, как говорится, ”Первый блин комом”. Мы постараемся учесть все ошибки, и следующий “вебинарь” получится лучше с технической точки зрения. Предлагаю обсудить ваши впечатления. Пользуясь случаем, хочу задать вопрос: какие онлайн семинары вы бы хотели посетить?. Стоит заметить, что я уже получил запросы на подробное описание Advanced Vector Extension (AVX) и Intel® Parallel Debugger Extension (PDE).</p>
<p>Я думаю, что мы найдем специалистов, которые поделятся с вами своими знаниями и опытом. Надеюсь на то, что встречаться с вами на онлайн семинарах станет хорошей традицией.</p>
<p>Спасибо Вам, Спасибо Диме и Маше!</p>
<blockquote><p>Add-on от <a href="http://software.intel.com/ru-ru/blogs/author/dmitry-oganezov/">Дмитрия</a>:</p>
<p>Да пожалуйста! :). Пользуясь правами администратора ISN, я беспардонно влезу в эту запись чтобы еще раз поблагодарить Кирилла :). Кирилл, ты у нас первопроходец! И не только в плане самого что ни на есть первого русского вебинара. Я внимательно посмотрел на вебинары наших зарубежных коллег, и вот что оказалось: мы первые, кто показывает на вебинаре case study: не просто презентацию, а живые демки. Впрочем, довольно петь друг другу дифирамбы: недостатков тоже хватало! Как уже сказал Кирилл, ваши отзывы и пожелания принимаются в виде комментариев к этой записи. Заранее спасибо.</p></blockquote>
<p>Ссылки по теме:<br />
Посмотреть вебинар в записи можно <a href="http://intelwebinars.na6.acrobat.com/p45462250/">здесь</a> (извините, первые минут 5 «потерялись»).<br />
Исходники проекта Tachyon на разных стадиях оптимизации лежат <a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon-parallelstudio.zip">здесь</a>.<br />
<a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon-step-by-step.doc">Описание</a> процесса сборки Tachyon.<br />
Скачать триальную версию Intel® Parallel Studio можно <a href="http://software.intel.com/sites/products/irc/StudioEvalForm6.html">здесь</a>.</p>
<p>Всем удачи!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/11/09/intelr-parallel-studio-workflow/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Лето с Intel для профессионального роста: знакомьтесь с победителями!</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/10/27/intel-5/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/10/27/intel-5/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 07:16:55 +0000</pubDate>
		<dc:creator>Svetlana Emelyanova (Intel)</dc:creator>
		
		<category><![CDATA[ISN календарь]]></category>

		<category><![CDATA[Intel Software Network]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Конкурсы и мероприятия]]></category>

		<category><![CDATA[26.10.2009]]></category>

		<category><![CDATA[summer school]]></category>

		<category><![CDATA[конкурс]]></category>

		<category><![CDATA[летняя школа]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/10/27/intel-5/</guid>
		<description><![CDATA[Как мы и обещали, вчера - 26 октября, официально были объявлены <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-winners/">победители</a> конкурса «<a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/">Лето с Intel для профессионального роста</a>». Приглашаю всех вас присоединиться к поздравлениям ребят. Они этого действительно заслужили!]]></description>
			<content:encoded><![CDATA[<p>Всем доброго времени суток!</p>
<p>Как мы и обещали, вчера - 26 октября, официально были объявлены <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-winners/">победители</a> конкурса «<a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/">Лето с Intel для профессионального роста</a>». Целую неделю длилось судейство, в котором приняли участие инженеры и менеджеры Intel. Кстати, количество <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/#judges">судей</a> было немногим меньше числа участников. Так что оценки каждого хоть и были субъективными, но окончательные результаты на 100% объективны. Те, кто читали <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-entries/">конкурсные работы</a>, согласятся, что все проекты «школьников» очень интересные, поэтому выбрать лучшие из лучших было очень непросто. Мы бы с радостью вручили по нетбуку каждому участнику. Но сами понимаете, экономический кризис… да и конкурс предполагает только 3 призовых места. И победителей выбирать нам все-таки пришлось. С довольно большим отрывом определилась явная тройка лидеров:</p>
<p><strong>1 место</strong>: Сергей Гризан и Максим Кривов - <a href="http://software.intel.com/ru-ru/articles/tbb_async_io/">Разработка примера использования библиотеки Intel® Threading Building Blocks</a>.<br />
<strong>2 место</strong>: Сергей Лесько - <a href="http://software.intel.com/ru-ru/articles/JamBreak/">Набор сервисов для предотвращения образования автомобильных “пробок”</a>.<br />
<strong>3 место</strong>: Наталья Зайцева - <a href="http://software.intel.com/ru-ru/articles/Physical_modeling_of_destruction_for_game_engine/">Разработка физической модели разбиения твердого тела для игрового движка</a>.</p>
<p>Мои сердечные поздравления победителям и огромное спасибо всем участникам, за то что нашли время принять участие в конкурсе! Ваши работы позволили взглянуть на Летнюю школу с новой стороны, при всех ее многочисленных достоинствах увидеть и недостатки.</p>
<p>Вообще, все <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/#judges">члены судейской комиссии</a> были приятно удивлены профессиональным уровнем участников. Кто-то оставлял комментарии к статьям на сайте, кто-то лично нам при сообщении оценок. И мне хотелось бы привести несколько отзывов о работах победителей…и не только победителей. Положительные отзывы читать всегда приятно, и, думаю, все вы с ними согласитесь. Ребята действительно просто молодцы!</p>
<p><a href="http://software.intel.com/ru-ru/articles/tbb_async_io/">Разработка примера использования библиотеки Intel® Threading Building Blocks</a><br />
<em>Читается легко. Все понятно. Глубина смысла есть, сам давно хотел сделать универсальный асинхронный ввод-вывод, а, оказывается, все уже готово. Спасибо автору! <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </em><br />
--<em>Николай Куртов</em></p>
<p><a href="http://software.intel.com/ru-ru/articles/JamBreak/">Набор сервисов для предотвращения образования автомобильных “пробок”</a><br />
<em>Я был идеологом данного конкурса, и как-то заранее не подумал о том, что уровень аспиранта может существенно отличаться от уровня студента. Думаю излишне даже говорить о том, что и выбранная тема, и статья, весьма актуальны и очень востребованы.</em><br />
--<em>Дмитрий Оганезов</em></p>
<p><a href="http://software.intel.com/ru-ru/articles/Physical_modeling_of_destruction_for_game_engine/">Разработка физической модели разбиения твердого тела для игрового движка</a><br />
<em>Весьма хорошее теоретическое введение в достаточно специфическую область, а также неплохой практический результат. Возможно работа будет полезна при создании демо-приложений для Larrabee. </em><br />
--<em>Дмитрий Марочко</em></p>
<p><a href="http://software.intel.com/ru-ru/articles/potential_opportunities_of_cache_optimizations/">Инструмент для поиска потенциальных возможностей проведения кэш-оптимизаций</a><br />
<em>Еще немного - и уровень статьи для журнала  <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em><br />
--<em>Валерий Курякин</em></p>
<p><a href="http://software.intel.com/ru-ru/articles/semantic-information-retrieval/">Извлечение семантической информации из фотографий</a><br />
<em>Идея то хороша, да путь к ее реализации весь в терниях, в частности алгоритмы детектирования-распознавания оставляют желать лучшего… это работа не одиночки. Но - желаю успеха!</em><br />
--<em>Валерий Курякин</em></p>
<p><a href="http://software.intel.com/ru-ru/articles/remote-performance-test-service/">Сервис удалённого тестирования производительности ПО на различных программно-аппаратных конфигурациях</a><br />
<em>Было бы полезно. Ставлю 5 звёзд. Сам думал о такой идее, но несколько меньших масштабов. Доступ к множеству различных платформ имеют единицы, а тестировать было бы полезно.</em><br />
--<em>Дмитрий Вьюков</em></p>
<p>Конечно, хотелось бы привести все-все комментарии, но, боюсь, тогда этот пост до конца вы даже не пролистаете. Поэтому приглашаю вас самих присоединиться к поздравлениям  ребят и надеюсь, что вы еще расширите этот список отзывов о работах и конкурсе вцелом. Ведь подобный конкурс мы проводили впервые и хотелось бы знать насколько вам, как «зрителям», он был интересен, и стоит ли повторять подобные мероприятия в будущем.</p>
<p>Всем удачи и роста...профессионального, конечно <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/10/27/intel-5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Распараллеливание черного ящика.(ч.1)</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/10/26/2002338/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/10/26/2002338/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 12:16:56 +0000</pubDate>
		<dc:creator>Kirill Mavrodiev (Intel)</dc:creator>
		
		<category><![CDATA[Intel Software Network]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Графика]]></category>

		<category><![CDATA[Конкурсы и мероприятия]]></category>

		<category><![CDATA[Параллельное программирование]]></category>

		<category><![CDATA[Разработка софта]]></category>

		<category><![CDATA[Parallel Studio]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/10/26/2002338/</guid>
		<description><![CDATA[Существует точка зрения, что при распараллеливании неправильно рассматривать последовательно реализованную программу как черный ящик. Другими словами, необходимо знать алгоритмы, которые реализованы в данном пакете. С одной стороны, это правильно, ведь порой эффективнее заменить, существующий алгоритм на другой. На алгоритм, который хорошо ложиться на ту или иную архитектуру.
Я хочу рассказать о результате летнего школьника Интел-ННГУ 2009, [...]]]></description>
			<content:encoded><![CDATA[<p>Существует точка зрения, что при распараллеливании неправильно рассматривать последовательно реализованную программу как черный ящик. Другими словами, необходимо знать алгоритмы, которые реализованы в данном пакете. С одной стороны, это правильно, ведь порой эффективнее заменить, существующий алгоритм на другой. На алгоритм, который хорошо ложиться на ту или иную архитектуру.<br />
Я хочу рассказать о результате летнего школьника Интел-ННГУ 2009, т.е. о проекте, которым занимался студент, у которого я был руководителем. Задача стояла следующая: взять уже существующий проект и распараллелить его с помощью Intel(R) Parallel Studio, рассматривая его как черный ящик. А потом сравнить с параллельным вариантом разработчиков сэмпла. Главное условие было взять только последовательный вариант проекта и не смотреть параллельный вариант. Выбор остановился на сэмпле для Intel(R) TBB - Tachyon, у которого существует два параллельных варианта с использованием технологии Intel(R) TBB. (если установлен пакет "Intel(R) Parallel Studio", то солющен(Solution) можно найти тут: C:\Program Files\Intel\Parallel Studio\Composer\tbb\examples\parallel_for\tachyon). Это трассировщик лучей, один из результатов которого фрактал с тремя источниками освещения.</p>
<p><a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon1.jpg"><img src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon1-289x300.jpg" alt="" width="289" height="300" class="aligncenter size-medium wp-image-2002337" /></a></p>
<p>Стоит заметить, что 3 ноября будет проведен Онлайн Семинар "<a href="http://www.intel.com/corporate/europe/emea/rus/country/jobs/students/programs.htm">Intel(R) Parallel Studio Workflow</a>"  на базе Tachyon. Количество участников ограничено.<br />
Первый Шаг в расспараллеливание - это найти наиболее часто используемый участок программы. Для этого использовался Intel(R) Parallel Amplifier. И для сравнения удобства и простоты работы Intel(R) VTune(TM) Performance Analyzer. Как Amplifier так и VTune указали на функции:<br />
<code>grid_intersect и sphere_intersect</code>. </p>
<p><a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon1_22.jpg"><img src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon1_22.jpg" alt="" width="500" height="128" class="aligncenter size-full wp-image-2002343" /></a></p>
<p>Анализ данных функций показывает, что они не совсем пригодны к распараллеливанию или тюнингу. Соответственно нужно найти либо родительские либо дочерние функции, которые содержат циклы.<br />
Для VTune пришлось собрать профиль Call Graph, на что ушло порядка 13 минут  накладных расходов (время работы последовательного варианта Tachyon 30 сек). И 1 час на анализ профиля. У Ampilfier-а использовался уже созданный профиль, что оказалось очень удобным:</p>
<p><a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon1_31.jpg"><img src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/tachyon1_31.jpg" alt="" width="500" height="424" class="aligncenter size-full wp-image-2002345" /></a></p>
<p>В результате мы остановились на кандидате parallel_thread:</p>
<pre name="code" class="cpp">static void parallel_thread (void)
{

    unsigned int serial = 1;
	unsigned int mboxsize = sizeof(unsigned int)*(max_objectid() + 20);
    unsigned int * local_mbox = (unsigned int *) alloca(mboxsize);
	memset(local_mbox,0,mboxsize);

    for (int y = starty; y &lt; stopy; y++) { {
        drawing_area drawing(startx, totaly-y, stopx-startx, 1);
        for (int x = startx; x next_frame()) return;
     }

}</pre>
<p>И пока я дописываю следующий Блог, предлагаю Вам самим попытаться распараллелить.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/10/26/2002338/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Лето с Intel для профессионального роста: 16 проектов «школьников»</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/10/13/intel-16/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/10/13/intel-16/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 11:01:47 +0000</pubDate>
		<dc:creator>Svetlana Emelyanova (Intel)</dc:creator>
		
		<category><![CDATA[ISN календарь]]></category>

		<category><![CDATA[Intel Software Network]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Конкурсы и мероприятия]]></category>

		<category><![CDATA[12.10.2009]]></category>

		<category><![CDATA[summer school]]></category>

		<category><![CDATA[конкурс]]></category>

		<category><![CDATA[летняя школа]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/10/13/intel-16/</guid>
		<description><![CDATA[Этой осенью совместно с академической программой мы впервые решили провести конкурс «<a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/">Лето с Intel для профессионального роста</a>» среди участников Летней школы. 6 октября прием конкурсных заявок завершился. Всего мы получили 16 статей. Очень надеюсь, что вы найдете время почитать <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-entries/">все статьи</a>, проголосовать за понравившиеся и задать вопросы участникам в комментариях. И даже если вы уже не студент, вспомните - когда-то и вы им были! ;)]]></description>
			<content:encoded><![CDATA[<p>Всем привет!</p>
<p>Этой осенью совместно с академической программой мы впервые решили провести <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/">конкурс</a> среди участников <a href="http://www3.intel.com/cd/corporate/education/emea/rus/highered/student/398668.htm">Летней школы Intel</a>. И я надеюсь, вы внимательно следите за его ходом. Хотя, судя по комментариям к <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-entries/">статьям</a>, из всех завсегдатаев нашего сообщества в основном только Дмитрий (<a href="http://software.intel.com/ru-ru/profile/311661/">ksili</a>) и Михаил (<a href="http://software.intel.com/ru-ru/profile/13742/">mt2</a>) проявляют интерес к работам «школьников».</p>
<p>Если вы пропустили <a href="http://software.intel.com/ru-ru/blogs/2009/09/11/intel-4/">первый пост</a> о конкурсе «<a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/">Лето с Intel для профессионального роста</a>», еще раз напомню, что участникам предлагалось рассказать о проекте или исследовании, над которым они работали этим летом в Intel, опубликовав техническую статью на нашем сайте.</p>
<p>6 октября прием конкурсных заявок завершился. Уже полным ходом идет судейство конкурса и совсем скоро, 26 октября, будут объявлены счастливые обладатели наших скромных, но очень полезных <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/#prizes">призов</a>. Всего мы получили 16 статей. Признаюсь, мы рассчитывали на большее количество участников, но видимо слишком многого ожидали от студентов.</p>
<p>Кстати, в этом году среди стажеров Летней школы были также и победители конкурса идей по разработке программных сервисов «<a href="http://www3.intel.com/cd/corporate/education/emea/rus/415985.htm">Future? At your service!</a>». И во время стажировки они занимались непосредственно реализацией своих идей. Евгений Павлов воплощал в жизнь веб-сервис, предоставляющий возможность <a href="http://software.intel.com/ru-ru/articles/semantic-information-retrieval/">извлечения семантической информации из фотографий</a>, Шудрак Максим - <a href="http://software.intel.com/ru-ru/articles/remote-performance-test-service/">сервис удаленного тестирования производительности ПО</a> на различных программно-аппаратных конфигурациях. Интересные идеи и отличные результаты, учитывая, что реализовывать свои проекты ребята начали только в Летней школе. Как полагается, им пришлось составлять и бизнес-план своего проекта, в написании которого очень большую помощь оказал Василий Гурьев. В своей статье «<a href="http://software.intel.com/ru-ru/articles/Business-plan-IT-product-Crusial-problems-and-Solutions/">Бизнеc-план IT-продукта: основные проблемы и пути их решения</a>» он рассматривает структуру бизнес-плана и наиболее частые проблемы, возникающие при его написании. Возможно и вы найдете для себя что-то новое и полезное в этом кратком руководстве.</p>
<p>Работы <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-entries/">других участников</a> не менее интересны. Очень надеюсь, что у вас будет время почитать <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-entries/">все статьи</a>, проголосовать за понравившиеся и задать вопросы участникам в комментариях. И даже если вы уже не студент, вспомните - когда-то и вы им были! <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/10/13/intel-16/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Лето с Intel для профессионального роста</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/09/11/intel-4/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/09/11/intel-4/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 16:34:53 +0000</pubDate>
		<dc:creator>Svetlana Emelyanova (Intel)</dc:creator>
		
		<category><![CDATA[ISN календарь]]></category>

		<category><![CDATA[Intel Software Network]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Конкурсы и мероприятия]]></category>

		<category><![CDATA[07.09.2009]]></category>

		<category><![CDATA[summer school]]></category>

		<category><![CDATA[конкурс]]></category>

		<category><![CDATA[летняя школа]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/09/11/intel-4/</guid>
		<description><![CDATA[Закончилось лето, подходят к концу и последние теплые денечки сентября. Надеюсь, все вы хорошо отдохнули и с новыми силами приступили к работе. Пост этот, конечно, не о летнем отдыхе, хотя перед выходными совсем не вредно помечтать о море, пальмах… Но давайте все-таки вернемся к профессиональному росту и возможностям, которые Intel предоставляет лучшим студентам нашей страны.]]></description>
			<content:encoded><![CDATA[<p><a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/summer1.jpg"><img class="alignleft size-full wp-image-2002107" title="summer1" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/summer1.jpg" alt="" width="280" height="284" /></a>Закончилось лето, подходят к концу и последние теплые денечки сентября. Надеюсь, все вы хорошо отдохнули и с новыми силами приступили к работе. Пост этот, конечно, не о летнем отдыхе и пальма на картинке не имеет совершенно никакого отношения к профессиональному росту. Хотя… является косвенным его результатом :) Перед выходными совсем не вредно помечтать о море, пальмах… Но лично мне до пальмы этой еще «расти и расти», поэтому вернемся все-таки к теме.</p>
<p>Итак, каждое лето Intel совместно с ведущими ВУЗами нашей страны предоставляет возможность молодым специалистам на практике ознакомиться с мировыми технологиями в области аппаратного и программного обеспечения. В течение целого месяца, пройдя серьезный конкурсный отбор, самые талантливые ребята работают над увлекательными проектами. Причем отрабатывают они свои знания не на выдуманных учебных проектах, а на реальных востребованных проектах компании. Как вы уже догадались, речь идет о <a href="http://uni-schools.ru/">Летней школе-стажировке</a>, о которой все вы слышали немало, но, думаю, хотели бы узнать больше. В этом году такая возможность у вас есть!</p>
<p>Как правило, по завершении школы всевозможные пресс-релизы в подробностях рассказывают о самой школе, ее насыщенной учебной программе… но ничего о практической пользе и результатах проектов, над которыми трудились студенты. Не так давно завершилась очередная школа-стажировка. И мы подумали, почему бы не попросить самих студентов снова вспомнить свои стажерские будни и рассказать о проделанной работе. Подумали, и совместно с академической программой решили провести конкурс среди всех участников Летней школы 2009 года. Кстати, от имени <a href="http://software.intel.com/ru-ru/blogs/author/dmitry-oganezov/">Димы Оганезова</a> и своего, конечно, хочу поблагодарить Дмитрия Никитина (aka <a href="http://software.intel.com/ru-ru/blogs/author/ksili/">ksili</a>), который и натолкнул своего тезку на идею этого конкурса. Хотя в своем письме Дмитрий интересовался именно мнением организаторов Летней школы, конкурс среди них мы пока решили не проводить <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Уверена, сами стажеры с неменьшей информативностью смогут рассказать о поставленных задачах, их роли для проекта и своих профессиональных достижениях.</p>
<p>7 сентября на нашем сайте стартовал конкурс «<a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009/">Лето с Intel для профессионального роста</a>», который продлится до конца месяца. Участникам предлагается опубликовать техническую статью и изложить в ней все подробности своей стажировки. В первой половине октября судейская комиссия оценит все работы, и лучшие из лучших будут награждены ценными призами. Несмотря на то, что в этом конкурсе могут принять участие лишь стажеры летней школы этого года, наверняка, не одному <a href="http://software.intel.com/ru-ru/blogs/author/ksili/">ksili</a> будут интересны работы конкурсантов. Узнать, что же такого полезного могут сделать студенты за 1 месяц стажировки можно на <a href="http://software.intel.com/ru-ru/articles/contest-summer-school-2009-entries/">этой странице</a>, где будут размещаться ссылки на статьи всех участников. Прочитав статьи, не забудьте проголосовать за понравившиеся и оставить свои пожелания, замечания, вопросы, в общем, любой свой комментарий к работам. Поддержите наших участников, не зря же они пожертвовали летним отдыхом <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/09/11/intel-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ирландские TRIL'и, или слово о многогранности</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/09/10/tril/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/09/10/tril/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 07:40:46 +0000</pubDate>
		<dc:creator>vilianov</dc:creator>
		
		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[TRIL]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/09/10/tril/</guid>
		<description><![CDATA[Здравствуйте, уважаемые коллеги и читатели! Привет вам из Ирландии, с известной многим FAB 24. Здесь в очередной раз проходит ERIC - European Research and Innovation Conference. На ней академическому сообществу Европы рассказывают о том, куда смотрит компания, какие перспективные планы имеет, куда вкладывает деньги. Это, конечно, не так увлекательно, как специальные мероприятия для прессы, но весьма... поучительно.]]></description>
			<content:encoded><![CDATA[<p>Здравствуйте, уважаемые коллеги и читатели! Привет вам из Ирландии, с известной многим FAB 24. Здесь в очередной раз проходит ERIC - European Research and Innovation Conference. На ней академическому сообществу Европы рассказывают о том, куда смотрит компания, какие перспективные планы имеет, куда вкладывает деньги. Это, конечно, не так увлекательно, как специальные мероприятия для прессы, но весьма... поучительно.</p>
<p>О процессорах Intel, наверное, всякий знает. О разработке ПО тоже многие в курсе. Но даже мне, человеку вроде бы посвященному, некоторые ипостаси компании показались неожиданными. Ну, борьба с глобальным потеплением - это вполне логично, не удивили. Нанотехнологии - тоже, у кого они еще такие "нано" в таких масштабах? А вот про TRIL вам что-нибудь слышать приходилось? Technology Research for Independent Living - так это расшифровывается. Не секрет, что население планеты стремительно стареет, и не все пожилые люди по достижению определенного возраста хотят жить с детьми или отправляться в дом престарелых. Многим кажется вполне логичным продолжать самостоятельную жизнь, но как быть, если внезапная слабость или недуг обрушатся, когда рядом никого нет, и до телефона не добраться? Вот в рамках TRIL и разрабатывается комплексное решение для пожилых и самостоятельных. Я его попробовал в действии - чудеса настоящие! Датчики движения по нескольким осям с гироскопом, снятие жизненных показателей с мгновенной отправкой лечащему врачу, предупреждение последнего, если пациент вдруг слишком резко прилег на пол и не двигается, видеосвязь для консультаций, дистанционная выписка лекарств... и все это реально работает! Уже больше десятка стариков используют комплекс в реальной жизни, и, наверное, с ним стало гораздо спокойнее и родственникам, и им самим.</p>
<p>Строго говоря, TRIL - совместный проект нескольких компаний и знаменитого Trinity College, однако Intel играет одну из главных скрипок и выступает в роли финансового партнера.</p>
<p>Завтра прессу проведут по самой FAB 24, а участники из разных общественных организаций и университетов будут рассказывать о своих зонах интересов. К сожалению, разорваться не получится, но, с другой стороны, увидеть производство, где делали отличные материнские платы для моего Pentium II-233, это же счастье. Только надо перед счастьем немного поспать: хоть здесь и на три часа меньше времени, чем в Москве, но организм - не нетбук Acer, ему не только батареи заряжай, но и отдыхать давай.</p>
<p>Эх, до скорого!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/09/10/tril/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Китайское искусство программирования 2, или 9,58 vs 22,317,699,616,364,044</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/08/31/2-958-vs-22317699616364044/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/08/31/2-958-vs-22317699616364044/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 13:25:55 +0000</pubDate>
		<dc:creator>yuryserdyuk</dc:creator>
		
		<category><![CDATA[Intel Software Network]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Параллельное программирование]]></category>

		<category><![CDATA[Разработка софта]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/08/31/2-958-vs-22317699616364044/</guid>
		<description><![CDATA[Продолжим о задаче N-Queens, поскольку, как я упомянул в первой части данного поста (его можно прочитать здесь), 2009-й год оказался прорывным в ее решении.
Параллельный вариант решения этой задачи можно получить элементарным образом: если мы зафиксируем первого ферзя в самом верхнем ряду, в первой клетке слева, то нахождение всех расстановок остальных ферзей можно поручить одному процессору. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/usain_bolt.jpg"><img class="alignleft size-medium wp-image-2002056" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/usain_bolt-300x225.jpg" alt="" width="300" height="225" /></a>Продолжим о задаче N-Queens, поскольку, как я упомянул в первой части данного поста (его можно прочитать <a href="http://software.intel.com/ru-ru/blogs/2009/07/29/2001817/">здесь</a>), 2009-й год оказался прорывным в ее решении.</p>
<p>Параллельный вариант решения этой задачи можно получить элементарным образом: если мы зафиксируем первого ферзя в самом верхнем ряду, в первой клетке слева, то нахождение всех расстановок остальных ферзей можно поручить одному процессору. Аналогично, если зафиксировать первого ферзя в этом же ряду во второй клетке слева, то отыскание всех возможных расстановок оставшихся ферзей можно поручить другому процессору. Ну и т.д.</p>
<p>В общем случае, для подходящего числа M ( M &lt; N, где N − размер доски) можно найти все допустимые расстановки ферзей в первых M рядах, применив всё ту же функцию <em>Backtrack</em> на основе битовых векторов (см. код, приведенный в первой части). Множество таких расстановок можно считать совокупностью (очередью) заданий для решателей, каждый из которых запускается на отдельном процессоре. Подсчет количества вариантов расстановок оставшихся N-M ферзей решатели производят, снова пользуясь базовой функцией <em>Backtrack</em>. Полный код программы на языке MC#, реализующий такой подход, и предназначенный для исполнения на многоядерной машине, приведен ниже.</p>
<pre name="code" class="cpp:collapse">using System;

public class Task   {

 public int left, down, right;

 public Task ( int l, int d, int r ) {

  left  = l;
  down  = d;
  right = r;

 }

}

//**************************************************//

public class NQueens   {

 public static long totalCount = 0;

 public static void Main ( String[] args ) {

  int   N = System.Convert.ToInt32 ( args [ 0 ] );   //  Board size
  int   M = System.Convert.ToInt32 ( args [ 1 ] );   //  Number of fixed queens
  int   P = System.Convert.ToInt32 ( args [ 2 ] );   //  Number of workers

  NQueens nqueens = new NQueens();

  nqueens.launchWorkers ( N, M, P, nqueens.getTask, nqueens.sendStop, nqueens );

  nqueens.generateTasks ( N, M, P, nqueens.sendTask );

  for ( int i = 0; i &lt; P; i++ )
   nqueens.getStop ? ();

  Console.Write     ( "Task challenge : " + N + "   " );
  Console.WriteLine ( "Solutions = " + totalCount );

 }

 //******************************************************************************//

 public handler getTask Task(int count ) &amp; channel sendTask ( Task task ) {

  totalCount += count;
  return ( task );

 }

 //******************************************************************************//

 public handler getStop void() &amp; channel sendStop () {
  return;
 }

 //******************************************************************************//

 public async launchWorkers ( int N, int M, int P, handler Task(int) getTask,
                              channel () sendStop, NQueens nqueens            ) {

  for ( int i = 0; i &lt; P; i++ )
   nqueens.Worker ( i, N, M, getTask, sendStop );

 }

 //******************************************************************************//

 public void generateTasks ( int N, int M, int P, channel (Task) sendTask ) {

  int   y     = 0;
  int   left  = 0;
  int   down  = 0;
  int   right = 0;

  int   MASK  = ( 1 &lt;&lt; N ) - 1;

  MainBacktrack ( y, left, down, right, MASK, M, sendTask );

  Task finish_marker = new Task ( -1, -1, -1 );

  for ( int i = 0; i &lt; P; i++ )
   sendTask ! ( finish_marker );

 }

 //********************************************************************************//

 public void MainBacktrack ( int y, int left, int down, int right, int MASK,
                             int M, channel (Task) sendTask                  ) {

  int   bitmap, bit;

  if ( y == M )
   sendTask ! ( new Task ( left, down, right ) );
  else   {

   bitmap = MASK &amp; ~ ( left | down | right );

   while ( bitmap != 0 )   {

    bit   = -bitmap &amp; bitmap;
    bitmap = bitmap ^ bit;

    MainBacktrack ( y + 1, ( left | bit ) &lt;&lt; 1, down | bit, ( right | bit ) &gt;&gt; 1,

                    MASK, M, sendTask                                            );

   }

  }

 }

 //********************************************************************************//

 public async Worker ( int myNumber, int N, int M, handler Task(int) getTask,

                  channel () sendStop                                    ) {

  int    MASK  = ( 1 &lt;&lt; N ) - 1;

  int    count = 0;

  Task   task  = (Task) getTask ? ( count );

  while ( task.left != -1 )   {

   WorkerBacktrack ( M, task.left, task.down, task.right, MASK, N, ref count );

   task  = (Task) getTask ? ( count );
   count = 0;

  }

  sendStop ! ();

 }

 //********************************************************************************//

 public void WorkerBacktrack ( int y, int left, int down, int right, int MASK,

                               int N, ref int count                           ) {

  int   bitmap, bit;

  if ( y == N )
   count++;
  else   {

   bitmap = MASK &amp; ~ ( left | down | right );

   while ( bitmap != 0 )   {

    bit   = -bitmap &amp; bitmap;
    bitmap = bitmap ^ bit;

    WorkerBacktrack ( y + 1, ( left | bit ) &lt;&lt; 1, down | bit, ( right | bit ) &gt;&gt; 1,
                    MASK, N, ref count                                             );

   }

  }

 }

}</pre>
<p>Специфическая особенность языка MC# заключается в том, что для того, чтобы получить из данной программы распределенный вариант для исполнения на кластере, достаточно заменить пометку параллельной функции <em>Worker</em><em> </em>c <strong><em>async</em></strong> на <strong><em>movable</em></strong>. Также, данный код программы без изменений работает как под Windows, так и под Linux.</p>
<p>А причем здесь какие-то странные числа, вынесенные в заголовок, можете спросить вы? Ну, про 9,58 многие уже догадались … А вот ко второму числу подойдем чуть издалека …</p>
<p>Относительно задачи N-Queens можно задаться вопросом − для доски какого максимального размера мы можем её решить, т.е., подсчитать количество всех возможных расстановок? Оказывается, этот размер не так уж и велик. Впервые, решение для N = 24 было получено в 2004 г. (точнее, 11 апреля 2004 г.). Количество решений составило</p>
<p><strong><em>227 514 171 973 736 </em></strong></p>
<p>(см. отчет “<a href="http://www.arch.cs.titech.ac.jp/~kise/doc/paper/uec-is-2004-06.pdf">Solving the 24-queens problem using MPI on a PC Cluster</a>”). Решение для N = 25 не заставило себя долго ждать − оно было получено 11 июня 2005 г. и составило</p>
<p><strong><em>2 207 893 435 808 352</em></strong></p>
<p>Для получения решения было использовано 260 машин и счет продолжался более 6 месяцев (см. <a href="http://proactive.inria.fr/index.php?page=nqueens25">http://proactive.inria.fr/index.php?page=nqueens25</a>). Трудоемкость этой задачи оценивается в более, чем 50 лет работы одного компьютера.</p>
<p>С тех пор, данная задача несколько раз использовалась в соревнованиях по Grid-вычислениям (см., например, <a href="http://www.etsi.org/plugtests/grid/IVGRID_PLUGTESTS.htm">http://www.etsi.org/plugtests/grid/IVGRID_PLUGTESTS.htm</a>), а результат для N = 25 оставался до недавнего времени рекордом.</p>
<p>С середины прошлого года для нас стали доступны мощные кластеры, появившиеся в России – “CКИФ-МГУ” (5000 ядер, МГУ) и МВС-100К (7920 ядер, Межведомственный суперкомпьютерный центр РАН). Возникло естественное желание попытаться решить эту задачу для N = 26. Дополнительным стимулом к этому стала попытка решить эту задачу в проекте NQueens @Home (<a href="http://nqueens.ing.udec.cl/"><span style="Times New Roman;">http://nqueens.ing.udec.cl/</span></a><strong><span style="Times New Roman;">) </span></strong>на основе системы распределенных вычислений BOINC, с помощью которой можно объединить для решения обычные PC с установленными на них специальными клиентскими программами. Данный проект стартовал в августе 2008 г.</p>
<p>Вначале мы просто проверили работоспособность системы MC# на большом количестве процессоров − результаты обнадежили. Вот протокол решения задачи для N = 21 на кластере “СКИФ-МГУ” на 4200 ядрах:</p>
<div style="padding: 6px; background-color:#cfcfcf; width: 350px;">
<p>MC#.Runtime, v. 2.1.0.34023</p>
<p>Task challenge : 21 Solutions = 314666222712</p>
<p>==MC# Statistics================================</p>
<p>Number of movable calls: 4200</p>
<p>Number of channel messages: 87108</p>
<p>Number of movable calls (across network): 4200</p>
<p>Number of channel messages (across network): 4200</p>
<p>Total time: 00:02:55.3579270 / 175.357927 sec.</p></div>
<p>В качестве базового алгоритма был взят алгоритм на основе битовых векторов, но использующий симметрии (см. <a href="http://www.ic-net.or.jp/home/takaken/e/queen/index.html">http://www.ic-net.or.jp/home/takaken/e/queen/index.html</a>). Оказалось, что этот алгоритм возможно распараллелить в соответствии с подходом, упомянутым выше. Более того, для N = 26 задача на самом верхнем уровне удачно разбивается на 277 независимых частей, каждую из которых можно считать в виде отдельного задания на кластере. И 18 ноября 2008 г. счет начался … Он проходил обычной ручной постановкой очередного задания на тот или кластер. Трудоемкость нескольких особо сложных заданий превысила 30 000 процессоро-часов.</p>
<p>Просчет заданий шел не так быстро как хотелось бы, поскольку оба кластера всегда перегружены работой − иногда в очередях стоит 100−200 заданий. Но, тем не менее, проект NQueens@Home нам удалось догнать очень быстро − на сегодняшний день он вышел лишь за 50% выполнения всей задачи.</p>
<p>Однако, в этом деле нашелся свой Усэйн Болт <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Когда, в конце июля этого года мы начали приближаться к завершению нашего счета, то обнаружили в Интернете ссылку вот на этот вот сайт − <a href="http://queens.inf.tu-dresden.de/?l=en&amp;n=0">http://queens.inf.tu-dresden.de/?l=en&amp;n=0</a>. Оказалось, что в рамках проекта Queens@TUD 11 июля 2009 г. было получено решение для N = 26:</p>
<p><strong><em>22 317 699 616 364 044</em></strong></p>
<p>Но получено оно было на основе принципиально иной технологии. Немецкие специалисты воспользовались для решения задачи технологией на основе FPGA, что по-русски звучит как ПЛИС (программируемые логические интегральные схемы). Т.е., другими словами, они построили специализированную многопроцессорную вычислительную машину, которая предназначена для решения одной единственной задачи – задачи N-Queens. Правда, и счет у них начался раньше, чем у нас − 14 октября 2008 г. Схема их решателя и была приведена на картинке в 1-ой части этого поста.</p>
<p>Ну а что мы? Наш счет закончился 30 августа 2009 г., и мы лишь порадовались тому, что результат полностью совпал с полученным немецкими компьютерщиками; т.е., и сам результат верифицировали, и удостоверились что наша программа была корректной. Код программы, результаты и полные протоколы запусков скоро будут выставлены на нашем сайте <a href="http://www.mcsharp.net/">www.mcsharp.net</a>.</p>
<p>Какие выводы можно сделать из этой истории? Наверно, один из них состоит в том, что системы на базе FPGA будут вне конкуренции для получения рекордных результатов в решении отдельно взятых задач. С другой стороны, появились упоминания о попытках решения этой задачи на GPU. C третьей стороны, наличие кластеров хотя бы с 20 000 ядрами позволит и с помощью этих универсальных средств посоревноваться в решении специальных счетных задач.</p>
<p>Другие выводы и свои мысли по этому поводу можно оставлять в комментариях. Интересно, сможет ли кто-нибудь правильно спрогнозировать когда будет получено решение этой задачи для N = 27 ?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/08/31/2-958-vs-22317699616364044/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Страсти по Любченко</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/08/27/2001970/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/08/27/2001970/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 07:54:24 +0000</pubDate>
		<dc:creator>ksili</dc:creator>
		
		<category><![CDATA[Intel Software Network]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Параллельное программирование]]></category>

		<category><![CDATA[VHDL]]></category>

		<category><![CDATA[конечные автоматы]]></category>

		<category><![CDATA[модель]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/08/27/2001970/</guid>
		<description><![CDATA[Если честно, эту запись в блоге было трудно писать. Затронуто несколько тем, каждая из которых может стать темой для отдельной записи.]]></description>
			<content:encoded><![CDATA[<p>Один из участников ISN - vlubch (Вячеслав Любченко) - часто упоминает конечно-автоматный подход к параллельному программированию, говорит о его превосходстве над исторически сложившимися приёмами в параллельном программировании. При этом не всегда понятны его доводы, примеры и контрпримеры. Здесь я попытаюсь описать <strong>как я понял</strong> то, что он предлагает. Ну и затем надеюсь на <strong>конструктивное</strong> обсуждение как со стороны Любченко, так и со стороны других заинтересованных лиц. И да пусть дискуссия не скатится к уровню "здесь все дураки, а я один Петросян"...</p>
<p>Итак начнём. Вообще у меня уже было желание о чём-то таком написать, т.к. здесь уже вопрошали какой же язык наиболее подходит для параллельного програмирования, а какой вообще не подходит... Некоторое время назад я начал изучать язык VHDL и был одновременно обрадован и озадачен. С одной стороны, я увидел - вот он язык для программирования параллельных процессов! Это изначально заложено в самом языке. Но с другой стороны мне было странно, что никто из участников ещё его не упоминал, хотя наверняка ведь знали. Поэтому я решил поизучать его, познакомиться ближе, а потом уже написать в блоге что-то более конкретное.</p>
<p>А тут как раз начался массированный промоушн КА-подхода с стороны одного участника, на форуме ISN было дано <a href="http://software.intel.com/ru-ru/forums/95/topic/66464/reply/92395/">несколько ссылок</a> на статьи по теме, и я решил подключиться <img src='http://software.intel.com/ru-ru/blogs/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Рассуждал я так: конечные автоматы, цифровая схемотехника, RS-триггеры, VHDL... всё это лежит очень близко. А значит точки соприкосновения должны быть найдены. Каково же было моё удивление, когда я в статьях, предложенных автором, не нашёл ни упоминания, ни тем более использования данного языка. Поэтому у меня первый вопрос Вячеславу: Вы знакомы с языком программирования VHDL? Если нет, то вам определённо стоит это сделать! Возможно, когда вы с ним познакомитесь, вы придёте к той мысли, что не надо придумывать никакой КА-модели параллельного программирования. Она уже существует! И реализована в языке VHDL. А ваше желание сделать добро людям трансформируется в более практичные цели:</p>
<p>1) сделать компилятор языка VHDL для архитектуры x86, хотя бы для одной ОС;<br />
2) расширить стандартные возможности языка, чтобы его можно было легче использовать при написании обычных приложений (т.е. библиотеки визуальных компонентов для рисования окошечек и т.д.)</p>
<p>Если же вы знакомы с этим языком, то я очень удивлен, почему в статьях нет упоминания VHDL, а есть какой-то UML? Про UML уже здесь отзывались, да и так известно. Это по большому счёту язык не для написания программ, а для описания моделей. Неплохой инструмент для аналитиков, любителей порисовать картинки, но не для серьёзных программ. Как сказал герой одного фильма: "Ружья для понта, ножи для дела". Как вы поняли, UML - ружья, VHDL (ну или C++) - ножи.</p>
<p>Теперь <strong>немного критики по существ</strong><strong>у</strong>.</p>
<p>Во-первых, хотелось бы уточнить то, что касается модели. Вы, Вячеслав:<br />
1) Хотите разработать (или уже разработали) алгоритм, который получает на входе "классический" алгоритм (одно- или многопоточный), а на выходе даёт его аналог, но который внутри действует в форме СМКА?<br />
2) Призываете просто переделывать вручную релизации всех существующих алгоритмов на конечно-автоматную модель?<br />
3) Утверждаете что-то третье...</p>
<p>Что из этого списка ваше?</p>
<p>Во-вторых, что касается модели многопоточного программирования. В форуме кажется высказывался уже подобным образом Алексей Куканов, и я с ним соглашусь. Модель многопоточного программирования вполне понятна: есть основный поток, который может порождать другие потоки, действующие впоследствии параллельно, они тоже могут создавать потомков. И это работает!</p>
<p>В случае OpenMP такое размножение более простое (см. рис.)</p>
<p style="text-align: center;"><a style="text-decoration: none;" href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/openmp-model.jpg"><img class="size-full wp-image-2002031 aligncenter" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/openmp-model.jpg" alt="Модель параллельных потоков OpenMP" width="500" height="206" align="middle" /></a></p>
<p style="text-align: center;"><em>Модель параллельных потоков OpenMP</em></p>
<p>В общем случае может быть и посложнее картинка.</p>
<p style="text-align: center;"><a style="text-decoration: none;" href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/conventional-model.jpg"><img class="size-full wp-image-2002033 aligncenter" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/conventional-model.jpg" alt="Модель паралельных процессов в общем случае" width="500" height="206" /></a></p>
<p style="text-align: center;"><em>Модель паралельных процессов в общем случае</em></p>
<p>Так вот в случае КА-модели данный рисунок (т.е. практически это описание модели) будет выглядеть ещё примитивнее: просто постоянно присутствуют N потоков, где N - количество автоматов. Налицо меньшая гибкость модели. Поправьте меня, если я неправ.</p>
<p style="text-align: center;"><a style="text-decoration: none;" href="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/ka-model.jpg"><img class="size-full wp-image-2002035 aligncenter" src="http://software.intel.com/ru-ru/blogs/wordpress/wp-content/uploads/ka-model.jpg" alt="Модель потоков в КА-модели" width="500" height="206" /></a></p>
<p style="text-align: center;"><em>Модель потоков в КА-модели</em></p>
<p>В статьях  следовало бы привести какие-то подобные рисунки для пояснения. Иначе, для тех, кто знает VHDL и теорию конечных автоматов, в части описания модели ничего нового не написано, а для тех, кто не знает, всё весьма непонятно.</p>
<p>Вот здесь я вообще подошёл к наиболее интересному для себя моменту. Охота задать ещё один вопрос Вячеславу. То, как я описал действие КА-модели алгоритма с точки зрения обычного программиста, верно? Т.е. допустим, такая модель для нужного алгоритма есть. Работа каждого автомата независима, значит логика каждого их них реализована в отдельном потоке?</p>
<p>Если мои домыслы верны, то чем <strong>принципиально</strong> работа такой модели отличается модели многопоточного программирования, которую вы и за параллельное программирование не считаете?</p>
<p>Если же я неправ и поток действительно один, то на самом деле ВОТ ОНО ноу-хау. Фишка в том, как вам удалось запихнуть синхронную работу N независимых автоматов один поток, а сама СМКА-модель - это как раз не новизна (см. выше про VHDL). Если это действительно так, то хотелось бы уточнить для каких случаев удалось добиться такого результата. Хотелось бы верить, что не только для банального RS-триггера.</p>
<p>Идём далее. Понятно, что рисунки выше являются неполными. Потоки не просто работают, они ещё и взаимодействуют. В классическом варианте способы взаимодействия известны: сообщения, события, синхронизированный доступ к данным в памяти какого-то из потоков. В случае СМКА-модели сложность реализации взаимодействия будет зависеть от количества автоматов и от их связности. Ну и конечно от варианта реализации, которые я указал чуть выше: 1 поток или N потоков. Если по одному потоку на каждый автомат, то немало потоков наверно получится, каждый из которых должен ПОСТОЯННО опрашивать выходы тех потоков, которые для него являются входными. Потоки получаются сильно связаными. И не у каждого автомата всего два входа как в пресловутом RS-триггере... В общем, насколько это будет эффективно работать на объемной СМКА-модели, не знаю.</p>
<p>Если же всё в одном потоке (типа ноу-хау), то тут всё зависит от реализации, которую я не знаю. Но вопрос в принципе остаётся тем же: как это можно реализовать для объёмного сложного алгоритма? Всегда ли это будет эффективно с точки зрения скорости?</p>
<p>Ещё пара замечаний (<strong>немного критики не по существу</strong>):</p>
<p>1) Вы говорите, что скорость реализации алгоритма не важна. Вот тут я с вами несогласен. Поясню на примере. Я в свое время писал диссертацию и разрабатывал там новый алгоритм. Область его применения и цель были старыми и давно известными, но вот сделать я хотел именно новый алгоритм. такой чтобы он не был аналогом или модификацией любого существующего в этой области. Я изучил существующие алгоритмы и разработать оригинальный алгоритм мне удалось. Вот только на предзащите мою работу отклонили. А дело было в том, что у меня не было показано, что мой алгоритм чем-то лучше существующих, было только показано, что он оригинальный. Я как и вы думал, что этого достаточно. Поверьте мне, чтобы вы ни говорили, если то, что вы предлагаете, хотя бы по одной статье не лучше того, что уже используется, ваши идеи не будут никому не интересны. Вам надо выделить такие преимущества у вашего подхода, доказать, что они действительно имеют место, и почаще на них указывать в своих статьях. Я пока таких преимуществ не припомню. Не скажу, что очень внимательно прочитал все статьи, возможно они там и есть, но не очень убедительно представлены.</p>
<p>2) Задача о преступниках, описанная в одной из статей, вообще чисто последовательная по условию! К чему там городить параллельность, я не понял.</p>
<p>3) Кроме того, могу в качестве бонуса пояснить, почему я не "очень внимательно прочитал все статьи" (дело не во мне, а в статьях). Но лучше я сделаю это позже, и если сам автор того пожелает. Сначала, хотелось бы обсудить то, что "по существу".</p>
<p>Дальше что-то писать уже, думаю, не стоит. Хотя мысли по данной теме ещё есть. Надеюсь будет повод высказать их в обсуждении.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/08/27/2001970/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Переключая каналы</title>
		<link>http://software.intel.com/ru-ru/blogs/2009/07/14/2001602/</link>
		<comments>http://software.intel.com/ru-ru/blogs/2009/07/14/2001602/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 07:13:09 +0000</pubDate>
		<dc:creator>ksili</dc:creator>
		
		<category><![CDATA[Social Media]]></category>

		<category><![CDATA[Академическое сообщество]]></category>

		<category><![CDATA[Параллельное программирование]]></category>

		<guid isPermaLink="false">http://software.intel.com/ru-ru/blogs/2009/07/14/2001602/</guid>
		<description><![CDATA[На прошлой неделе, переключая каналы, я вдруг увидел знакомую картинку, но весьма непривычно выглядевшую на экране телевизора. Это был вид кристалла процессора или СБИС, сфотографированный наверно в инфракрасном диапазоне, так что видно все блоки, шины... Голос за кадром рассказывал о повышении производительности компьютеров. Причём это был не монотонный голос диктора современных псевдодокументальных фильмов, который с [...]]]></description>
			<content:encoded><![CDATA[<p>На прошлой неделе, переключая каналы, я вдруг увидел знакомую картинку, но весьма непривычно выглядевшую на экране телевизора. Это был вид кристалла процессора или СБИС, сфотографированный наверно в инфракрасном диапазоне, так что видно все блоки, шины... Голос за кадром рассказывал о повышении производительности компьютеров. Причём это был не монотонный голос диктора современных псевдодокументальных фильмов, который с одинаковой интонацией рассказывает как о разоблачении чёрных риэлторов, так и о похищении людей НЛО. Сразу было понятно, что человек рассказывает о своём.</p>
<p>Я конечно же с интересом продолжил слушать. Вскоре стало ясно, кто рассказчик. Это был Борис Арташесович Бабаян. Он рассказывал о том, какие проблемы возникают при желании повысить производительность вычислительной системы при помощи распараллеливания, о проблемах снижения энергозатрат при вычислениях, о проблемах смены вычислительной архитектуры, о разработанной ими (я так понимаю, под его руководством) технологии двоичной компиляции. Из его слов выходило, что данная технология совершает качественный прорыв в решении упомянутых проблем. Основная её изюминка в том, что компиляция происходит под другую архитектуру, не под ту под которую писал программист, но для него это выглядит прозрачно и ему не надо переучиваться и изучать эту новую архитектуру. Эта самая "другая" архитектура сделана такой, что в ней можно эффективно реализовать отключение питания неиспользуемых блоков. По-крайней мере, так понял я - изложение было очень кратким и вскоре следом уже шёл другой сюжет - про золото (увы).</p>
<p>А теперь попытайтесь отгадать на каком канале я это видел. Это было на телеканале "Культура" (!!!). <em>На телеканале "Культура"</em>. Один этот факт меня шокировал, не говоря уже о том, что я был приятно удивлен бодростью Бабаяна и тем как он интересно рассказывал. Вообще-то я когда каналы на телевизоре расставлял, специально поместил Культуру в середине, т.к. смотрю её очень редко, но переключая каналы буду регулярно на неё попадать, и может на что-то интересное наткнусь. Охота оставаться культурным человеком :). Таким же образом я однажды наткнулся на передачу об Арнольде Владимире Игоревиче, ещё одном нашем академике. И если не ошибаюсь, тоже на канале Культура. Парадокс. Кстати в Википедии Бабаян всё ещё член-корреспондент РАН, а ведь он вроде бы уже академик (хотя тут я не уверен). Если тут есть активисты Википедии, приближённые к телу, уточните/поправьте.</p>
<p>Кстати, мне тут недавно пришло письмо с темой <strong>ISN TV</strong>. Что как нельзя кстати перекликается с вышенаписанным.  Понятно, что можно делать немало видеоматериалов, интересных людям из сферы IT/науки/computer science... Однако на целый телеканал это наверно не потянет, да и даже если потянет, в нашей стране его вряд ли организуют. Интересно, будут ли русскоязычные ролики на <a href="http://software.intel.com/en-us/tv/">ISN TV</a>? У меня эта страница что-то даже не открылась, надеюсь, это из-за наплыва посетителей. Но по ссылке понятно, что она в англоязычной части портала... А ведь есть масса интересного, что можно рассказать именно о "наших". Несмотря на многолетнее отставание отечественной электронной промышленности от мирового уровня, советские/российские специалисты продолжают придумывать в вычислительной технике и IT что-то революционное. Хотя нет, правильнее будет сказать не "специалисты", а "учёные".</p>
<p>Вот в этой <a href="http://www.vz.ru/economy/2009/6/11/296531.html">статье</a> рассказывается о том, что научно-техническому прогрессу мы обязаны отнюдь не крупному бизнесу, корпорациям, которые вкладывают огромные деньги в исследования в собственных лабораториях. Многие принципиальные изобретения были сделаны в некоммерческих организациях - военных или научных, где вопрос о коммерческой отдаче не стоял. В этой статье есть и другие интересные параллели и выводы.</p>
<p>Причем мне кажется, что пока человек считает, что он ещё может многое изобрести, сделать что-то принципиально новое, он как можно дольше старается оставаться в науке, а не уходить полностью в коммерческие структуры. Взять хотя бы Бабаяна. Наверняка бы его уже много лет назад приняли с распростёртыми  объятиями в массе мест - и в Intel, и в AMD, и в Transmeta, и ещё наверно где-нибудь... однако он до сих пор имеет свою кафедру, хотя и работает в Intel с 2004 года. У меня есть и другой пример - Кадач Андрей Викторович. В 90-е он активно занимался сжатием, писал свои упаковщики, значительно улучшал существующие алгоритмы. Начал он это делать ещё будучи студентом. Итогом была кандидатская диссертация. Кажется она тянула более чем на 200 страниц, убористым почерком. Неслабо для кандидатской. Я ей пользовался. Она и по содержанию очень сильна, особенно в те годы в ней было немало нового. Пару лет назад я был в новосибирском Академгородке, где собственно и учился Кадач, ну и спросил про него. Один человек мне рассказывал, что после защиты диссертации Кадач был завербован Майкрософтом, уехал и больше сжатием не занимается, т.к. одним из пунктов договора было то, что он продолжать свои работы не будет. А занимается он тем, что ездит по миру и вербует таких же как он хороших специалистов. Я не проверял, конечно, этой информации, нет такой возможности.</p>
<p>Возвращаясь к Бабаяну, хочу дать ссылку на его <a href="http://edu.ioffe.ru/lectures/babajana/">лекцию</a> о работах, которые ведутся с его участием. Интересна она ещё тем, что записана до его перехода в Intel. Когда же мы увидим процессоры и компиляторы Intel в полной мере поддерживающие технологии защищённого программирования и двоичной компиляции? Делаем ставки...</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/ru-ru/blogs/2009/07/14/2001602/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
