Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski



Podobne dokumenty
Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań do analizy rzeczywistych sieci złożonych

Programowanie sieciowe. Tadeusz Trzaskalik

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

AiSD zadanie trzecie

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytmy aproksymacyjne i parametryzowane

Algorytmy aproksymacyjne dla problemów stochastycznych

Algorytmika Problemów Trudnych

Ustawienia widoku ikon

Sieci komputerowe. Wykład 8: Wyszukiwarki internetowe. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Wstęp do programowania

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Algorytmy i Struktury Danych, 2. ćwiczenia

Asocjacyjna reprezentacja danych i wnioskowanie

Schemat programowania dynamicznego (ang. dynamic programming)

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Ataki na serwery Domain Name System (DNS Cache Poisoning)

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Lista 4. Kamil Matuszewski 22 marca 2016

Stronicowanie w systemie pamięci wirtualnej

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

POTRZEBY A B C D E P P P P P

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Algorytmiczna teoria grafów Przepływy w sieciach.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Problem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS

Laboratorium - Migracja danych w Windows Vista

Materiały dla finalistów

Problemy Decyzyjne dla Systemów Nieskończonych

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

dr inż. Jarosław Forenc

Algorytmy wyznaczania centralności w sieci Szymon Szylko

a) 7 b) 19 c) 21 d) 34

Spacery losowe generowanie realizacji procesu losowego

Rachunek prawdopodobieństwa Rozdział 3. Prawdopodobieństwo warunkowe i niezależność zdarzeń.

51. Wykorzystywanie sumy, iloczynu i różnicy zdarzeń do obliczania prawdopodobieństw zdarzeń.

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Algorytmy genetyczne

Losowość w rozproszonym modelu

NAT (Network Address Translation)

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

5c. Sieci i przepływy

dr inż. Jarosław Forenc

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

dr inŝ. Jarosław Forenc

Algorytmy dynamiczne. Piotr Sankowski. - p. 1/14

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Quantile hedging. czyli jak tanio i dobrze zabezpieczyć opcję. Michał Krawiec, Piotr Piestrzyński

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Elementy modelowania matematycznego

Algorytmy aproksymacyjne dla problemów stochastycznych

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Klasyfikacja metodą Bayesa

Matematyka od zaraz zatrudnię

WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI

Stochastyczne zagadnienie rozdziału z dyskretnym rozkładem popytu

Elementy Modelowania Matematycznego

Zarządzanie projektami. Tadeusz Trzaskalik

Algorytmiczna teoria grafów

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Metody Programowania

Przykładowe rozwiązania

Przykład planowania sieci publicznego transportu zbiorowego

Metody przeszukiwania

Temat: Sieci neuronowe oraz technologia CUDA

Wyznaczanie optymalnej trasy problem komiwojażera

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Badania operacyjne egzamin

Sieci komputerowe. Wykład 12: Sieci peer-to-peer. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

TESTOWANIE HIPOTEZ STATYSTYCZNYCH Hipotezą statystyczną nazywamy, najogólniej mówiąc, pewną wypowiedź na temat rozkładu interesującej nas cechy.

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

DataGuide w półstrukturalnych bazach danych

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Grafy Alberta-Barabasiego

Ćwiczenie 1 Automatyczna animacja ruchu

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Wstęp do programowania

1. Czym jest Wirtualny Serwer?

Charakterystyka sieci klient-serwer i sieci równorzędnej

Modyfikacja algorytmów retransmisji protokołu TCP.

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Znajdowanie wyjścia z labiryntu

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Płatność tylko za faktycznie zużyte zasoby Zero barier wejścia (opłat minimalnych) Najniższa cena na rynku od 0,06 zł/h za serwer w chmurze i 0,0001

1 Automaty niedeterministyczne

Programowanie dynamiczne cz. 2

Analiza Algorytmów 2018/2019 (zadania na laboratorium)

Transkrypt:

Dane w sieciach (i inne historie) Marcin Bieńkowski

Jak przechowywać dane w sieciach (strony WWW, bazy danych, ) tak, żeby dowolne ciągi odwołań do (części) tych obiektów mogły być obsłużone małym kosztem? Znany problem, wiele wariantów. Najbardziej klasyczny i podstawowy z wariantów: Page Migration Dane w sieciach / Marcin Bienkowski 2/18

Page Migration (model) Sieć komputerów v 3 v 2 v 4 v 5 v 1 v 6 v 7 Jedna kopia jednego niepodzielnego obiektu (strona pamięci) o rozmiarze w lokalnej pamięci jednego z komputerów Koszt komunikacji pomiędzy parą komputerów = = koszt najtańszej ścieżki pomiędzy nimi Dane w sieciach / Marcin Bienkowski 3/18

