Realizacja rozproszonej komunikacji międzyprocesowej (IPC) w środowisku OpenSSI
|
|
- Natalia Stefańska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Realizacja rozproszonej komunikacji międzyprocesowej (IPC) w środowisku OpenSSI Projekt z przedmiotu RSO Kamil Kołtyś KJKoltys@elka.pw.edu.pl 16 czerwca 2005 Spis treści 1 Wprowadzenie 2 2 Test semaforów Opis Wyniki Przypadek 1 - wszystkie procesy wykonywane na jednym węźle Przypadek 2 - procesy wykonywane na kilku różnych węzłach (migracje na początku) Przypadek 3 - jeden proces migruje wiele razy między dwoma węzłami Wnioski Test potoków Opis Wyniki Przypadek 1 - mały rozmiar wektora i duża liczba działań Przypadek 2 - duży rozmiar wektora i mała liczba działań Wnioski Test pamięci dzielonej Opis Wyniki Przypadek 1 - rozmiar pamięci dzielonej 4 bajty Przypadek 2 - rozmiar pamięci dzielonej 40 kilobajtów Przypadek 3 - rozmiar pamięci dzielonej 4 megabajty Wnioski Podsumowanie 11 1
2 1 WPROWADZENIE 1 Wprowadzenie Komunikacja międzyprocesowa w środowisku OpenSSI realizowana jest poprzez te same obiekty IPC, jakie występują w tradycyjnym systemie Linux. Mamy zatem do dyspozycji: potoki kolejki FIFO sygnały kolejki wiadomości semafory pamięć dzieloną gniazda (Internet-domain i Unix-domain) Warto wspomnieć, że OpenSSI zawiera pakiet oprogramowania PVM oraz implementuje interfejs MPI. Obu tych mechanizmów także można użyć do komunikacji międzyprocesowej. Rozproszona komunikacja międzyprocesowa w środowisku OpenSSI jest przezroczysta. Oznacza to, że dla semaforów, kolejek wiadomości i pamięci dzielonej jest jedna przestrzeń nazw w całym klastrze, a potoki, kolejki FIFO i gniazda są wspólne w całym klastrze. Przestrzeń nazw dla IPC jest zarządzana przez IPC Nameserver, który jest automatycznie reaktywowany po awarii węzła, na którym się on znajdował. Każdy obiekt IPC jest tworzony na tym węźle, na którym wykonywany jest proces, który go powołuje do życia. Ale jest on różnież dostępny z każdego innego węzła w klastrze, skąd każdy proces może z niego korzystać w dokładnie taki sam sposób, jakby znajdował się on na tym samym węźle, co dany obiekt IPC. Wyjątek stanowią te obiekty IPC, które zostały utworzone przez procesy wykonywane jako lokalne na danej maszynie. Ich zasięg, podobnie jak zasięg procesu jest lokalny i odwoływać się mogą do niego tylko procesy z tego węzła. Obiekty IPC nie mogą być przenoszone z jednego węzła na inny węzeł, jak np. procesy. Gdy zostaną utworzone na danym weźle, muszą już na nim pozostać aż do momentu ich usunięcia. Dlatego właśnie szybkość działania mechanizmów IPC w środowisku OpenSSI w dużej mierze zależy od tego czy proces będzie migrował, czyli przemieszczał się na inny węzeł czy też nie. Jeżeli bowiem po migracji proces odwoła się do któregoś z obiektów IPC, które wcześniej (przed migracją) utworzył (na innym węźle), to wystąpi opóźnienie związane z koniecznością przesyłania komunikatów przez sieć. Celem niniejszego opracowania jest przeanalizowanie wpływu migracji procesów na szybkość działania mechanizmów IPC. Tym samym będzie można ocenić wydajność środowiska OpenSSI w kontekście komunikacji międzyprocesowej. Jest to szczególnie ważne zważywszy na istotę systemów klastrowych, w których poprzez migrację procesów dokonuje się optymalnego przydziału zasobów (głównie procesora) poszczególnym procesom. 2
3 2 TEST SEMAFORÓW 2 Test semaforów 2.1 Opis Test semaforów będzie wykorzystywał program implementujący rozwiązanie klasycznego problemu synchronizacji 5 filozofów. Ogólnie rzecz ujmując, problem ten polega na tym, że każdy z filozofów w przerwach swoich rozmyślań musi spożyć posiłek. Na stole przy którym jedzą znajduje się 5 talerzy i 5 widelców między każdymi dwoma talerzami. Aby filozof mógł jeść potrzebuje on obu sąsiednich widelców. Należy tak zsynchronizować spożywanie posiłków przez filozofów, aby nie doszło do zakleszczenia. Program rozwiązujący ten problem korzysta z mechanizmu semaforów tworząc zbiór 5 semaforów (dla każdego widelca). Problem zakleszczenia jest tutaj rozwiązany dzięki zapewnieniu przez system operacyjny jednoczesnego przeprowadzania operacji na kilku semaforach. W związku z tym filozof albo podnosi dwa widelce naraz albo nie podnosi żadnego. Program kończy swoje działanie po ustalonym czasie 30 sekund zapamiętując liczbę spożytych w tym czasie posiłków przez każdego z filozofów. Test semaforów ma polegać na sprawdzeniu jak zmienia się liczba spożytych posiłków przez poszczególnych filozofów w zależności od tego jakie migracje nastąpiły w trakcie działania programu. 2.2 Wyniki W każdym z poniższych przypadków wykonano pięciokrotnie program testowy, aby przedstawić rozpiętność zmian kolejnych wyników. W tabelach zawarta jest informacja o ilości zjedzonych posiłków przez poszczególnych filozofów Przypadek 1 - wszystkie procesy wykonywane na jednym węźle W tym przypadku rozważane są dwie sytuacje: pierwsza, gdy wszystkie procesy wykonują się na tym samym węźle, gdzie zostały utworzone semafory i druga, gdy procesy wszystkie procesy na samym początku zostają przemieszczone na inny (ale wszystkie na ten sam) węzeł Średnia Tablica 1: Test semaforów (przypadek 1a) - wszyskie procesy wykonują sie na węźle macierzystym (brak migracji) Przypadek 2 - procesy wykonywane na kilku różnych węzłach (migracje na początku) W tym przypadku rozważany jest wpływ na liczbę spożytych posiłków przez filozofów w zależności od rozmieszczenie procesów na kilku węzłach. Ewentualne migracje 3
4 2 TEST SEMAFORÓW Średnia Tablica 2: Test semaforów (przypadek 1b) - wszystkie procesy wykonują się na innym węźle niż ten, na którym zostały utworzone (migracja na początku) poszczególnych procesów występują tylko na początku działania programu. Rozpatrywane będą trzy sytuacje. W pierwszej procesy filozofów 1 i 4 będą wykonywać się pierwszym węźle, a pozostałe trzy na drugim. W drugiej podobnie procesy filozofów będą wykonywać się na pierwszym węźle, ale pozostałe trzy zostaną rozmieszczone na trzech różnych węzłach. Ostatnia sytuacja będzie rozpatrywać, podobnie jak pierwsza, rozmieszcznie wszystkich procesów na tylko dwóch węzłach, ale procesy te zostaną rozmieszczone w inny, następujący sposób: procesy filozofów 1 i 2 na pierwszym węźle, a procesy 3, 4 i 5 na drugim Średnia Tablica 3: Test semaforów (przypadek 2a) - procesy filozofów 1 i 4 wykonują się na pierwszym węźle, a pozostałe trzy na drugim, tym samym węźle Średnia Tablica 4: Test semaforów (przypadek 2b) - procesy filozofów 1 i 4 wykonują się na pierwszym węźle, a pozostałe trzy na trzech różnych węzłach 4
5 2 TEST SEMAFORÓW Średnia Tablica 5: Test semaforów (przypadek 2c) - procesy filozofów 1 i 2 wykonują się na pierwszym węźle, a pozostałe trzy na drugim, tym samym węźle Przypadek 3 - jeden proces migruje wiele razy między dwoma węzłami W tym przypadku rozważany jest wpływ wielokrotnej migracji jednego procesu między węzłami na liczbę spożywanych posiłków przez poszczególnych filozofów. Ten przypadek będzie uwzględniał dwa podprzypadki. W pierwszym proces będzie migrował pomiędzy węzłem macierzystym, którym wykonują się pozostałe procesy, a jakimś innym węzłem. Natomiast w drugim podprzypadku proces będzie migrował między dwoma węzłami różnymi od macierzystego, na którym wykonują się pozostałe procesy. Oba podprzypadki będą rozpatrywały dwie sytuacje w zależności od częstoliwości migracji: migracja procesu filozofa co 10 i co 100 posiłków Średnia Tablica 6: Test semaforów (przypadek 3a) - proces filozofa drugiego migruje pomiędzy węzłem macierzystym a innym węzłem co 10 posiłków Średnia Tablica 7: Test semaforów (przypadek 3b) - proces filozofa drugiego migruje pomiędzy węzłem macierzystym a innym węzłem co 100 posiłków 5
6 2 TEST SEMAFORÓW Średnia Tablica 8: Test semaforów (przypadek 3c) - proces filozofa drugiego migruje pomiędzy dwoma węzłami różnymi od węzła macierzystego co 10 posiłków Średnia Tablica 9: Test semaforów (przypadek 3d) - proces filozofa drugiego migruje pomiędzy dwoma węzłami różnymi od węzła macierzystego co 100 posiłków 2.3 Wnioski Pierwszy przypadek pokazuje sytuację, w której wszystkie procesy wykonują się na jednym węźle. W pierwszym z nich procesy znajdują się na tym samym węźle, co obiekty synchronizujące (semafory), w drugim zaś przypadku na innym węźle. Jak można zauważyć różnica pomiędzy średnio zjedzonymi posiłkami przez poszczegónych filozofów jest nieznaczna i wskazuje na znikomy narzut czasowy w przypadku korzystania z semofora znajdującego się na innym węźle. W drugim przypadku w pierwszej z sytuacji testowych można zaobserwować znaczny wzrost liczby spożywanych przez filozofów posiłków w porównaniu z dwoma sytuacjami z pierwszego przypadku. Już odpowiednie wykorzystanie dwóch węzłów podnosi wydajność o 25%. Co ciekawe rozmieszczenie procesów na czterech węzłach, jak w drugiej sytuacji tego przypadku, nie poprawiło specjalnie tych rezultatów. Można to wytłumaczyć tym, że jednocześnie i tak może jeść conajwyżej dwóch filozofów. Tak więc dysponując nawet większą liczbą węzłów, nie daje to możliwości wykonywania większej liczby procesów równolegle. Uwzględniając ten fakt i to, że wyniki dla czterech węzłów nie różniły się (a w każdym razie na pewno nie były gorsze) od wyników otrzymanych dla dwóch węzłów, potwierdza się dobra wydajność mechanizmu semaforów. Komunikacja między czterema węzłami była równie efektywna jak komunikacja między dwoma. Trzecia sytuacja tego przypadku pokazuje, że rozmieszczenie procesów na węzłach ma znaczenie i gdy trzech sąsiednich filozofów jest wykonywanych na tej samej maszynie, to otrzymywane wyniki są gorsze. Trzeci, a tym samym ostatni przypadek prezentuje wpływ liczby migracji na ilość zjedzonych posiłków przez poszczególnych filozofów. W pierwszym podprzypadku widać, że gdy filozof drugi często migrował (co 10 posiłków) to on i jego sąsiedzi jedli 6
7 3 TEST POTOKÓW średnio mniej niż filozofowie 4 i 5. Stąd wniosek, że sam proces migracji może być obciążający i ten proces, który jej często podlega rzadziej będzie uzyskiwał do dostęp do zasobów współdzielonych. Także inne procesy, które z nim będą konkurować, będą miały mniej okazji do korzystania z tych zasobów. Warto jednak zwrócić uwagę, że w ostatecznym rozrachunku i tak wyniki otrzymane w tej sytuacji były lepsze niż wtedy, gdy wszystkie procesy wykonywały się na tym samym węźle. Zatem koszty migracji są mniejsze niż zysk płynący z równoległego wykonywania procesów. Ten koszt jest tym mniejszy, im rzadziej następuje migracja. Gdy proces filozofa drugiego migrował co 100 posiłków, to różnica w jedzonych posiłkach między tym filozofem i jego sąsiadami a pozostałymi dwoma nieznacznie przemawiała na korzyść tych dwóch ostatnich. Na podstawie trzeciego przypadku testowego można porównać jak migracja jednego procesu wpływa na działanie programu, gdy migruje on pomiędzy dwoma węzłami różnymi od tego, na którym wykonują się pozostałe procesy. Liczba zjedzonych posiłków przez poszczególnych filozofów jest odpowienio większa zarówno, gdy migracja następuje po dziesięciu jak i po stu posiłkach. Nawet w przypadku częstej migracji otrzymano dużo lepsze wyniki niż przy braku jakiejkolwiek migracji. Migrujący proces i jego sąsiedzi jedli średnio o 30 posiłków więcej, a pozostali nawet o 70 posiłków więcej. Gdy migracja była rzadsza, otrzymano podobny wynik jak w drugim przypadku dla ostatniej sytuacji, gdy dwa procesy wykonywały się na jednym węźle a trzy na drugim. Reasumując, wykorzystanie kilku węzłu w przypadku synchronizacji za pomocą semaforów, jest opłacalne i koszt związany z koniecznością komuniakcji przez sieć jest rekompensowany z dość dużą nawiązką przez równoległość wykonywania procesów. 3 Test potoków 3.1 Opis Test potoków będzie wykorzystywał prosty program implementujący komunikację przez dwa potoki. Komunikacja będzie zachodzić pomiędzy procesem generującym (proces generator ) wektory liczb naturalnych i procesem kalkulatorem, który będzie wykonywał na nich odpowiednie działania i zwracał wynik pierwszemu procesowi. Po przeprowadzeniu wszystkich obliczeń program kończy swoje działanie. Test potoków będzie polegał na wyznaczeniu czasu wykonywania się programu w zależności od tego, które procesy zostały przeniesione na inne węzły. Czas będzie mierzony za pomocą polecenia /usr/bin/time. Testy będą przeprowadzone dla różnych rozmiarów wektora. 3.2 Wyniki Współczynnik w trzeciej kolumnie w poniższych tabelach wyraża stosunek otrzymanego czasu dla danej sytuacji do najlepszego (najmniejszego) z uzyskanych czasów. Wartości czasów w nawiasach dotyczą sytuacji migracji obu procesów na różne węzły. W przypadku migracji jednego procesu nie miało większego znaczenia, który z nich migrował (generator czy kalkulator). 7
8 3 TEST POTOKÓW Przypadek 1 - mały rozmiar wektora i duża liczba działań W pierwszym przypadku rozważany jest rozmiar wektora równy 1 element. Ilość działań wykonywanych w trakcie trwania programu jest równe Opis migracji Czas [sec] Współczynnik brak migracji migracja generatora/kalulatora przed pierwszym migracja generatora/kalkulatora przed migracja generatora/kalkulatora przed migracja generatora/kalkulatora przed migracja generatora/kalkulatora przed migracja generatora i kalulatora przed pierwszym 50.5 (46.7) 49.5 (45.7) migracja generatora i kalkulatora przed (35.8) (35.09) migracja generatora i kalkulatora przed (24.2) 25.5 (23.72) migracja generatora i kalkulatora przed (12.6) 13.3 (12.35) migracja generatora i kalkulatora przed (1.57) 1.6 (1.53) Tablica 10: Test potoków (przypadek 1) - mały rozmiar wektora i duża liczba działań Przypadek 2 - duży rozmiar wektora i mała liczba działań W drugim przypadku rozważany jest rozmiar wektora równy element. Ilość działań wykonywanych w trakcie trwania programu jest równe Wnioski Niezależnie od rozmiaru i ilości wykonywanych działań migracja jednego procesu powoduje znaczne wydłużenie czasu wykonywania wszystkich obliczeń. Im wcześniej następowała migracja tym ten czas był większy. W przypadku pierwszym nawet bardzo późna migracja procesu generatora (lub kalkulatora) - po wykonaniu 99% obliczeń - powoduje ok razy dłuższe wykonywanie się programu. W drugim przypadku wykonanie tylko ostatniego działania po migracji skutkuje już wzrostem czasu 4.52 razy. Migracja obu procesów jeszcze bardziej pogarsza wydajność. Dla obu przypadów migracja przed rozpoczęciem wszystkich obliczeń powoduje wydłużenie czasu wykonania programu 50-ciokrotnie. Wynika to z konieczności komunikowania się obu procesów z potokiem przez sieć. Stąd wniosek, że im więcej procesów będzie się znajdywało na innym węźle niż potok, przez który się komunikują, tym ta komunikacja będzie wolniejsza. 8
9 4 TEST PAMIĘCI DZIELONEJ Opis migracji Czas [sec] Współczynnik brak migracji migracja generatora/kalulatora przed pierwszym migracja generatora/kalkulatora przed migracja generatora/kalkulatora przed migracja generatora i kalulatora przed pierwszym 35.2 (37.4) 48.2 (51.2) migracja generatora i kalkulatora przed (20.4) 26.3 (27.9) migracja generatora i kalkulatora przed (5.9) 7.6 (8.08) Tablica 11: Test potoków (przypadek 2) - duży rozmiar wektora i mała liczba działań Warto zwrócić uwagę na istotną różnicę pomiedzy przedstawionymi przypadkami w sytuacji, gdy oba procesy migrują albo na ten sam węzeł albo na inne węzły. Otóż w przypadku małego wektora i dużej liczby obliczeń korzystniej jest jak oba procesy wykonują się na różnych węzłach. Natomiast gdy wykonujemy małą liczbę dużych transmisji (jak w drugim przypadku drugim), to wykonywanie obu procesów na tym samym węźle daje lepsze rezultaty. Uzasadnieniem tego faktu może być to, że gdy wykonujemy dużą liczbę małych transmisji, to w przypadku wykonywania się procesów na jednym węźle konieczna jest częsta zmiana kontekstu procesora, która może być kosztowna. Gdy procesy wykonują się na różnych węzłach zmiana kontekstu oczywiście nie jest potrzebna. Z kolei, gdy wykonujemy mało dużych transmisji, to koszt zmiany kontekstu nie jest ważny w porównaniu z czasem potrzebnym na przesłanie danych. Wówczas komunikacja pomiędzy dwoma węzłami jest wydajniejsza niż pomiedzy trzema. Stąd można wyciągnać wniosek, że jeżeli nie będziemy chcieli przesyłać dużej ilości danych przez potok, a większą część działania procesów będą stanowiły obliczenia, to równomierne rozłożenie procesów na kilku węzłach może zrekompensować koszt komunikacji przez sieć. 4 Test pamięci dzielonej 4.1 Opis Test pamięci dzielonej wykorzystuje program, w którym dwa procesy zwiększają o 1 wartość każdego elementu tablicy współdzielonej (zainicjowanej wartością 0). Następnie liczą sumę wszystkich elementów i sprawdzają jej wartość. Jeżeli jest ona większa od ustalonej wartości, to następuje koniec działania programu. Pamięci dzielona jest synchronizowana za pomocą semafora. Test pamięci dzielonej będzie polegał na porównaniu czasów wykonywania się obu programów w zależności od wystąpienia określonych migracji procesów. Podobnie jak w poprzednim teście czas będzie mierzony za pomocą polecenia /usr/bin/time i będzie rozpatrywał różne wielkości dzielonej tablicy. 9
10 4 TEST PAMIĘCI DZIELONEJ 4.2 Wyniki W poniższych testach rozważamy tylko migracje na samym początku, tzn. przed rozpoczęciem wykonywania działań na pamięci dzielonej przez procesy. Podobnie jak w poprzednim teście współczynnik w trzeciej kolumnie w poniższych tabelach wyraża stosunek otrzymanego czasu dla danej sytuacji do najlepszego (najmniejszego) z uzyskanych czasów Przypadek 1 - rozmiar pamięci dzielonej 4 bajty W pierwszym przypadku rozważany jest rozmiar tablicy równy 1 element. Wartość sumy, po której następuje zakończenie programu jest równa 1000, co oznacza że oba procesy będą musiały wykonać w sumie 1000 inkrementacji każdego elementu tablicy. Opis migracji Czas [sec] Współczynnik brak migracji migracja jednego procesu migracja obu procesów na ten sam węzeł migracja obu procesów na różne węzły Tablica 12: Test pamięci dzielonej (przypadek 1) - rozmiar pamięci dzielonej 4 bajty Przypadek 2 - rozmiar pamięci dzielonej 40 kilobajtów W drugim przypadku rozważany jest rozmiar tablicy równy element. Wartość sumy, po której następuje zakończenie programu jest równa , co oznacza że oba procesy będą musiały wykonać w sumie 100 inkrementacji każdego elementu tablicy. Opis migracji Czas [sec] Współczynnik brak migracji migracja jednego procesu migracja obu procesów na ten sam węzeł migracja obu procesów na różne węzły Tablica 13: Test pamięci dzielonej (przypadek 2) - rozmiar pamięci dzielonej 40 kilobajtów Przypadek 3 - rozmiar pamięci dzielonej 4 megabajty W trzecim przypadku rozważany jest rozmiar tablicy równy element. Wartość sumy, po której następuje zakończenie programu jest równa , co oznacza że oba procesy będą musiały wykonać w sumie 100 inkrementacji każdego elementu tablicy. 10
11 5 PODSUMOWANIE Opis migracji Czas [sec] Współczynnik brak migracji migracja jednego procesu migracja obu procesów na ten sam węzeł migracja obu procesów na różne węzły Tablica 14: Test pamięci dzielonej (przypadek 3) - rozmiar pamięci dzielonej 4 megabajty 4.3 Wnioski Dla małego obszaru pamięci dzielonej (1 element typu integer - 4 bajty) wpływ migracji na czas wykonywania się programów był nieznaczny, jakkolwiek jednak migracja spowodowała jego niewielki wzrost. Wraz ze zwiększeniem rozmiaru tablicy dzielonej rożnice pomiędzy poszczegónymi przypadkami stawały się coraz większe. Dla tablicy o rozmiarze elementów (40kB) migracja obu procesów na różne węzły sprawiła wzrost czasu wykonania programu 1.6 razy. Co ciekawe w przypadku migracji obu procesów na jeden, ten sam węzeł uzyskano lepszy czas niż dla migracji jednego procesu. Dla rozmiaru tablicy równego elementów (4Mb) wpływ migracji na wydajność programu był ogromny. Migracja obu procesów na ten sam węzeł spowodowała wprawdzie tylko dwukrotne wydłużenie czasu, ale migracja jednego procesu aż 43-krotne, zaś migracja obu na różne węzły obniżyła wydajność aż 84 razy. Można zatem wyciągnąć wniosek, że gdy oba procesy są wykonywane na dwóch różnych węzłach, to komunikacja między nimi poprzez pamięć dzieloną nie jest wydajna, zwłaszcza jeżeli mamy do czynienia z dużym obszarem pamięci dzielonej. Jest to o tyle dotkliwe, że praktycznie czyni bezsensownym przydzielenie procesom komunikującym się przez pamięć dzieloną różnych węzłów. Zysk bowiem z równoległego wykonywania się procesów może skutecznie zostać zaprzepaszczony przez komunikację za pomocą pamięci dzielonej. 5 Podsumowanie W powyższych testach wydajnościowych poddano analizie następujące obiekty IPC służące do rozproszonej komunikacji międzyprocesowej w środowisku OpenSSI: semafory, potoki i pamięć dzieloną. Mechanizm semaforów okazał bardzo wydajny. Konieczności komunikowania się przez sieć z obiektami IPC znajdującymi się na innych węzłach nie przynosiła większych nakładów czasowych, a zysk płynący z równoległego wykonywania procesów był znaczący. Nawet częste migracje w trakcie działania programu nie powodują znacznego obniżenia wydajności, zwłaszcza gdy dotyczą migracji na jakiś dodatkowy węzeł - a taki charakter ma większość migracji, które mają na celu równomierne obciążenie klastra. Dzięki temu programy wykonywane w środowisku OpenSSI, które wykorzystują ten rodzaj obiektu IPC, nie powinny zachowywać się gorzej pod tym względem. Wręcz przeciwnie, korzyści płynące z rozmieszczenia procesów na wielu węzłach klastra mogą znacznie podnieść efektywność wykonywania programu. Gorzej rzecz wygląda w przypadku potoków. Testy dla tego obiektu IPC wykazały, że migracja ma znaczący wpływ na szybkość działania programu i im więcej 11
12 5 PODSUMOWANIE procesów komunikujących z potokiem wykonuje się na innym węźle niż ten, na którym znajduje się potok, tym większe opóźnienia są wprowadzane przez komunikację sieciową. Niemniej jeśli procesy wykonują dużo obliczeń, które można przeprowadzać równolegle, a dane przesyłane przez potok mają niewielki rozmiar, to ten narzut czasowy może okazać się mniejszy niż zysk płynacy z optymalnego rozdysponowania zasobów klastra pomiędzy procesy. Takie programy mogą wydajnie działać w środowisku OpenSSI. Test pamięci dzielonej pokazał, że efektywność jej działania w dużym stopniu zależy od jej rozmiaru. Gdy pamięć jest mała, to straty czasu wynikajace z komunikacji sieciowej też są małe. Jednakże pamięć dzielona dużo lepiej sprawdza się w przypadku, gdy procesy komunikujące się za jej pomocą znajdują się na tym samym węźle (niekoniecznie na tym samym co pamięć). Dla dużych obszarów pamięci dzielonej różnice czasów wykonania są znaczne i o wiele gorzej wypadają przy migracji procesów na różne węzły. O ile pamięć dzielona jest najszybszym sposobem komunikacji międzyprocesowej w tradycyjnym systemie Linux, o tyle w rozproszonym środowisku OpenSSI traci ona bardzo wiele ze swojej wydajności. Dlatego należy być ostrożnym podczas uruchamiania w tym systemie klastrowym programów korzystających z tego mechanizmu komunikacji. Istnieje bowiem duże prawdopodobieństwo, że będą one działały wolniej niż w środowisku jednoprocesorowym. 12
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ęć
2 Implementacja w systemie Linux 2.4
1 IPC IPC (InterProcess Communication) to udostępniane przez jądro systemu operacyjnego mechanizmy służące komunikacji oraz współdzieleniu zasobów i informacji pomiędzy procesami. IPC Systemu V udostępnia
Przesyłania danych przez protokół TCP/IP
Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i
VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp
Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Architektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP.
P O L I T E C H N I K A S Z C Z E C I Ń S K A Wydział Informatyki PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP. Autor: Wojciech
Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń równoległych Podobnie jak w obliczeniach sekwencyjnych, gdzie celem optymalizacji wydajności było maksymalne
Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN
Internet kwantowy (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak Instytut Informatyki Teoretycznej i Stosowanej PAN 16. stycznia 2012 Plan wystąpienia 1 Skąd się biorą stany kwantowe? Jak
Równoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Równoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki
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...................................................
Problemy rozwoju Internetu kwantowego
Instytut Informatyki Teoretycznej i Stosowanej PAN 21 grudnia 2011 Plan wystąpienia Komunikacja kwantowa i sieci kwantowe Komunikacja kwantowa Sieci kwantowe Składniki intersieci kwantowych Powielacze
Maciej Piotr Jankowski
Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji
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
Analiza ilościowa w przetwarzaniu równoległym
Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2
Wprowadzenie do programowania współbieżnego
Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie
Programowanie Równoległe i Rozproszone
Programowanie Równoległe i Rozproszone Lucjan Stapp Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska (l.stapp@mini.pw.edu.pl) 1/30 PRiR MONITOR klasa z następującymi właściwościami: wszystkie
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
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..
Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych
Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo
Parametry techniczne. Testy
Dyski SSD stają się pomału podstawą każdego komputera. Dzięki swoim parametrom, które pod wieloma względami biją klasyczne konstrukcje HDD, oferują niezwykle wysoką wydajność. Przekłada się to między innymi
Publiczna Szkoła Podstawowa nr 14 w Opolu. Edukacyjna Wartość Dodana
Publiczna Szkoła Podstawowa nr 14 w Opolu Edukacyjna Wartość Dodana rok szkolny 2014/2015 Edukacyjna Wartość Dodana (EWD) jest miarą efektywności nauczania dla szkoły i uczniów, którzy do danej placówki
Przykładowe sprawozdanie. Jan Pustelnik
Przykładowe sprawozdanie Jan Pustelnik 30 marca 2007 Rozdział 1 Sformułowanie problemu Tematem pracy jest porównanie wydajności trzech tradycyjnych metod sortowania: InsertionSort, SelectionSort i BubbleSort.
SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Podstawowe zagadnienia
SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych
Projektowanie systemu krok po kroku
Rozdział jedenast y Projektowanie systemu krok po kroku Projektowanie systemu transakcyjnego jest ciągłym szeregiem wzajemnie powiązanych decyzji, z których każda oferuje pewien zysk i pewien koszt. Twórca
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 005 Plik wymiany Pamięć wirtualna 2 SO i SK/WIN Plik wymiany - rodzaj pamięci wirtualnej komputerów. Plik ten służy do tymczasowego przechowywania
IPC: Kolejki komunikatów
IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat
Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak
Multiprocessor Shared-Memory Information Exchange Damian Klata, Adam Bułak Wstęp Zajmiemy się analizą protokołu opartego na komunikacji przez pamięć dzieloną opracowany przez firmę Westinghouse. Protokół
Programowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
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............................................
Systemy operacyjne III
Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego
Programowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.
Wstęp Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Przedstawienie architektur sprzętu wykorzystywanych do
Zarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Systemy operacyjne III
Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w
Sieci obliczeniowe poprawny dobór i modelowanie
Sieci obliczeniowe poprawny dobór i modelowanie 1. Wstęp. Jednym z pierwszych, a zarazem najważniejszym krokiem podczas tworzenia symulacji CFD jest poprawne określenie rozdzielczości, wymiarów oraz ilości
WOJSKOWA AKADEMIA TECHNICZNA
WOJSKOWA AKADEMIA TECHNICZNA LABORATORIUM DIAGNOSTYKA I WIARYGODNOŚĆ SYSTEMÓW KOMPUTEROWYCH Stopień, imię i nazwisko prowadzącego Stopień, imię i nazwisko słuchacza Grupa szkoleniowa dr inż. Zbigniew Zieliński
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
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
Pamięci masowe. ATA (Advanced Technology Attachments)
Pamięci masowe ATA (Advanced Technology Attachments) interfejs systemowy w komputerach klasy PC i Amiga przeznaczony do komunikacji z dyskami twardymi zaproponowany w 1983 przez firmę Compaq. Używa się
Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek
Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
Dlaczego należy oceniać efektywność systemów wynagradzania? Kraków, 18.05.2015 r. Renata Kucharska-Kawalec, Kazimierz Sedlak
Dlaczego należy oceniać efektywność systemów wynagradzania? Kraków, 18.05.2015 r. Renata Kucharska-Kawalec, Kazimierz Sedlak Dlaczego należy oceniać efektywność systemów wynagradzania? Bo nakłady na wynagrodzenia
Serwer druku w Windows Server
Serwer druku w Windows Server Ostatnimi czasy coraz większą popularnością cieszą się drukarki sieciowe. Często w domach użytkownicy posiadają więcej niż jedno urządzenie podłączone do sieci, z którego
PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka
PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,
Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz
Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.
Systemy rozproszone System rozproszony
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
współbieżność - zdolność do przetwarzania wielu zadań jednocześnie
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
SIECI KOMPUTEROWE Adresowanie IP
Adresowanie IP Podstawowa funkcja protokołu IP (Internet Protocol) polega na dodawaniu informacji o adresie do pakietu danych i przesyłaniu ich poprzez sieć do właściwych miejsc docelowych. Aby umożliwić
Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008
Jadro monolityczne vs. mikrojadro 9 grudnia 2008 Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne Aplikacje użytownika wywołania
WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy. Wykład 4 strona 1/24
WYKŁAD 4 SEMAPHORES (CIĄG DALSZY) Przykład 6 Problem czytelników i pisarzy Wykład 4 strona 1/24 Ilustracja 5. Schemat problemu czytelników i pisarzy Wykład 4 strona 2/24 Opis problemu: Jest n czytelników,
2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,
2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d
Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny
41 Rodzaje testów i pomiarów aktywnych ZAGADNIENIA - Jak przeprowadzać pomiary aktywne w sieci? - Jak zmierzyć jakość usług sieciowych? - Kto ustanawia standardy dotyczące jakości usług sieciowych? - Jakie
Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1
Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)
43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania
43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania Typy pamięci Ulotność, dynamiczna RAM, statyczna ROM, Miejsce w konstrukcji komputera, pamięć robocza RAM,
Analiza przychodów ze sprzedaży Przykład. strona 1
Analiza przychodów ze Przykład www.strattek.pl strona 1 Spis treści strona 1. Dane o firmy 2 2. Wpływ udzielonych rabatów i zmian struktury na zmiany przychodów ze 3. Dynamika zmian cen oraz ilości sprzedanych
Organizacja pamięci w procesorach graficznych
Organizacja pamięci w procesorach graficznych Pamięć w GPU przechowuje dane dla procesora graficznego, służące do wyświetlaniu obrazu na ekran. Pamięć przechowuje m.in. dane wektorów, pikseli, tekstury
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:
AiSD zadanie trzecie
AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania
Działanie komputera i sieci komputerowej.
Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia
Przemysław Majkut Gimnazjum N analiza efektów kształcenia na podstawie wyników egzaminów zewnętrznych
Przemysław Majkut Gimnazjum N analiza efektów kształcenia na podstawie wyników egzaminów zewnętrznych Opis szkoły Opisywane gimnazjum znajduje się w niewielkiej miejscowości, liczącej niewiele ponad tysiąc
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM
Modyfikacja algorytmów retransmisji protokołu TCP.
Modyfikacja algorytmów retransmisji protokołu TCP. Student Adam Markowski Promotor dr hab. Michał Grabowski Cel pracy Celem pracy było przetestowanie i sprawdzenie przydatności modyfikacji klasycznego
Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak
Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak OSI (ang. Open System Interconnection) lub Model OSI to standard zdefiniowany przez ISO oraz ITU-T, opisujący strukturę komunikacji sieciowej.
znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.
Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często
Dzielenie sieci na podsieci
e-damiangarbus.pl Dzielenie sieci na podsieci dla każdego Uzupełnienie do wpisu http://e-damiangarbus.pl/podzial-sieci-na-podsieci/ Dwa słowa wstępu Witaj, właśnie czytasz uzupełnienie do wpisu na temat
SOP2 - semafory. grudzień
SOP2 - semafory grudzień 2010 1 Plan prezentacji Problem producent-konsument Problem czytelników i pisarzy Problem jedzących filozofów grudzień 2010 2 Producent-konsument var bufor: array [0..n-1] of produkt;
Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.
Macierze RAID Cele RAID RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków. - zwiększenie niezawodności (odporność na awarie), - zwiększenie wydajności transmisji
Sieci Komputerowe 2 / Ćwiczenia 2
Tematyka Sieci Komputerowe 2 / Ćwiczenia 2 Opracował: Konrad Kawecki na podstawie materiałów: http://www.isi.edu/nsnam/ns/tutorial/index.html Na ćwiczeniach zapoznamy się z symulatorem
Generacja źródeł wiatrowych cz.2
Generacja źródeł wiatrowych cz.2 Autor: Adam Klepacki, ENERGOPROJEKT -KATOWICE S.A. Średnioroczne prawdopodobieństwa wystąpienia poszczególnych obciążeń źródeł wiatrowych w Niemczech dla siedmiu lat kształtują
Strategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Źródła kosztów przetwarzania współbieżnego interakcje między procesami
Raport Hurtownie Danych
Raport Hurtownie Danych Algorytm Apriori na indeksie bitmapowym oraz OpenCL Mikołaj Dobski, Mateusz Jarus, Piotr Jessa, Jarosław Szymczak Cel projektu: Implementacja algorytmu Apriori oraz jego optymalizacja.
Zwrot z inwestycji w IT: prawda czy mity
Zwrot z inwestycji w IT: prawda czy mity Inwestycje w technologie IT 1 muszą podlegać takim samym regułom oceny, jak wszystkie inne: muszą mieć ekonomiczne uzasadnienie. Stanowią one koszty i jako takie
Lista 2 logika i zbiory. Zad 1. Dane są zbiory A i B. Sprawdź, czy zachodzi któraś z relacji:. Wyznacz.
Lista 2 logika i zbiory. Zad 1. Dane są zbiory A i B. Sprawdź, czy zachodzi któraś z relacji:. Wyznacz. Na początek wypiszmy elementy obu zbiorów: A jest zbiorem wszystkich liczb całkowitych, które podniesione
Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change
Raport 4/2015 Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change autor: Michał Osmoła INIME Instytut nauk informatycznych i matematycznych
Optymalizacja wież stalowych
Optymalizacja wież stalowych W przypadku wież stalowych jednym z najistotniejszych elementów jest ustalenie obciążenia wiatrem. Generalnie jest to zagadnienie skomplikowane, gdyż wiąże się z koniecznością
Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski
Systemy operacyjne wykład 1- System operacyjny i jego zadania dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 3marca2016r. PLAN WYKŁADU 1 Historia i zadania
W. Guzicki Zadanie 41 z Informatora Maturalnego poziom podstawowy 1
W. Guzicki Zadanie 41 z Informatora Maturalnego poziom podstawowy 1 W tym tekście zobaczymy rozwiązanie zadania 41 z Informatora o egzaminie maturalnym z matematyki od roku szkolnego 014/015 oraz rozwiązania
Materiały dla finalistów
Materiały dla finalistów Malachoviacus Informaticus 2016 11 kwietnia 2016 Wprowadzenie Poniższy dokument zawiera opisy zagadnień, które będą niezbędne do rozwiązania zadań w drugim etapie konkursu. Polecamy
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
Struktury Danych i Złożoność Obliczeniowa
Struktury Danych i Złożoność Obliczeniowa Zajęcia 1 Podstawowe struktury danych Tablica Najprostsza metoda przechowywania serii danych, zalety: prostota, wady: musimy wiedzieć, ile elementów chcemy przechowywać
Standard transmisji równoległej LPT Centronics
Standard transmisji równoległej LPT Centronics Rodzaje transmisji szeregowa równoległa Opis LPT łącze LPT jest interfejsem równoległym w komputerach PC. Standard IEEE 1284 został opracowany w 1994 roku
Pomiary rezystancji izolacji
Stan izolacji ma decydujący wpływ na bezpieczeństwo obsługi i prawidłowe funkcjonowanie instalacji oraz urządzeń elektrycznych. Dobra izolacja to obok innych środków ochrony również gwarancja ochrony przed
; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...
Tekst na niebiesko jest komentarzem lub treścią zadania. Zadanie. Dane są macierze: A D 0 ; E 0 0 0 ; B 0 5 ; C Wykonaj poniższe obliczenia: 0 4 5 Mnożenia, transpozycje etc wykonuję programem i przepisuję
Równoległe symulacje Monte Carlo na współdzielonej sieci
Równoległe symulacje Monte Carlo na współdzielonej sieci Szymon Murawski, Grzegorz Musiał, Grzegorz Pawłowski Wydział Fizyki, Uniwersytet im. Adama Mickiewicza 12 maja 2015 S. Murawski, G. Musiał, G. Pawłowski
W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby
Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie
Paweł Grygiel O pracach domowych czyli, czy więcej znaczy lepiej?
Paweł Grygiel O pracach domowych czyli, czy więcej znaczy lepiej? Dlaczego zadawać? 1. utrwalanie w pamięci nabytej wiedzy, 2. lepsze zrozumienia materiału 3. kształtują umiejętność krytycznego myślenia
Monitorowanie wydajność w bazie Oracle11g
Monitorowanie wydajność w bazie Oracle11g Wstęp Monitorowanie wydajności bazy danych, a także aplikowanie aktualizacji to jedne z ważniejszych zadań administratora bazy danych. Wpływ na wydajność może