Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe"

Transkrypt

1 Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe Tomasz Kopacz III Konferencja MIC Nowoczesne technologie bliŝej nas Poznań,,

2 Agenda

3 Niemal 100% procesorów ma >=2 rdzenie

4 Czemu jest to waŝne? Wielordzeniowość to SZANSA Pozwala na nowy typ aplikacji, istotną zmianę jakościową w obrębie end-user experiences WyróŜnienie się Aplikacje rzeczywiście szybsze Wielordzeniowość to teŝ pewne wyzwanie i zakłócenie stanu obecnego Wiedza deweloperów Testowanie Czy tak samo się zachowa na 2,4,8,16 rdzeniach? Czy na pewno szybko? Nowe błędy Oprogramowanie ignorujące mechanizmy zrównoleglania z czasem będzie mniej konkurencyjne

5 Wyzwania Identyfikacja obszarów które moŝna zrównoleglić Opisanie zasad podziału (dane i/lub funkcje) Optymalny podział czasu procesorów / rdzeni Efektywność; ale teŝ multitasking Biblioteki i framework równoległy Narzędzia Migracja kodu sekwencyjnego

6 Parallel Computing Initiative Microsoft s Parallel Computing Initiative encompasses the vision, strategy, and innovative technologies for delivering transformative, natural, and immersive personal computing experiences, harnessing the compute power of manycore architectures.

7 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Programowanie klasyczne

8 Programowanie klasyczne Zdanie się na system operacyjny Wielozadaniowość ma wbudowaną ZałoŜenie: wiele równoległych zadań Czyli kaŝde ma swój czas Problem: jeden wątek/zadanie ma się liczyć szybciej API i mechanizmy uruchamiania zadań w tle : BackgroundWorker, Thread, Synchronizacja klasyczna I to główny praktyczny problem

9 Przykład: przejście po drzewie Sekwencyjne static void ProcessNode<T>(Tree<T> tree, Action<T> action) { if (tree == null) return; } ProcessNode(tree.Left, action); ProcessNode(tree.Right, action); action(tree.data); ThreadPool (wersja prosta) static void ProcessNode<T>(Tree<T> tree, Action<T> action) { if (tree == null) return; } using (ManualResetEvent mre = new ManualResetEvent(false)) { ThreadPool.QueueUserWorkItem(delegate { ProcessNode(tree.Left, action); mre.set(); }); ProcessNode(tree.Right, action); action(tree.data); mre.waitone(); } CięŜka synchronizacja Interfejs + coś Blokowanie wątku

10 Przykład: drzewo, v 2 ThreadPool (lepiej ale nie perfekcyjne): static void ProcessNode<T>(Tree<T> tree, Action<T> action) { IEnumerator<T> enumerator = tree.getenumerator(); using (ManualResetEvent mre = new ManualResetEvent(false)) { int waitcount = Environment.ProcessorCount; WaitCallback wc = delegate { while(true) { T item; lock (enumerator) { if (!enumerator.movenext()) break; item = enumerator.current; } action(item); } Auć (1) Blokada Komplikacja; nie lokalne Jawna synchronizacja } } }; if (Interlocked.Decrement(ref waitcount) == 0) mre.set(); for (int i = 0; i < Environment.ProcessorCount - 1; i++) { ThreadPool.QueueUserWorkItem(wc); } wc(null); mre.waitone(); Auć (2) widzi tu ALGORYTM? Czy ktoś widzi tu ALGORYTM?

11 Klasyczne programowanie asynchroniczne BCL: Wiele operacji ma wersje asynchroniczne Para BeginOperation, EndOperation; Callback gdy operacja się zakończy / będzie błąd BeginRead(buffer, offset, count, callback, state) EndRead(asyncResult) Ale: Callback moŝe być wołany z dowolnego wątku Wywołującego (synchroniczne zakończenie) Nowy z puli (zagłodzenie w najgorszym razie) Brak czeka by powiedzieć Ŝe skończył Koordynacja - niejasna Sekwencje (zagnieŝdŝone delegaty, niejawne przekazanie sterowania); Rekurencja (ping-pong pomiędzy callbacka) Co z częściowym niepowodzeniem, jak ponowić operację Brak kontroli nad wątkami (ile/jak)

12 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Visual Studio 2010 i.net 4.0