Page Migration (model cd.) Problem: komputery chcą dostępu do danych ze strony W jednym kroku chce odczytać lub zapisać jednostkę danych ze strony v 3 koszt = v 2 v 4 v 5 v 1 v 6 v 7 Koszt migracji = Po obsłudze żądania algorytm może przenieść stronę do nowego komputera Dane w sieciach / Marcin Bienkowski 4/18

Problem online WEJŚCIE: ciąg WYJŚCIE: ciąg migracji strony minimalizujący całkowity koszt Problem: przyszłość jest nieznana Nie mamy szansy wyliczyć optymalnego rozwiązania Ale możemy się do niego zbliżyć! Istnieją algorytmy (online), które osiągają koszt zaledwie o stałą większy od rozwiązania optymalnego (OPT) Dane w sieciach / Marcin Bienkowski 5/18

Mój wkład w tematykę Sieci rzadko są stabilne, zazwyczaj przepustowości łącz zmieniają się w nieprzewidywalny sposób. Koszty przesyłania danych również ulegają zmianom. Założenie: Koszty przypisane do krawędzi sieci mogą zmieniać się w dowolny sposób, ale powoli. Dane w sieciach / Marcin Bienkowski 6/18

Ta wersja problemu okazuje się bardzo trudna Każdy algorytm deterministyczny jest co najmniej razy gorszy od OPT Dla algorytmów zrandomizowanych: razy Umiemy pokazać algorytmy osiągające te współczynniki Dane w sieciach / Marcin Bienkowski 7/18

Algorytm dla dwóch wierzchołków Algorytm EDGE W każdym kroku przenieś stronę do wierzchołka, który żądał przed chwilą dostępu do niej, z ppb. wykres : Dane w sieciach / Marcin Bienkowski 8/18

Algorytm dla n wierzchołków Algorytm DISTRIBUTE Żądanie w wierzchołku Przenosimy się z ppb. Docelowy wierzchołek wybieramy losowo (im dalej od, tym ppb. mniejsze Dane w sieciach / Marcin Bienkowski 9/18

Dygresja Strategię leżącą u podstaw algorytmu DISTRIBUTE da się lekko zmodyfikować i otrzymać: Algorytm dla problemu k-setcover, będący -aproksymacją Dane w sieciach / Marcin Bienkowski 10/18

Inne spojrzenie Dlaczego przegraliśmy? Bardzo silny model: adwersarz kontroluje jednocześnie dostęp do strony pamięci jak i zmiany sieci! Rzeczywistość nie jest tak brutalna (miejmy nadzieję) Z drugiej strony: model całkowicie stochastyczny jest zbyt łatwy Dane w sieciach / Marcin Bienkowski 11/18

Modyfikacje modelu Zamieńmy część adwersarza przez proces stochastyczny Scenariusz A: Niech fluktuacje sieci będą losowe, a odwołania do strony najgorsze z możliwych. Scenariusz B: Niech zmiany w sieci będą dyktowane przez adwersarza, a komputer czytający ze strony wybierany losowo. Dane w sieciach / Marcin Bienkowski 12/18

Modyfikacje modelu Scenariusz A: sieć losowo, żądania adwersarz algorytm który jest co najwyżej razy gorszy od OPT Scenariusz B: sieć adwersarz, żądania losowo algorytm który jest co najwyżej o stały czynnik gorszy od OPT Wyniki osiągane są z dużym prawdopodobieństwem Dane w sieciach / Marcin Bienkowski 13/18

Co teraz? Chciałem zająć się czymś zupełnie innym ale minister miał inne zdanie na ten temat Dane w sieciach / Marcin Bienkowski 14/18

Rozszerzenia page migration Możliwość replikacji danych (przydatne zwłaszcza przy niemodyfikowalnych obiektach, np. stronach WWW) Wiele obiektów w sieci -- komputery mają ograniczoną przestrzeń dyskową Dane w sieciach / Marcin Bienkowski 15/18

Na szczęście są też inne problemy (choć z podobnej dziedziny) (1) Eksploracja terenu grupą robotów robotów Komunikacja między robotami Każdy wierzchołek grafu musi zostać odwiedzony przez przynajmniej jednego robota Chcemy to zrobić jak najszybciej lub też używając jak najmniej energii Dane w sieciach / Marcin Bienkowski 16/18

Na szczęście są też inne problemy (choć z podobnej dziedziny) (2) Bufory w routerach kolejek wejściowych o rozmiarze Jedno wyjście Pakiety przychodzące do pełnego bufora są gubione Algorytm decyduje, z której kolejki przekazać pakiet na wyjście Chcemy zminimalizować liczbę straconych pakietów Dane w sieciach / Marcin Bienkowski 17/18

Dziękuję za uwagę!