Axum to kolejny inkubacyjny projekt z Redmond, o którym warto wspomnieć. Model agenta, który przedstawiłem w poprzednim poście, został przez giganta potraktowany całkiem poważnie. Solidna implementacja, skalowalność, wtyczka do Visual Studio - to wszystko daje całkiem duże pole do popisu, ale powoli...
Programowanie rozproszone 4821 dni, 54 minuty temu 20 źrodło rozwiń
Witam dziś chciałbym poruszyć kolejny problem na który się natknąłem podczas rozwijania projektu. Problem dotyczy przesyłania danych pomiędzy kontrolerem a usługami(service). Weźmy prosty przykład. Mamy funkcje która z pobranych danych od użytkownika tworzy temat i post na forum następnie zwraca id zarówno tematu jak i posta. I tutaj pojawia się problem gdy potrzebujemy zwrócić wiele danych z danej funkcji z usług.
Programowanie rozproszone 4824 dni, 12 godzin, 2 minuty temu 79 źrodło rozwiń
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 4824 dni, 12 godzin, 2 minuty temu 68 źrodło rozwiń
Troszeczkę szybciej niż planowałem (bo… 1stSCC coraz bliżej) rozpocząłem przygodę z Microsoft’owym Cloud Computing, czyli Azure. Post ten jest pierwszym z cyklu kilku postów poświęconych technologii Microsoft Azure, w szczególności zaś SQL Azure. Na samym początku chciałbym przedstawić jak dostać się do tego serwisu, bo choć niby jest to niezbyt trudne, to korzystając z subskrypcji MSDN, trzeba odrobinę się napracować przy uruchamianiu usługi i pamiętać o jednym drobiażdzku. Na początku krótkie przypomni...
Programowanie rozproszone 4827 dni, 21 godzin, 30 minut temu 83 ź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 4836 dni, 9 godzin, 24 minuty temu 171 źrodło rozwiń
Autor: Witam po długiej przerwie wszystkich stęsknionych wpisów odnośnie TPLa. Pamiętam moje przyrzeczenie odnośnie pisania przynajmniej 1 wpisu na tydzień z tego tematu, ale niestety inne rzeczy nie pozwalają poświęcić się temu tematowi w takim stopniu jakbym sobie tego życzył. No, ale nie tracąc czasu na smętne wstępy przejdźmy do treści…dziś krótko acz przydatnie. Dziś chciałbym powiedzieć o dość ciekawej funkcjonalności a mianowicie kontynuacjach. Dzięki nim możemy napisać następujący fragment k...
Programowanie rozproszone 4840 dni, 13 godzin, 23 minuty temu 55 źrodło rozwiń
Twórcy Google jako pierwszych serwerów użyli ręcznie składanych PC połączonych w jedną sieć. Zdecydowali się na takie rozwiązanie, ponieważ koszty zakupów komercyjnych maszyn znacznie przekraczały założony budżet. To posunięcie było strzałem w 10! Magia jednak tkwiła nie tyle w komputerach, co w specjalnie napisanym oprogramowaniu - i tu przechodzimy do kwestii programowania równoległego.
Programowanie rozproszone 4844 dni, 11 godzin, 38 minut temu 61 źrodło rozwiń
Może zdarzyć się tak, że jedno żądanie zostanie wysłane do usługi kilka razy. Fajnie więc by było zabezpieczyć system przed taką ewentualnością. W nagłówku każdego żądania przekazywany jest unikalny identyfikator żądania. W momencie walidacji nagłówka system sprawdza identyfikator z pomocą jedno-instancjowego obiektu SafeContainer. Każdy identyfikator przechowywany jest w kontenerze prze n-minut. Po upływie tego czasu usuwane są "stare" identyfikatory. Jak na razie nie znalazłem sensowniejszego rozwiązan...
Programowanie rozproszone 4846 dni, 1 godzinę, 43 minuty temu 58 źrodło rozwiń
Dziś chciałbym zaprezentować zastosowanie sieci Hopfielda do rozpoznawania polskich banknotów. Można zastosować takie rozwiązanie w automacie przyjmującym banknoty w celu odgadnięcia właściwego nominału banknotu. Oczywiście zapamiętanie obrazka całego banknotu nie jest dobrym pomysłem gdyż w przyzwoitej rozdzielczości obraz będzie zbyt duży do zapamiętania, poza tym, banknoty mają różną wielkość, postanowiłem pokazać przykład z zapamiętaniem prawego górnego rogu i rozpoznawaniem ...
Programowanie rozproszone 4853 dni, 10 godzin, 38 minut temu 165 źrodło rozwiń
OpenMP - źródło, które zainspirowało mnie do zmian w HopfieldSymulatorze znajduje się tudaj. Dzisiaj napiszę o C++ w wykorzystanym projekcie. Cała warstwa obliczeniowa jest napisana w tym języku. Oczywiście po napisaniu dobrze jest program zoptymalizować, można jeśli używamy C# i kodu zarządzalnego użyć Parallel.For(...), no ale w czystym natywnym C++ nie ma takij możliwości, pozostaje użycie OpenMP lub wzorców wielowątkowości, które są dostępne w Visual C++ 2010. Niestety nie mam ...
Programowanie rozproszone 4855 dni, 18 godzin, 15 minut temu 49 źrodło rozwiń
August 07Daj się poznać #3 Dzisiaj postanowiłem usprawnić symulator sieci Hopfielda o zapamiętywanie kolorów. Jak pewnie wiecie z poprzednich wpisów na wyjściu sieci Hopfielda są wartości od -1 do +1 aby zapisać obraz kolorowy można – taki był mój pierwszy zamysł – podzielić ten przedział na wszystkie dostępne kolory RGB bez przezroczystości Alpha wychodzi 256x256x256 przedziałów, trochę dużo. Eksperymenty pokazały, że jest z tym kłopot obrazy co prawda zapamiętywały się ale pokazywały się przekłamania…
Programowanie rozproszone 4855 dni, 19 godzin, 56 minut temu 72 źrodło rozwiń
Autor: Chciałbym napisać dziś słów kilka o WCF RIA Services. Dokładnego przeglądu standardowych scenariuszy wersji pierwszej finalnej dokonałem niejako publikując zaktualizowane przykłady w dwóch częściach (patrz cz.I i cz.II). I chociaż jest tam wiele fajnych funkcjonalności, to dziś napiszę o trochę mniej standardowych, rzadziej spotykanych rzeczach. Mam tu na myśli takie zagadnienia jak korzystanie z NHibernate, MVVM (jest to typowe podejście dla Silverlight, ale nie zawsze przykłady czy prezentacje...
Programowanie rozproszone 4860 dni, 14 godzin, 53 minuty temu 214 źrodło rozwiń
Dziś przedstawiam nowe GUI do Hopfield Symulatora 0.2.1. Źródła projektu można pobrać tutaj: http://hopfieldsimulator.codeplex.com/SourceControl/list/changesets Instalator w wersji 0.2.1 x86 tutaj: http://hopfieldsimulator.codeplex.com/releases/view/49956
Programowanie rozproszone 4860 dni, 14 godzin, 53 minuty temu 74 źrodło rozwiń
STM (z ang. Software Transactional Memory) to podejście zaczerpnięte od kolegów z baz danych. Idea jest bardzo prosta: albo wszystkie instrukcje w danej transakcji wykonają się poprawnie, albo żadna z nich nie powinna się wykonać. Cecha ta określana jest jako niepodzielność. Głównych cech jest w sumie 4...
Programowanie rozproszone 4860 dni, 14 godzin, 53 minuty temu 45 źrodło rozwiń
Dziś zgodnie z obietnicą na dziś rozpracowałem kontrolkę MsChart. Dodam, że na CodePlex dodałem nową wersję symulatora z formatką wykresów. Źródła: http://hopfieldsimulator.codeplex.com/SourceControl/list/changeses Instalator: http://hopfieldsimulator.codeplex.com/releases/view/50075
Programowanie rozproszone 4861 dni, 10 godzin, 18 minut temu 29 źrodło rozwiń
Z implementacją równoległych zadań można sobie poradzić na wiele różnych sposobów. Zazwyczaj jednak instalujemy blokady, monitory, tworzymy transakcje, oplatamy synchroniczny kod. Co by się jednak stało, gdyby całe takie podejście odwrócić do góry nogami? Takich przełomowych projektów było wiele, oferowały nowy model pisania równoległych aplikacji, bez pamięci wspólnej i z wymianą komunikatów. W dzisiejszym wpisie chciałbym przedstawić Wam Model Agenta.
Programowanie rozproszone 4870 dni, 22 godziny, 17 minut temu 67 źrodło rozwiń
W poprzednim poście przedstawiłem Wam kilka istniejących implementacji STM, teraz, chciałbym dopełnić tą listę o kilka, równie ważnych, rozwiązań.
Programowanie rozproszone 4873 dni, 15 godzin, 46 minut temu 44 ź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 4874 dni, 21 godzin, 48 minut temu 48 źrodło rozwiń
Jakiś czas temu (kilka miesięcy;)) obiecywałem, ze napiszę artykuł o WCF Data Service. Zainteresowanych odsyłam tutaj.
Programowanie rozproszone 4877 dni, 22 godziny, 52 minuty temu 110 źrodło rozwiń
W poprzednich wpisach przedstawiłem Wam mechanizm Pamięci Transakcyjnej, a teraz chciałbym skupić się na jego wydajności względem zwykłych metod synchronizacji. Testy zostały przeprowadzone na maszynie z ponad 100 procesorów.
Programowanie rozproszone 4880 dni, 14 godzin, 50 minut temu 43 źrodło rozwiń