13 Główne problemy Niech do zrównoleglenia wystarczy ekspert domenowy (a nie specjalista od zrównoleglania) Wniosek: proste koncepcje WywaŜyć skalowalność z łatwością uŝycia i testowalnością Dane a przepływ zadań a blokady a wydajność Zadanie Integracja współbieŝności w narzędzia mainstream Narzędzia i środowisko developerskie + testy Zapakować równoległość w komponenty Najlepiej bez zmian w sposobie uŝycia MoŜe: drobne zmiany

14 Visual Studio 2010 i.net 4.0 Narzędzia Model programowania Parallel Debugger Toolwindows Profiler Concurrency Analysis PLINQ Task Parallel Library WspółbieŜne runtime Thread Pool Task Scheduler Data Structures Data Structures Parallel Pattern Library Agents Library Task Scheduler (+ API do rozszerzeń!) Resource Manager Resource Manager System operacyjny Wątki Kod zarządzalny Kod natywny Narzędzia

15 Parallel Extensions.NET 4.0 Biblioteka.NET (brak zmian w kompilatorze); dowolny język.net Podstawowe mechanizmy Imperatywne zrównoleglenie zadań i przetwarzania danych (Task Parallel Library) Deklaratywne zrównoleglenie przetwarzania danych (PLINQ) Struktury i kolekcje synchronizacyjne (Coordination Data Structures) Wspólny model obsługi wyjątków Izolowani agenci do uruchamiania współbieŝnego (Asynchronous Agents Library)

16 Normalne C# For (int i=0; i< m1.rows; i ++) { for (int j = 0; j < m2.columns; j++) { result[i, j] = 0; for (int k = 0; k < m1.columns; k++) { result[i, j] += m1[i, k] * m2[k, j]; } }

17 Parallel C# Parallel.For(0, m1.rows, i => { for (int j = 0; j < m2.columns; j++) { result[i, j] = 0; for (int k = 0; k < m1.columns; k++) { result[i, j] += m1[i, k] * m2[k, j]; } }

