|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.07.2008, 18:20 | #1 |
Бот
Администратор
Регистрация: 27.05.2007
Сообщений: 182
|
обновление в блоге - Распределенные вычисления с использованием .NET Framework
Распределенные вычисления с использованием .NET Framework
pblog.ruПараллельные вычисления в Microsoft Visual C# (NET Framework 3.5) На сегодняшний день развитие индустрии компьютеростроения идет широкими шагами. Растут объемы оперативной памяти, частоты работы процессоров, количество процессоров и их ядер. Не секрет, что даже самый маленький процессор сегодняшнего дня производительностью превосходит процессоры для серверных платформ дня вчерашнего. Но зачастую гигагерцы процессоров и гигабайты оперативной памяти сводятся на нет невозможностью современного софта использовать аппаратные ресурсы на 100%. Это понимают и производители программного обеспечения и производители «Железа», стремясь разработать технологию позволяющую «нагрузить» компьютер по «полной». Сегодня мы рассмотрим одно из таких решений. 1) Библиотека Parallel Extensions to .NET Framework 3.5 от фирмы Microsoft corp. (Подробнее о ней можно почитать в MSDN выпуск - October 2007). Итак, для экспериментов нам понадобятся: (Ссылки на программы даны в конце статьи) 1) Microsoft Windows XP или Vista… 2) Microsoft .NET Framework 3.5 (Входит в комплект поставки Visual Studio 2008/2008 Express Edition) 3) Visual Studio 2008 Express Edition. 4) Библиотека Parallel Extensions to .NET Framework 3.5. Parallel Extensions to .NET Framework 3.5 Скачиваем и устанавливаем библиотеку Parallel Extensions to .NET Framework 3.5. Запускаем Visual Studio и создаем консольный проект на C# for .NET. Щелкаем на вкладке References нашего проекта и выбираем Add Reference. Далее во вкладке Browse находим библиотеку System.Threading.dll (По-умолчанию -> c:\Program Files\Microsoft Parallel Extensions Dec07 CTP\). В редакторе кода дописываем: using System.Threading; using System.Runtime.InteropServices; Теперь наш проект готов для работы на нескольких ядрах. Осталось применить что-нибудь этакое для наглядности. Для начала удостоверимся, что ядер действительно несколько: if (System.Environment.ProcessorCount {1}”, Math.Pow(i, 2.0).ToString(), Math.Pow(i, -2.0).ToString()); } break; Откройте «Диспетчер задач» и посмотрите наглядно, как загружено 1 ядро… А теперь распараллелим вычисления: case “2″: System.Threading.Parallel.For(0, 100000, delegate(int i) { Console.WriteLine(”{0} {1}”, Math.Pow(i, 2.0).ToString(), Math.Pow(i, -2.0).ToString()); }); break; default: { Console.WriteLine(”Error number”); break; } Откройте «Диспетчер задач» и посмотрите наглядно, как загружен процессор сейчас! Вот мы с вами и научились писать распределенные приложения, балансиру нагрузку на CPU компьютера с помощью Parallel Extensions to .NET Framework 3.5. В следующей статье мы рассмотрим, написание многопоточных приложений без использования .NET Framework с помощью библиотеки Intel® TBB (Threading Building Blocks) – кроссплатформенная библиотека для параллельных вычислений от фирмы Intel. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - О ярлыках | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |