W trakcie rozwijania algorytmów na potrzeby pracy magisterskiej pojawiło się zapotrzebowanie na zdecydowane przyspieszenie jednego z nich. Algorytm polegał na liczeniu pewnych własności dla każdego punktu regularnej siatki. Zrównoleglenie było naturalnym rozwiązaniem, ponieważ elementy nie zależały od siebie nawzajem. Zdecydowałem się na użycie Parallel Extensions (Wiki, MSDN) ze względu na prostotę. Przedstawię szkielet rozwiązania, które może zostać zastosowane pr...
Microsoft Press wydał e-book na temat gorącego ostatnimi czasy, programowania równoległego. Książka na 224 (anglojęzycznych) stronach przedstawia idee zrównoleglania, oraz prezentuje przykłady oparte oczywiście o Parallel Extensions w .NET Framework 4.0
Programowanie rozproszone 5178 dni, 14 godzin, 21 minut temu 70 źrodło rozwiń
W ostatniej wersji C# pojawiła się możliwość zrównoleglenia obliczeń w bardzo prosty sposób. Pętlę:for(int n =0; n <8; n++){ Console.WriteLine("Normal - iteracja {0} wątek {1}", n, Thread.CurrentThread.ManagedThreadId);} można zastąpić następującą konstrukcją:Parallel.For(0, 8, i =>{ Console.WriteLine("Parallel - iteracja {0} wątek {1}", i, Thread.CurrentThread.ManagedThreadId);}); Zapis ten powinien spowodować, że obl...
Programowanie rozproszone 5190 dni, 11 godzin, 43 minuty temu 174 źrodło rozwiń
Na rynku istnieje wiele rozwiązań implementująych STM - zdziwilibyście się, jak wiele. Są to rozszerzenia dla więkoszści języków: zaczynając od C, przez C++, C#, Java, Haskell, Perl. W tym poście chciałbym omówić jedynie kilka z nich.
Programowanie rozproszone 5229 dni, 7 minut temu 51 źrodło rozwiń
Microsoft Research opublikował pierwszą wersję Biology Foundation - zestawu narzędzi kierowanych do specjalistów od bioinformatyki, które stanowi rozszerzenie dla platformy .NET.
Programowanie rozproszone 5236 dni, 4 godziny, 3 minuty temu 77 źrodło rozwiń
Programowanie równoległe, wielowątkowe czy wieloprocesorowe, znane jest nie od dziś, ale to właśnie teraz, będzie najbardziej wykorzystywane. Dzisiejsze komputery nie mają już jednego rdzenia, serwery mają ich kilkanaście, a domowe pcety przynajmniej dwa. Jak wykorzystać wszystkie z nich? Zagadnienie z pewnością trudne ale i ciekawe, a dodatkowo stało się głównym tematem mojej pracy magisterskiej.
Programowanie rozproszone 5240 dni, 14 godzin, 38 minut temu 105 źrodło rozwiń
Tę serię przede wszystkim należy zacząć od pytania – po co nam to? To z kolei możemy rozbić na dwa kolejne. Po co nam w ogóle programowanie równoległe oraz po co nam TPL – przecież już mamy dostępne narzędzia.Po co nam to w ogóle Mam nadzieję, iż tak na prawdę na to pytanie odpowiadać nie trzeba, ale dla porządku zróbmy to. Potrzebujemy bo prawo Moore’a przestaje działać. Nie możemy już powiedzieć naszemu klientowi, który narzeka na słabą wydajność aplikacji, że gdy będziemy wydawać to oprogramowanie to...
Task-based API w .NET 4.0 (część I) października 1, 2009 22:34 by Marek Kalinowski Pierwszą okazję do zetknięcia się ze zmianami w API dotyczącym wielowątkowości miałem przy okazji udostępnionej prezentacji Daniela Motha z konferencji PDC2008 (http://channel9.msdn.com/pdc2008/TL26/). Podstawowym argumentem mającym mówić za wprowadzeniem (i używaniem) nowego API jest konieczność dostosowania się deweloperów do zmian w architekturze procesorów – czasy "darmowego" przyrostu wydajności bezpowrotnie minęły, o...
Programowanie rozproszone 5519 dni, 4 godziny, 54 minuty temu 77 źrodło rozwiń