18 Kilka przykładów Parallel::For(0, rrd->imageheight, gcnew Action<int,ParallelState^>(rrd, &RenderImageData::RenderRow)); Parallel.Invoke( () => QuicksortParallel(arr, left, pivot - 1), () => QuicksortParallel(arr, pivot + 1, right)); _lasttask = Task.StartNew(delegate { Bitmap bmp = MandelbrotGenerator.Create(...);... // narysuj }); var left = Future.Create(() => SumParallel(tree.Left, curdepth+1)); int right = SumParallel(tree.Right, curdepth+1);

19 Task Parallel Library - Task Wątek w kodzie zarzadzalnym Lepszy podział zasobów Kolekcja wątków uruchamia kolekcję zadań Scheduler z małym narzutem Efektywne algorytmy do zarządzania zadaniami TaskScheduler; Rozkład oparty o policy Blokady pomiędzy schedulerami Wiele instancji schedulera Zarządzanie zasobami Wspólna pula zasobów Dynamiczny rozkład w oparciu o analizę aktualnego stanu i policy System.Threading.Tasks Task: Relacja rodzic dziecko; oczekiwanie, anulowanie, kontynuacja Task<TResult>: Tasks który zwraca wynik (realizacja Futures)

20 Coordination Data Structures Kolekcje Thread-safe ConcurrentStack<T> ConcurrentQueue<T> Wymiana danych BlockingCollection<T> Synchronizacja; operacje wieloetapowe CountdownEvent Blokady ManualResetEventSlim SemaphoreSlim SpinLock / SpinWait Inicjalizacja LazyInit<T> WriteOnce<T>

21 (P)LINQ var results = from baby in babies where baby.name == queryname && baby.state == querystate && baby.year >= yearstart && baby.year <= yearend orderby baby.year ascending select baby; Obsługa.NET Standard Query Operators Inteligentne i automatyczne partycjonowanie danych Wystarczy IEnumerable<T> Ale moŝe być implementowane przez innych providerów (bazy danych itp.)

22 WspółbieŜność w kodzie.net Aplikacja.NET Deklaratywne zapytania C# VB C++ Równoległe algorytmy Partycjon. danych Chunk Range Hash Striped Repartitioning Task Parallel Library (TPL) PLINQ Execution Engine Analiza kwerendy Typy operatorów Map Scan Build Search Reduction Łączenie Async (potok) Synch Order Preserving Sorting ForAll Coordination Data Structures F# Inne kompil..net PLINQ Task API Task Parallelism Futures Scheduling Thread-safe Collections Synchronization Types Coordination Types IL TPL lub CDS Wątki Proc 1 Proc p

23 Debugger i testowanie Debugger zna pojęcie Task TakŜe działa dla klasyczny wątków Narzędzia Analiza utylizacji procesorów/rdzeni Analiza blokad w wątkach ZaleŜności na poziomie I/O dysku + Pewne rozwiązania z Microsoft Research 23

24 Wsparcie dla Task Kod zarządzalny i natywny Parallel Tasks Parallel Stacks TeŜ obsługuje tradycyjne wątki

25 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Przyszłość

26 RaceTrack (MSR) ck RaceTrack wykrywa tzw. dynamic race w kodzie zarządzalnym; sytucje gdy błąd się ujawnia przy drobnych przesunięciach czasowych w wątkach. Wykonuje instrumentalizację kodu i wykrywa podejrzane wzorce dostępu do współdzielonych danych (nie jest to 100% pewne)

27 Chess (MSR) CHESS to narzędzie do wykrywania tzw. Heisenbugs i wskazywania w jakiej konfiguracji wątków one się pojawiają

28 UI do CHESS

29 Transakcyjna pamięć Określić intencje: 1.Ma działać w izolacji od innych zadań 2.Ma nic nie zmieniać gdy jest błąd Nie jest to pełny ACID

30 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE A moŝe inne podejście: CCR Concurrency and Coordination Runtime

31 CCR zasada działania Przesyłane są komunikaty które aktywują zadania Komunikaty są wysyłane do portów Port<int> myport = new Port<int>() ; myport.post (42) ; Port zawiera Strukturę FIFO do przechowywania przekazanych wartości Arbiter Odpowiada za zrównoleglenie operacji odbierających komunikaty z portu Zawiera lista delegatów które mogą być uruchomione dla oczekujących komunikatów Implementuje często spotykane konstrukcje współbieŝne jak join, przeploty itp. (przy przekazywaniu sygnałów/komunikatów)

32 CCR - Konfiguracja Port<int> p = new Port<int>(); 3 Arbiter delegate(int n) {/*handler*/} Kolejka Dispatchera Porty i TYP Arbiter zainicjowany i aktywuje port Sygnatura handlera musi pasować do typu portu Arbiter.Activate(q, Arbiter.Receive(true, p, delegate(int n) { /*kod do wykonania...*/ })); DispatcherQueue q = new DispatcherQueue("", d); 4 2 Dispatcher Dispatcher d = new Dispatcher(0, ""); 1

33 Prymitywy koordynacyjne CCR (technicznie metody obiektu Arbiter) Scheduler (bez portu) Obsługa portu Wiele portów

34 CCR a algorytm obliczeń using (DispatcherQueue q = new DispatcherQueue()) { PortSet<Success, Failure> ps = new PortSet<Success, Failure>(); int n = 10; Arbiter.Activate(q, Arbiter.MultipleItemReceive(ps, n, delegate(icollection<success> s, ICollection<Failure> f) { // Akcja po zakończeniu zadań })); for (int i = 0; i < n; ++i) Arbiter.Activate(q, Arbiter.FromHandler( delegate() { try { // praca współbieżna p.post(new Success(...); } catch(exception ex) p.post(new Failure(ex)); })); }

35 Kod asynchroniczny z iteratorami void Start() { Arbiter.Activate(q, Arbiter.FromIteratorHandler(Handler)); } IEnumerator<ITask> Handler() { PortSet<Success, Failure> ps = new PortSet<Success, Failure>(); service.post(new WorkItem(ps)); // wyślij asynchroniczną pracę // Czekaj na zakończenie bez blokowania wątków yield return Arbiter.Choice(ps, delegate(success s) {... }, delegate(failure f) {... } ); // Wyślij kolejne zadanie service.post(new WorkItem(ps));... yield break; // koniec i określenie co można wykonywać równolegle }

36 Połączenie klasycznego BCL i CCR UŜyć CCR do Modelowania współbieŝnych procesów Koordynacji operacji asynchronicznych Wykorzystanie BCL proste: W mechanizmie callback przekazać IAsyncResult do portu CCR

37 Iteracyjne zadanie 1)Rozpocznij odczyt Asynchr. odczyt 2) czekaj na wynik 3)Przetwórz dane IEnumerator<ITask> CcrReadFileAsync(string file) { Callback: Post var resultport = new Port<IAsyncResult>(); IAsyncResult jako using (var fs = new FileStream(file,,FileOptions.Asynchronous)) komunikat { var buf = new byte[fs.length]; fs.beginread(buf, 0, buf.length, resultport.post, null); IAsyncResult result = null; yield return Arbiter.Receive(false, resultport, ar => { result = ar; }); Port koordynujący asynchroniczne operacje } } try { fs.endread(result); ProcessData(buf); } catch { // handle exception } Yield otrzymuje zadanie, Task jest aktywowany przez dispatcher, Dispatcher woła MoveNext() gdy zadanie zakończone. Nie blokuje wątku!

38 CCR a strumień public static PortSet<int, Exception> Read( Wynik lub wyjątek Stream stream, byte[] buffer, int offset, int count) { var resultport = new PortSet<int, Exception>(); stream.beginread(buffer, offset, count, asyncresult => { try { resultport.post(stream.endread(asyncresult)); } catch (Exception e) { resultport.post(e); Post wyniku } lub wyjątku }, null); return resultport; }

39 Przykład CopyStream while (write > 0) { var writeresult = StreamAdapter.Write(dest, bufferb, 0, write); if (read > 0) Join : musi być int na { Choice tylko jedna gałąź readresult oraz EmptyValue // read new bytes and write będzie existing wykonana buffer na writeresult Handler readresult = StreamAdapter.Read(source, ); dostanie oba komunikaty yield return Arbiter.Choice( Arbiter.JoinedReceive<int, EmptyValue>(false, ); readresult, writeresult, (r, s) => { read = r; } Gałęzie dla wyjątków ), Arbiter.Receive<Exception>(false, readresult, e => { exception = e; }), Arbiter.Receive<Exception>(false, writeresult, e => { exception = e; })

40 SYSTEMY ROZPROSZONE HPC Server (krótko!)

41 Windows HPC Server

42 Typy aplikacji Zadania wsadowe Zadania teŝ interaktywne) Kolejkowanie zadań Alokacja zasobów Uruchamianie procesu Monitorowanie wykorzystania zasobów Zintegrowane uruchamianie MPI Zintegrowane bezpieczeństwo + Broker komunikacyjny WCF Wirtualny endpoint WS Load balancing Zintegrowana aktywacja usług Zarządzanie czasem Ŝycia Zintegrowane śledzenie WCF Service (DLL) Service (DLL) Service (DLL) Service (DLL)

43 Współpraca dzięki Web Service Chmura Aplikacje Inne OS Cienki klient Własne mechanizmy schedulera itp.. Windows Vista + HPC client HPC Basic Profile Web Service Węzeł główny (też Broker WCF) Windows HPC Server 2008

44 SYSTEMY ROZPROSZONE DSS Decentralized Software Services

45 Decentralized Software Services Usługa to jednostka orkiestracji; interfejs do komponentu; w środku uŝywany CCR Aplikacja to kompozycja usług Deklaratywne, dynamiczne związki + narzędzie do modelowania Zachowanie w środowisku rozproszonym jest funkcją zmiany stanu węzłów Wspólne operacje na stanie DSSP to protokół dla DSS Nadzbiór HTTP Dodaje manipiulację strukturami danych i powiadamianie o zdarzeniach Polecenia (verbs) DSSP Create / Drop: tworzenie i usuwanie usługi Manipulacja stanem: Get, Query, Insert, Update, Replace, i Delete Lookup kontekstu serwisu Subskrypcja (zwykle na zmianę stanu) Wysyłanie komunikatu (wywołanie operacji) bez zmiany stanu HTTP wspierany do łatwego interoperability i interakcji TCP wykorzystywany do komunikacji między usługami

46 Architektura DSS h Stan Port Usługa Uchwyt Usługa Uchwyt Stan Usługa Uchwyt Stan

47 Deklaratywna koordynacja usług [ServiceHandler(ServiceHandlerBehavior.Concurrent Concurrent)] public IEnumerator<ITask> GetHandler(Get get) { get.responseport.post(_state); yield break; } Deklaracja intencji, reszta to rola DSS [ServiceHandler(ServiceHandlerBehavior.Exclusive Exclusive)] public IEnumerator<ITask> UpdateHandler(Update update) { _state.currentresult += update.body.value; LogUpdate upd; yield return _logservice.update(out upd); UpdateResponse rsp = upd.responseport; update.responseport.post(new UpdateResponse()); }

48 Aktywacja usługi i przepustowość [ActivationSettings( ShareDispatcher=false, ExecutionUnits=2)] [ResourceGroup("MyServices")] [Contract(Contract.Identifier)] public class MyService:DsspServiceBase { [ServicePort("/myService", QueuingPolicy = DsspOperationQueuingPolicy.ConstrainDepth DsspOperationQueuingPolicy.DiscardWithFault, QueueDepthLimit = 1)] MyServiceOperationsPort _mainport; MyState _state; } // Dalej start metod i handlerów

49 DSS a WCF DSS: orkiestracja przy uŝyciu Visual Programming Language WCF (Windows Communication Foudation): orkiestracja przy uŝyciu Workflow Foundation WCF komunikacja zgodna z popularnymi standardami W tym z HPC Server CCR potęŝny framework do uŝytku na danej maszynie MoŜe: połączenie WCF i CCR? Tracimy: stan! Zyskujemy: interoperacyjność

50 SYSTEMY ROZPROSZONE CHMURA (Windows AZURE)

51 Platforma Windows Azure Zwirtualizowane środowisko z Windows NET 3.5 SP1 Aplikacja składa się z: Web Role UI w ASP.NET Worker Role zadanie obliczeniowe Komunikacja: Kolejka (b. szybka) Przechowywanie: Tabele, BLOBy, relacje PARTYCJNONOWANIE TeŜ geograficzne Łatwo przenieść kod.net na dowolną liczbę instancji (usługi integrujące z systemami on-permise - pominięte)

52 Skalowanie idea Web Role Worker Role Kolejka zadań i wyników A B C D ZałoŜenie: BRAK STANU po stronie serwera Ale: ciasteczko, GUID w storage itp..

53 Podsumowanie MAPA technologii Zrównoleglanie zadań Systemy sterujące w CCR fabrykach Monitorowanie urządzeń Podejmowanie decyzji Agenci WF TPL / PPL Nadzór nad procesem kontroli działania systemów w samochodzie Usługi internetowe do zamawiania zdjęć WCF Popularny sklep internetowy WF DSS Lokalne Obsługa źródeł obrazu OpenMP Kodowanie, kompresja itp.. Przetwarzanie obrazów TPL / PPL Wizualizacja danych PLINQ Mechanizmy shaderów System typu nasza-klasa Rozproszone / chmura MPI / MPI.Net Mechanizmy wyszukiwania, OLTP, współpraca Klastry SOA / HPC Animacje, renderowanie Przewidywanie Klastrowe TPL pogody Monitorowanie sejsmologiczne Poszukiwanie zasobów natruralnych (ropa naftowa itp.) Klastrowe PLINQ Windows Azure Zrównoleglanie przez podział danych

54 Podsumowanie Programowanie z uwzględnieniem wielu rdzeni/procesorów/serwerów to konieczność (bo sprzęt ) Narzędzia: PLINQ, TPL, TASK, FUTURES. Łatwiej przerobić algorytm! CCR framework realizujący współbieŝność bazujący na danych DSS(P) wyspecjalizowany protokół pozwalający na orkiestrację asynchronicznych usług Ciekawe połączenie WCF i CCR Visual Programming Language (Robotics Studio) HPC Server Windows Azure Wszystko programowane Visual Studio DuŜe inwestycje Microsoft w rozwój technologii pozwalających programować równolegle Idea: brak róŝnic pomiędzy programami pisanymi tradycyjnie a tymi które wykorzystują efektywnie wiele: rdzeni/procesorów/serwerów

55 PYTANIA?

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop Spis treści

Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop Spis treści Programowanie równoległe i asynchroniczne w C# 5.0 / Mateusz Warczak [et al.]. Gliwice, cop. 2014 Spis treści Wstęp 9 Przedmowa 11 Rozdział 1. Dla niecierpliwych: asynchroniczność i pętla równoległa 13

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

WIELOWĄTKOWOŚĆ. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

WIELOWĄTKOWOŚĆ. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska WIELOWĄTKOWOŚĆ Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Wydajność 2 Do 2005 roku wydajność komputerów poprawiano zwiększając częstotliwość taktowania procesora 1995: Pentium

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Task Parallel Library

Task Parallel Library Task Parallel Library Daan Leijen, Wolfram Schulte, and Sebastian Burckhardt prezentacja Michał Albrycht Agenda O potrzebie zrównoleglania Przykłady użycia TPL Tasks and Replicable Tasks Rozdzielanie zadań

Bardziej szczegółowo

msgbox("akcja: Początek, argument: " + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox("akcja: Koniec"); return DateTime.Now.

msgbox(akcja: Początek, argument:  + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox(akcja: Koniec); return DateTime.Now. Programowanie asynchroniczne. Operator await i modyfikator async Język C# 5.0 wyposażony został w nowy operator await, ułatwiający synchronizację dodatkowych zadań uruchomionych przez użytkownika. Poniżej

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Wykład 10 - boost Thread. 8 czerwca 2007 Równoległość bardzo wolna reakcja człowieka wolne urządzenia wejścia - wyjścia (np. drukarki) bardzo szybkie procesory można przeprowadzać obliczenia podczas obsługi

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 12: Wstęp

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop. 2016 Spis treści Spis rysunków 11 Spis tabel 13 Przedmowa 15 Wprowadzenie 17 Podziękowania 27 O autorach 29 1 Wprowadzenie

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Piotr Bubacz Cloud Computing

Piotr Bubacz Cloud Computing Cloud Computing ITA-112 Wersja 0.9 Warszawa, Czerwiec 2011 Spis treści Wprowadzenie i-4 Moduł 1 Wprowadzenie do Cloud Computing 1-1 Moduł 2 Wprowadzenie do Windows 2-1 Moduł 3 Storage Tabele 3-1 Moduł

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014 Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows. Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,

Bardziej szczegółowo

Aplikacje w Javie- wykład 11 Wątki-podstawy

Aplikacje w Javie- wykład 11 Wątki-podstawy 1 Aplikacje w Javie- wykład 11 Wątki-podstawy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 4

Programowanie telefonów z Windows Phone 7, cz. 4 Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Spis treści. oraz Microsoft Visual Studio Wstęp... xiii. Część I Wprowadzenie do języka Microsoft Visual C# 1 Wprowadzenie do języka C#...

Spis treści. oraz Microsoft Visual Studio Wstęp... xiii. Część I Wprowadzenie do języka Microsoft Visual C# 1 Wprowadzenie do języka C#... Spis treści Wstęp... xiii Część I Wprowadzenie do języka Microsoft Visual C# oraz Microsoft Visual Studio 2010 1 Wprowadzenie do języka C#... 3 Rozpoczynamy programowanie przy użyciu środowiska Visual

Bardziej szczegółowo

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI Bartłomiej Filipek www.ii.uj.edu.pl/~filipek plan Szybki start!.net 3.5 Visual Studio 2008 ogólnie Nowe narzędzia Czy zapomniano o C++? Podsumowanie Materiały źródłowe

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Microsoft Visual C# 2012 Krok po kroku

Microsoft Visual C# 2012 Krok po kroku John Sharp Microsoft Visual C# 2012 Krok po kroku Przekład: Janusz Machowski, Krzysztof Szkudlarek APN Promise, Warszawa 2013 Spis treści Wstęp..................................................................

Bardziej szczegółowo

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych)

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) Spis treści Wstęp... xi Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) 1 Program SQL Server Management Studio oraz język Transact SQL... 3 Omówienie programu SQL Server Management

Bardziej szczegółowo

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect Wbudowana wiedza specjalistyczna Dopasowane do zadania Optymalizacja do aplikacji transakcyjnych Inteligentne Wzorce

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Interfejsy w Java. Przetwarzanie równoległe. Wątki.

Interfejsy w Java. Przetwarzanie równoległe. Wątki. Informatyka I Interfejsy w Java. Przetwarzanie równoległe. Wątki. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Interfejsy w Java Pojęcie interfejsu w programowaniu Deklaracja

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego

Bardziej szczegółowo

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu

Bardziej szczegółowo

Programowanie.NET - kurs zaawansowany

Programowanie.NET - kurs zaawansowany Kod szkolenia: Tytuł szkolenia: NET/ADV Programowanie.NET - kurs zaawansowany Dni: 4 Opis: Adresaci szkolenia Szkolenie kierowane jest do programiostów chcących pogłębić swoją wiedzę z zakresu platformy.net

Bardziej szczegółowo

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści Ramowy plan kursu Lp. Moduły Wyk. Lab. Przekazywane treści 1 3 4 Technologia MS SQL Server 2008 R2. Podstawy relacyjnego modelu i projektowanie baz. Zaawansowane elementy języka SQL. Programowanie w języku

Bardziej szczegółowo

Aktualny stan i plany rozwojowe

Aktualny stan i plany rozwojowe Aktualny stan i plany rozwojowe Norbert Meyer Konferencja MIC Nowoczesne technologie bliŝej nas Poznań,, 16.04.2009 Centra MIC na świecie oferują studentom programistom specjalistom IT naukowcom Dostęp

Bardziej szczegółowo

Programowanie równoległe Parallel Extensions

Programowanie równoległe Parallel Extensions Programowanie równoległe Parallel Extensions W. Grześkowiak Instytut Informatyki, Wydział Elektroniki i Technik Informacyjnych, Politechnika Warszawska, ul. Nowowiejska 15/19, 00-665 Warszawa, Polska w.grzeskowiak@stud.elka.pw.edu.pl

Bardziej szczegółowo

Programowanie usług działających w tle

Programowanie usług działających w tle Programowanie usług działających w tle Android Paweł Szafer Po co programować usługi działające w tle? Plan prezentacji O aplikacjach w Androidzie, Sposób podejmowania decyzji o zabiciu procesu, Rodzaje

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Wydajność hurtowni danych opartej o Oracle10g Database

Wydajność hurtowni danych opartej o Oracle10g Database Wydajność hurtowni danych opartej o Oracle10g Database 123 Plan rozdziału 124 Transformacja gwiaździsta Rozpraszanie przestrzeni tabel Buforowanie tabel Różnicowanie wielkości bloków bazy danych Zarządzanie

Bardziej szczegółowo

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko

Bardziej szczegółowo

Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003

Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003 Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy

Bardziej szczegółowo

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional

Bardziej szczegółowo

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii Przedmowa...ix Podziękowania....xi Wprowadzenie.... xv Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii Część pierwsza: Modele wykonywania

Bardziej szczegółowo

Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1

Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1 Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1 Historia i pojęcia wstępne Obliczenia równoległe: dwa lub więcej procesów (wątków) jednocześnie współpracuje (komunikując się wzajemnie)

Bardziej szczegółowo

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT MONITOROWANIE DOSTĘPNOŚCI USŁUG IT POZIOMY MONITOROWANIA Services Transaction Application OS Network IBM TIVOLI MONITORING Proaktywnie monitoruje zasoby systemowe, wykrywając potencjalne problemy i automatycznie

Bardziej szczegółowo

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4 Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.

Bardziej szczegółowo

Kurs języka Python. Wątki

Kurs języka Python. Wątki Kurs języka Python Wątki Wątek Wątek (ang. thread) to jednostka wykonawcza w obrębie jednego procesu, będąca kolejnym ciągiem instrukcji wykonywanym w obrębie tych samych danych (w tej samej przestrzeni

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012 Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel

Bardziej szczegółowo

2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL Instalacja, konfiguracja Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Kontakt: piotr.dziwinski@kik.pcz.pl 2 Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Microsoft SQL Server 2012 Krok po kroku

Microsoft SQL Server 2012 Krok po kroku Patrick LeBlanc Microsoft SQL Server 2012 Krok po kroku Przekład: Natalia Chounlamany APN Promise, Warszawa 2013 Spis treści Wprowadzenie.......................................................... xv Część

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

Bardziej szczegółowo

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015 Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015 Dotyczy zapytania ofertowego nr 1/POKL/2015, z dnia 12.01.2015 r. w ramach projektu PWP Paragon i Attero finansowanego ze środków Unii Europejskiej

Bardziej szczegółowo

Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM

Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM Koniec problemów z zarządzaniem stacjami roboczymi BigFix Włodzimierz Dymaczewski, IBM Dlaczego zarządzanie stacjami roboczymi sprawia tyle problemów? Na ogół duŝa ilość Brak standardu konfiguracji Wielka

Bardziej szczegółowo

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server { Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie

Bardziej szczegółowo

WebAii Automation Framework

WebAii Automation Framework Wojciech Pająk Konferencja TESTWAREZ 2008 16-17 października 2008 testerzy.pl Agenda 1. WebAii - wprowadzenie 2. Metodyka automatyzacji 3. Budowa biblioteki 4. Integracja 5. Podsumowanie Co to jest, do

Bardziej szczegółowo

Systemy obiegu informacji i Protokół SWAP "CC"

Systemy obiegu informacji i Protokół SWAP CC Systemy obiegu informacji i Protokół SWAP Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Problemy Integracja procesów zachodzących w

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Laboratorium 10 - Web Services

Laboratorium 10 - Web Services Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana

Bardziej szczegółowo

Specyfikacja API Runtime BAS 3.0

Specyfikacja API Runtime BAS 3.0 Specyfikacja API Runtime BAS 3.0 Spis treści Wstęp... 4 Informacja o dokumencie... 4 Opis usługi... 4 Typowy sposób wywołania usługi... 5 Udostępniane funkcje... 6 Funkcje liczące... 6 Execute... 6 SafeExecute...

Bardziej szczegółowo

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4 Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład

Bardziej szczegółowo

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na

Bardziej szczegółowo

Język Java wątki (streszczenie)

Język Java wątki (streszczenie) Programowanie współbieżna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Języka Java wątki Autor:

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań zespół PCSS/MIC: Jacek Kochan, Jerzy Mikołajczak, Marek Zawadzki 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Bardziej szczegółowo

Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, Spis treści

Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, Spis treści Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, 2013 Spis treści Wprowadzenie XV Część I: Rozpoczęcie pracy z programem Microsoft SQL Server 2012 1 Wprowadzenie do programu Microsoft

Bardziej szczegółowo

Klastrowanie bazy IBM DB2. Adam Duszeńko

Klastrowanie bazy IBM DB2. Adam Duszeńko Klastrowanie bazy IBM DB2 Adam Duszeńko Typy klastrów Wydajnościowe Skalowalność Równoległość Obliczeń Składowania Wiele punktów dostępu Niezawodnościowe Bezpieczeństwo Zwielokrotnienie Danych Operacji

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 6. 6 listopada 2015 Plan wykładu Callable objects 1 Callable objects 2 3 Plan wykładu Callable objects 1 Callable objects 2 3 Callable objects Wszystko jest obiektem. Callable objects Wszystko jest

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

e-off f i f ce: :Sekr k e r tari r at t w chm h urz r e Marcin Pytel

e-off f i f ce: :Sekr k e r tari r at t w chm h urz r e Marcin Pytel e-office: Sekretariat w chmurze Marcin Pytel Plan prezentacji 1. Wprowadzenie do systemu e-office. 2. Architektura systemu. 3. Doświadczenia praktyczne z pracy z Azure. 4. Plany dotyczące rozwoju systemu.

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

using System;... using System.Threading;

using System;... using System.Threading; Kontekst synchronizacji Wątek w platformie.net może posiadać kontekst synchronizacji reprezentowany przez instancję klasy SynchronizationContext lub jej klasy potomnej. Jeżeli wątek posiada taki kontekst

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Systemy Operacyjne i Sieci Komputerowe Klasa: pierwsza Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

Przykłady interfejsu TCP i UDP w Javie

Przykłady interfejsu TCP i UDP w Javie Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1. Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)

Bardziej szczegółowo

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Paweł Berus Zespół Bezpieczeństwa PCSS 36. Spotkanie Poznańskiej Grupy.NET Poznań, 13.10. 2011 1 Agenda

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie RESTful Android Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie Jacek Laskowski jacek@japila.pl http://www.jaceklaskowski.pl wersja 1.0, 08.12.2011 O prelegencie - Jacek Laskowski

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop. 2016 Spis treści Wstęp 9 1 Instalacja i aktualizacja systemu 13 Przygotowanie do instalacji 14 Wymagania sprzętowe 14 Wybór

Bardziej szczegółowo

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C# Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C# W poprzednim odcinku Git ciągle jest git.net Framework wprowadzenie.net is all around Ala ma kota na Ubuntu Pierwszy

Bardziej szczegółowo

2 Konfiguracja i utrzymanie bazy danych Przed rozpoczęciem Lekcja 1: Konfigurowanie plików i grup plików Pliki i grupy plików...

2 Konfiguracja i utrzymanie bazy danych Przed rozpoczęciem Lekcja 1: Konfigurowanie plików i grup plików Pliki i grupy plików... Spis treści Podziękowania... xix Wstęp... xxi Korzystanie z dysku CD... xxi Jak zainstalować testy ćwiczeniowe... xxii Jak korzystać z testów ćwiczeniowych... xxii Jak odinstalować testy ćwiczeniowe...

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie

Bardziej szczegółowo

Numeryczna algebra liniowa

Numeryczna algebra liniowa Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów

Bardziej szczegółowo