Metody skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej
|
|
- Damian Zieliński
- 10 lat temu
- Przeglądów:
Transkrypt
1 Rozdział 22 Metody skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej Streszczenie. W rozdziale opisano możliwości przyspieszenia fazy regeneracji krotek podczas realizacji algorytmów złączeń na danych znajdujących się w całości w pamięci operacyjnej. Często stosowanym wówczas podejściem jest wydzielenie z łączonych relacji podrelacji zawierających atrybuty złączenia, wykonanie złączenia na tych podrelacjach, co prowadzi do zbudowania indeksu złączeniowego a następnie na jego podstawie wygenerowanie relacji wynikowej. Faza generacji relacji wynikowej zwana także fazą regeneracji krotek stanowi w takim przetwarzaniu element najbardziej czasochłonny. W niniejszym rozdziale przeanalizowano przyczyny tego zjawiska i różne metody skrócenia czasu wykonywania fazy regeneracji. 1 Wstęp Wzrost pojemności pamięci operacyjnych wraz z jednoczesnym spadkiem ich ceny spowodował pojawienie się w ciągu kilkunastu ostatnich lat wielu systemów baz danych, w których podstawowym nośnikiem danych jest pamięć operacyjna. Systemy takie będziemy nazywać systemami baz danych w pamięci operacyjnej lub w skrócie MM DBMS (Main Memory Database Management System). Obecnie istnieje wiele takich systemów, część z nich to nawet rozwiązania komercyjne. Do tej grupy można zaliczyć przykładowo takie systemy jak: DataBlitz znany wcześniej pod nazwą Dalí [1], [11], FastDB [15], Oracle TimesTen [14], Polyhedra [13], extremedb [12]. Z rozwiązań eksperymentalnych wspomnieć należy Monet [2], [10] i Tachyon [7]. Spośród operatorów algebry relacji złączenie jest zwykle operacją najbardziej czasochłonną. Od lat poszukuje się coraz szybszych algorytmów wykonujących tę operację. W systemach typu MM DBMS czynnikiem decydującym o czasie realizacji algorytmów złączeń nie jest liczba dostępów do dysku (dane są przechowywane w pamięci operacyjnej, więc nie ma potrzeby odwoływania się do dysku) ale czas przetwarzania tych danych w pamięci. Stąd konieczne stało się takie przebudowanie klasycznych algorytmów złączeń, by dostosować je do specyfiki przetwarzania tego typu systemów. Jednym z często stosowanych rozwiązań jest wykonywanie złączeń nie na całych relacjach ale na ich kopiach zawierających wyłącznie atrybuty uczestniczące w złączeniu. Postępowanie takie prowadzi Robert Tutajewicz Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, Gliwice, Polska tutajewicz@polsl.pl
2 R. Tutajewicz do radykalnego skrócenia czasu wykonywania złączenia, ale powoduje także konieczność wprowadzenia dodatkowej fazy, w trakcie której na podstawie uzyskanego wcześniej wyniku złączenia tworzy się pełną relację wynikową. W takim przypadku ta właśnie faza, zwana fazą regeneracji krotek, staje się najbardziej czasochłonnym elementem złączenia. Zwykle jednak łączny czas trwania obydwu faz i tak jest znacznie krótszy niż w przypadku podejścia klasycznego. W niniejszym rozdziale przedstawiono metody przyspieszenia regeneracji krotek oraz efekty zastosowania każdej z metod. W końcowej części rozdziału porównano metody między sobą wskazując stosowanie której z nich daje najlepsze rezultaty. 2 Realizacja fazy regeneracji krotek Jeżeli złączenie wykonywane jest za pomocą algorytmów z sortowaniem lub haszowaniem, czas trwania regeneracji krotek może stanowić nawet 90% łącznego czasu obliczania wyniku złączenia. Poprawienie szybkości realizacji tej fazy może zatem spowodować także wyraźną poprawę łącznego czasu wykonania algorytmów złączeń. Aby to było możliwe konieczne jest najpierw określenie źródeł opóźnień. Następnie można spróbować tak zmodyfikować stosowane algorytmy, aby wyeliminować bądź co najmniej zmniejszyć udział opóźnień w łącznym czasie realizacji. Reprezentowanie relacji w pamięci W systemach typu MM DBMS zmieniono sposób reprezentowania danych tworzących relację. Zamiast klasycznego rozmieszczenia danych zgodnie z modelem NSM, stosuje się inne rozwiązania: pionową fragmentację kolumn (model DSM), podział w poprzek atrybutów (PAX) lub podział relacji na tzw. superbloki (MBSM). W dyskowych relacyjnych systemach baz danych powszechnie stosowanym sposobem rozmieszczenia danych jest umieszczenie całych rekordów reprezentujących krotki relacji w blokach na dysku (rys. 1). Model taki nazywany jest zwykle skrótem NSM (N-ary Storage Model). Jego podstawową zaletą jest to, że cały rekord może być pobrany z dysku za pomocą jednego odczytu. Z drugiej strony, w przypadku, gdy do realizacji zapytania potrzebne są wartości tylko kilku wybranych atrybutów, konieczne jest odczytanie zawartości wszystkich bloków tworzących tabelę. W bazach danych w pamięci operacyjnej pojawia się kolejna wada tego rozwiązania: niskie wykorzystanie pamięci podręcznej. Przy przetwarzaniu danych rozmieszczonych zgodnie z tym modelem, dużą część pamięci podręcznej zajmują wartości atrybutów nie wykorzystywane w zapytaniu. Naglówek bloku Atr1 Atr2 Rekord 1 Atr1 Atr2 Atr3 Atr1 Atr2 Rekord 2 Rekord 3 Atr3 Atr3 Rys. 1. Rozmieszczenie danych w pamięci zgodnie z modelem NSM 238
3 Sposoby skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej Alternatywą dla tego rozwiązania jest pionowa fragmentacja kolumn określana jako model DSM (Decomposition Storage Model [5]). Zgodnie z nim relację zawierającą n atrybutów należy podzielić na n podrelacji, z których każda odpowiada pojedynczemu atrybutowi. Każda podrelacja oprócz wartości odpowiadającego jej atrybutu musi przechowywać także identyfikatory rekordów (rys. 2). Model DSM został zaproponowany, by zminimalizować liczbę zbędnych dostępów do dysku w przypadku zapytań odwołujących się tylko do wybranych atrybutów. Jednakże, gdy zapytanie odwołuje się do wszystkich lub co najmniej większości atrybutów relacji, przetwarzanie takiego zapytania wiąże się ze znaczącym kosztem dodatkowym na połączenie wszystkich potrzebnych podrelacji w jedną całość. Nagłówek strony 1 Atr1 2 Atr1 3 Atr1 Podrelacja 1 Nagłówek strony 1 Atr2 2 Atr2 3 Atr2 Podrelacja 2 Nagłówek strony 1 Atr3 2 Atr3 3 Atr3 Podrelacja 3 Rys. 2. Rozmieszczenie danych w pamięci zgodnie z modelem DSM Realizacja złączeń na danych zorganizowanych zgodnie z modelem DSM składa się zwykle z 2 etapów. Pierwszym jest właściwe złączenie wykonywane na podrelacjach zawierających argumenty złączenia. W jego efekcie powstaje indeks złączeniowy, czyli dwuargumentowa relacja zawierająca identyfikatory par krotek, które powinny pojawić się w wyniku złączenia. Indeks ten staje się następnie podstawą do wygenerowania w fazie regeneracji krotek pełnej relacji wynikowej. 3 Metody skracania czasu realizacji złączeń Wszystkie eksperymenty przeprowadzono na bazie danych złożonej z 2 relacji: mniejszej R i większej S o schematach identycznych z tzw. schematem Wisconsin [6] przechowywanej zgodnie z modelem DSM. Każda z relacji liczyła 13 atrybutów będących 4-bajtowymi liczbami całkowitymi oraz 3 atrybuty napisowe o długości 52 znaków każdy. Pierwszy atrybut obydwu relacji pełnił rolę klucza i przyjmował unikalne wartości. Drugi atrybut relacji S przyjmował wartości identyczne z wartościami pierwszego atrybutu relacji R. Wartości te były rozmieszczone zgodnie z rozkładem równomiernym. Warunkiem złączenia była równość wartości pierwszego atrybutu relacji R i drugiego atrybutu relacji S. Rozmiary obydwu relacji były zawsze tak dobrane by większa z nich (S) liczyła 10-krotnie więcej rekordów niż mniejsza (R). Większość badań przeprowadzono na komputerze PC wyposażonym w procesor Intel Pentium 4 z jądrem Northwood taktowanym zegarem o częstotliwości 2,6 GHz wyposażonym w dwupoziomową pamięć podręczną o pojemności odpowiednio 8KB (pierwszy poziom) i 512 KB (drugi poziom) oraz główną pamięć operacyjną o pojemności 512 MB. 239
4 R. Tutajewicz 3.1 Wpływ rozmiaru relacji wynikowej Wykonanie fazy generacji relacji wynikowej polega na powtarzaniu dla każdej krotki wyniku czynności kopiowania atrybutów do tejże relacji. Dlatego też należy oczekiwać, że czas jej wykonywania będzie proporcjonalny do liczby krotek tworzących relację wynikową. Aby zweryfikować tę tezę zmierzono czasy trwania fazy regeneracji krotek dla relacji wynikowych zawierających różną liczbę krotek. Czasy te wyrażone w milionach taktów procesora zawarto w tabeli 1. Tabela 1. Czasy regeneracji krotek dla różnych rozmiarów relacji wynikowej Liczba krotek (w tys.) Czas 20,2 48,5 71,2 99, regeneracji Zmierzone czasy podzielono następnie przez liczbę krotek wyniku aby wyznaczyć średni czas regeneracji pojedynczej krotki. Jak się okazuje czas przetwarzania pojedynczej krotki rośnie wraz ze wzrostem liczby regenerowanych krotek, co ilustruje rys. 4, umieszczony pod koniec rozdziału. Aby zmniejszyć czas wykonywania regeneracji krotek należy poszukać przyczyn opisanego zjawiska. 3.2 Chybienia przy dostępie do pamięci podręcznej Częstą przyczyną spowolnienia obliczeń realizowanych na danych umieszczonych w pamięci operacyjnej są opóźnienia związane z dostępem do tych danych. Z tego też powodu zmierzono liczby chybień przy odszukiwaniu danych w pamięci podręcznej podczas wykonywania regeneracji krotek dla różnych rozmiarów danych. Liczby te następnie podzielono przez liczby krotek relacji wynikowej określając tym samym średnią liczbę chybień przypadającą na generację pojedynczej krotki. Uzyskane wyniki zaprezentowano na rys. 3. Średnia liczba chybień Rozmiar relacji wynikowej w tys. krotek Rys. 3. Średnia liczba chybień przy dostępie do pamięci podręcznej przypadająca na pojedynczą krotkę wynikową Porównanie obydwu rysunków pozwala stwierdzić, że to właśnie liczba chybień przy dostępie do pamięci powoduje opóźnienia podczas realizacji fazy regeneracji krotek. Należy 240
5 Sposoby skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej zatem tak zmodyfikować stosowany algorytm aby zmniejszyć tę liczbę. Chybienia powstają wtedy, gdy podczas przetwarzania potrzebne dane nie znajdują się w pamięci podręcznej i muszą być sprowadzone z głównej pamięci operacyjnej. Ponieważ czas dostępu do pamięci operacyjnej jest co najmniej kilkakrotnie dłuższy od czasu dostępu do pamięci podręcznej, duża liczba chybień może znacząco wydłużyć realizację algorytmów. 3.3 Pobieranie wyprzedzające Współczesne procesory dostarczają narzędzi, w postaci mechanizmu tzw. pobierania wyprzedzającego, pozwalających zmniejszyć liczbę chybień. Pobieranie wyprzedzające można podzielić na sprzętowe i programowe. Sprzętowe pobieranie wyprzedzające polega na śledzeniu przez wydzielony moduł procesora wszystkich odwołań do pamięci, dzięki czemu możliwe jest znalezienie regularności w tych odwołaniach. Po odnalezieniu takich regularności procesor rozpoczyna pobieranie z wyprzedzeniem danych z głównej pamięci operacyjnej do pamięci podręcznej, tak że w momencie, gdy są one potrzebne w procesie obliczeniowym są już dostępne w pamięci podręcznej. Zaletą mechanizmu sprzętowego jest to, że nie wymaga on modyfikacji kodu programu. Metoda ta dobrze sprawdza się w przypadku dostępu o regularnym charakterze, nie ma natomiast zastosowania, gdy dane są pobierane losowo. Alternatywną metodą jest programowe pobieranie wyprzedzające. Mechanizm ten jest dostępny dzięki wprowadzeniu specjalnych rozkazów zlecających procesorowi pobieranie danych z pamięci w chwili gdy nie są one jeszcze potrzebne do realizacji procesu obliczeniowego. Rozwiązanie to pozwala ukryć opóźnienia związane z dostępem do danych w sytuacji nieregularnych wzorców dostępu (np. dane pobierane w sposób pseudolosowy), gdzie nie sprawdza się mechanizm sprzętowy. Podstawową wadą stosowania tej metody jest konieczność modyfikacji kodu poprzez jawne umieszczenie w nim rozkazów pobierania wyprzedzającego. Metoda ta nie sprawdza się także w przypadku programów intensywnie korzystających z pamięci (jak np. kopiowanie bloków pamięci z jednego miejsca na drugie). 3.4 Wykorzystanie pobierania wyprzedzającego Mechanizm programowego pobierania wyprzedzającego został z powodzeniem zastosowany w odniesieniu do różnych rodzajów algorytmów, w tym między innymi do algorytmów przetwarzania tablic [9], struktur opartych o wskaźniki [8], w tym do B-drzew [4] oraz do realizacji złączeń z haszowaniem [3]. W przypadku zagadnienia regeneracji relacji wynikowej mamy do czynienia z dość poważnym problemem przy implementacji pobierania wyprzedzającego, jakim jest zjawisko tzw. wyścigu wskaźników (ang. pointer-chasing). Ze względu na rozmieszczenie danych w sposób przypadkowy nie możliwe jest najprostsze podejście polegające na próbie ukrycia opóźnień związanych z dostępem do danych w ramach przetwarzania pojedynczej krotki. Nawet rozdzielenie fazy pobierania danych od fazy obliczeń na nich nie wystarcza do ukrycia opóźnień, zbyt krótki jest czas obliczeń w stosunku do czasu potrzebnego na pobranie potrzebnych danych. Stąd też nie można wprost zastosować rozwiązań wypracowanych dla algorytmów numerycznych, gdzie to najczęściej stosuje się pobieranie wyprzedzające. Można za to wykorzystać fakt braku praktycznie żadnych zależności między danymi potrzebnymi do przetwarzania sąsiednich krotek. Dzięki temu możliwe jest ukrycie opóźnień związanych z pobieraniem następnych krotek poprzez równoległe wykonywanie obliczeń 241
6 R. Tutajewicz na krotkach je poprzedzających. Warto przy tym zauważyć, że dystans między krotką aktualnie przetwarzaną a tą której pobieranie danych dopiero co zainicjowano, powinien być znacznie większy niż 1, gdyż czas przetwarzania pojedynczej krotki nie równoważy czasu pobierania potrzebnych do tego przetwarzania danych. Aby w pełni ukryć opóźnienia spowodowane chybieniami przy dostępie do pamięci w fazie regeneracji krotek możliwe jest wykorzystanie jednej z dwóch technik zaproponowanych dla złączenia z haszowaniem [3]. Pierwszą z tych technik jest pobieranie wyprzedzające z grupowaniem (ang. group prefetching). W tym przypadku indeks złączeniowy jest dzielony na grupy o stałej liczbie krotek. Krotki te zajmują w pamięci ciągły obszar, co przy sekwencyjnym ich przetwarzaniu pozwala wykorzystać mechanizm sprzętowego pobierania wyprzedzającego. Dla każdej krotki w grupie jej wartości są odczytywane do wewnętrznego bufora i uruchamiane są rozkazy pobierania wyprzedzającego odpowiednich krotek relacji źródłowych. Po zakończeniu tej fazy, dla każdej krotki w grupie obliczana jest krotka wynikowa. W podobny sposób przetwarzane są krotki należące do kolejnych grup. Drugą możliwą do zastosowania techniką jest potokowe pobieranie wyprzedzające (ang. software-pipelined prefetching). Także i w tym przypadku wykorzystuje się dodatkowy bufor na przechowanie fragmentu indeksu złączeniowego. Inny jest jednak schemat przetwarzania. Najpierw cały bufor ładowany jest krotkami pochodzącymi z początku indeksu złączeniowego i dla każdej takiej krotki rozpoczyna się pobieranie odpowiadających jej krotek relacji źródłowych. Po wypełnieniu bufora rozpoczyna się główna pętla przetwarzania. W pętli tej począwszy od pierwszej krotki z bufora naprzemiennie realizowane są obliczanie krotki relacji wynikowej i ładowanie w zwolnione miejsce w buforze kolejnej krotki indeksu złączeniowego oraz inicjowanie pobierania odpowiadających jej krotek relacji źródłowych. Krotki z bufora przetwarzane są cyklicznie aż do momentu pobrania ostatniej krotki z indeksu złączeniowego. W tym momencie wystarczy dla każdej krotki z bufora utworzyć odpowiadające im krotki wynikowe i na tym można zakończyć regenerację krotek. 3.5 Sortowanie indeksu złączeniowego Innym sposobem zmniejszenia liczby chybień w fazie regeneracji jest takie uporządkowanie danych, aby ich przetwarzanie odbywało się, na ile to tylko możliwe, w sposób sekwencyjny i tym samym wykorzystywało mechanizm sprzętowego pobierania wyprzedzającego. W pełni sekwencyjnego charakteru dostępu do danych nie można jednak osiągnąć, gdyż wymagałoby to posortowania całych krotek, co prowadzi do bardzo wyraźnego wzrostu czasu sortowania a co zatem idzie i wzrostu czasu realizacji całego złączenia. Można jednak dopasować kolejność przetwarzania przynajmniej do uporządkowania danych w jednej z relacji wejściowych. W tym celu należy posortować indeks złączeniowy zgodnie z kolejnością pojawiania się krotek jednej z relacji. Przyjęto, że tą relacją będzie relacja S (testy przeprowadzone dla uporządkowania indeksu złączeniowego według relacji R dawały nieco gorsze wyniki). 4 Wyniki eksperymentów W ramach badań zaimplementowano wszystkie opisane powyżej metody i porównano czasy trwania fazy regeneracji krotek przy zastosowaniu każdej z nich. Wyniki eksperymentów przestawiono w postaci wykresu (rys. 4). Podobnie jak poprzednio przedstawiono zależność średniego przetwarzania pojedynczej krotki w funkcji rozmiaru danych. 242
7 Sposoby skrócenia czasu wykonywania fazy regeneracji krotek podczas realizacji złączeń w pamięci operacyjnej Średni czas generacji krotki Liczba generowanych krotek (w tysiącach) Klasyczne Sortowanie Grupowanie Rys. 4. Zależność średniego czasu regeneracji pojedynczej krotki od liczby krotek dla rozważanych metod przyspieszenia tej fazy Na wykresie pominięto wyniki dla potokowego pobierania wyprzedzającego, gdyż w całym prezentowanym przedziale uzyskane czasy były gorsze od czasów uzyskanych dla rozwiązania klasycznego. Z wykresu widać, że najlepsze wyniki uzyskuje się dla metody wykorzystującej wstępne sortowanie indeksu złączeniowego. Metody wykorzystujące mechanizm programowego pobierania wyprzedzającego nie dały spodziewanego przyspieszenia. Fakt ten można wytłumaczyć tym, że rozważana operacja regeneracji krotek należy do grupy zadań intensywnie wykorzystujących pamięć, dla której jak już wspomniano wcześniej metody używające programowego pobierania wyprzedzającego nie sprawdzają się. Metoda sortowania indeksu złączeniowego szczególnie dobrze sprawdza się w sytuacji złączenia pary relacji, w której jedna (S) pełni rolę tablicy faktów zaś druga (R) słownika, gdy do relacji wynikowej wchodzą wszystkie krotki z tablicy faktów. W przypadku niskiej selektywności złączenia metoda ta daje słabe wyniki. Spowodowane jest to tym, że do wyniku wchodzą wtedy tylko niektóre wybrane krotki, co oznacza konieczność pomijania wielu krotek z relacji S, pobranych już do pamięci podręcznej. Wtedy jednak liczba krotek w relacji wynikowej zwykle jest niewielka i czas regeneracji nie odgrywa tak istotnej roli w łącznym czasie trwania złączenia. Literatura 1. Baulier J., Bohannon P., Gogate S., Gupta C., Haldar S., Joshi S., Khivesera A., Korth H., Mcilroy P., Miller J., Narayan P.P.S., Nemeth M., Rastogi R., Seshadri S., Silberschatz A., Sudarshan S., Wilder M., Wei C.: DataBlitz Storage Manager: Main Memory Database Performance for Critical Applications. Proc. of the ACM SIGMOD Int'l Conf. on Management of Data, Philadelphia, Boncz P.A.: Monet. A next generation DBMS Kernel For Query Intensive Applications. PhD thesis, Amsterdam, Chen S., Ailamaki A., Gibbons P.B., Mowry T.C.: Improving Hash Join Performance through Prefetching, Proc of the 20 th Int l Conf. On Data Engineering, Boston, Chen S., Gibbons P.B., Mowry T.C.: Improving Index Performance through Prefteching, Proc. of the SIGMOD Conference, Santa Barbara, Copeland A., Khoshafian S.: A Decomposition Storage Model, Proc. of the SIGMOD Conference, Austin,
8 R. Tutajewicz 6. DeWitt D.J.: The Wisconsin Benchmark: Past, Present and Future, for Database and Transaction Systems (2nd Edition). Morgan Kaufmann, Kim S.W, Park S.H., Choi W.: Development of an Index Manager for a Main Memory DBMS Tachyon, Luk C.K., Mowry T.C.: Compiler Based Prefetching for Recursive Data Structures, Proc. of the 7th ASPLOS Conf., Cambridge, Mowry T.C., Lam M.S., Gupta A., Design and Evaluation of a Compiler Algorithm for Prefetching, Proc. of the 5th ASPLOS, Boston, Żukowski M., Boncz P., Nes N., Heman S.: MonetDB/X100 A DBMS in The CPU Cache. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, DataBlitz Home Page, extremedb Home Page, Polyhedra Home Page, Oracle TimesTen In-Memory Database, FastDB Home Page, 244
Optymalizacja poleceń SQL Metody dostępu do danych
Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,
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 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
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
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
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:
Wykład XII. optymalizacja w relacyjnych bazach danych
Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych
Zrównoleglenie i przetwarzanie potokowe
Zrównoleglenie i przetwarzanie potokowe Zrównoleglenie wysoka wydajność pozostaje osiągnięta w efekcie jednoczesnego wykonania różnych części zagadnienia. Przetwarzanie potokowe proces jest rozdzielony
Architektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
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 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK
wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
Teoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
Haszowanie (adresowanie rozpraszające, mieszające)
Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy
Przykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:
Przetwarzanie równoległe PROJEKT OMP Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego w komputerze równoległym z procesorem wielordzeniowym z pamięcią współdzieloną.
Budowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Baza danych. Baza danych to:
Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora
Alicja Marszałek Różne rodzaje baz danych
Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy
Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD
Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie
Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na
Techniki indeksowania w eksploracji danych Maciej Zakrzewicz Instytut Informatyki Politechnika Poznańska Plan prezentacji Zastosowania indeksów w systemach baz danych Wprowadzenie do metod eksploracji
Budowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Zaawansowane Systemy Baz Danych
Zaawansowane Systemy Baz Danych dr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 maja 2009 r. Plan seminarium Wprowadzenie Stosowane
Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania
Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami
Przetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
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
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ą
Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1
Procesy i wątki Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Proces: ciąg rozkazów (wątek główny) i ewentualnie inne wątki stos (wątku głównego) przestrzeń adresowa dodatkowe elementy tworzące
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.
Architektura potokowa RISC
Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania
architektura komputerów w. 8 Zarządzanie pamięcią
architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności
SQL SERVER 2012 i nie tylko:
SQL SERVER 2012 i nie tylko: Wstęp do planów zapytań Cezary Ołtuszyk coltuszyk.wordpress.com Kilka słów o mnie Starszy Administrator Baz Danych w firmie BEST S.A. (Bazy danych > 1TB) Konsultant z zakresu
Schematy zarzadzania pamięcia
Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana
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
AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2
AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie Wydział Geologii, Geofizyki i Ochrony Środowiska Wydajnośd w bazach danych Grzegorz Surdyka Informatyka Stosowana Kraków, 9 Spis treści. Wstęp...
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
Stronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Sortowanie zewnętrzne
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często
Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych
Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
System plików. Warstwowy model systemu plików
System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
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
Autor: Joanna Karwowska
Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje
ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku
System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,
Procesory. Schemat budowy procesora
Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu
Indeksowanie w bazach danych
w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy
Podstawy OpenCL część 2
Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024
Zarządzanie pamięcią operacyjną
Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci
Sortowanie Shella Shell Sort
Sortowanie Shella Shell Sort W latach 50-tych ubiegłego wieku informatyk Donald Shell zauważył, iż algorytm sortowania przez wstawianie pracuje bardzo efektywnie w przypadku gdy zbiór jest w dużym stopniu
2017/2018 WGGiOS AGH. LibreOffice Base
1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Normalizacja baz danych
Wrocławska Wyższa Szkoła Informatyki Stosowanej Normalizacja baz danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Normalizacja relacji ma na celu takie jej przekształcenie,
BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy
Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING
Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.
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
Zarządzanie pamięcią operacyjną
SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt
Rys. 1. Podłączenie cache do procesora.
Cel stosowania pamięci cache w procesorach Aby określić cel stosowania pamięci podręcznej cache, należy w skrócie omówić zasadę działania mikroprocesora. Jest on układem cyfrowym taktowanym przez sygnał
Baza danych. Modele danych
Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych
Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.
Plan wykładu Spis treści 1 Optymalizacja 1 1.1 Etapy optymalizacji............................... 3 1.2 Transformacja zapytania............................ 3 1.3 Przepisywanie zapytań.............................
Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci
Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura
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
Organizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane
Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne
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ęć
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie bazy danych z użyciem UML, proste
Podstawy Informatyki. Metody dostępu do danych
Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie
Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com
Pamięć Jan Tuziemski Źródło części materiałów: os-book.com Cele wykładu Przedstawienie sposobów organizacji pamięci komputera Przedstawienie technik zarządzania pamięcią Podstawy Przed uruchomieniem program
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska
Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr letni 2006/07 Plan wykładu Systemy baz
Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie
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
Systemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Polcode Code Contest PHP-10.09
Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
SQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
LEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Algorytmy dla maszyny PRAM
Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Budowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści
Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, 2016 Spis treści Przedmowa XI I Podstawy języka Python 1. Wprowadzenie 3 1.1. Język i środowisko
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 9: Pamięć podręczna procesora jako warstwa hierarchii pamięci Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Zasada
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000
sprowadza się od razu kilka stron!
Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie bazy danych z użyciem UML, proste
Metoda List Łańcuchowych
Metoda List Łańcuchowych mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Sosnowiec, 2010 Celem metody jest utrzymanie zalet MLI (dobre czasy wyszukiwania), ale wyeliminowanie jej wad (wysoka
Architektura komputerów
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne