Teoretyczne podstawy informatyki http://th-www.if.uj.edu.pl/~erichter/dydaktyka/TPI-2005
Zakres tematyczny Co to jest informacja? Algorytmy i struktury danych, poprawność algorytmu Złożoność obliczeniowa cz. I Rekursja, indukcja, iteracja, teoria prawdopodobieństwa Modele danych: drzewa, listy, zbiory, relacje, grafy Złożoność obliczeniowa, cz. II Wzorce, automaty, wyrażenia regularne i gramatyki Języki formalne, problemy NP-zupełne
Zaliczenie przedmiotu Literatura H. Abelson, et al., Struktura i intepretacja programów komputerowych A. V. Acho, J. D. Ullman, Wykłady z informatyki z przykładami w języku C T. H. Cormen, Ch. F. Leiserson, R. L. Rivest, Wprowadzenie do algorytmów A. Drozdek, D. L. Simon, Struktury danych w języku C D. Harel, Rzecz o istocie informatyki J.E. Hopcroft, J. Ullman, Wprowadzenie do teorii automatów, jezyków i obliczeń S. Kowalski, A. W. Mostowski, Teoria automatów i lingwistyka matematyczna Ch. H. Papadimitriou, Złożoność obliczeniowa W. Sikorski, Wykłady z podstaw informatyki W. M. Turski, Propedeutyka Informatyki N. Wirth, Algorytmy i struktury danych = programy Zaliczenie przedmiotu zaliczenie ćwiczeń z zadań rachunkowych egzamin pisemny: podany obowiazujacy zestaw zagadnień z wykładu
Informatyka: mechanizacja abstrakcji Wpływ informatyki na funkcjonowaniu społeczeństw jest widoczny: rozpowszechnianie się komputerów, systemów informatycznych, edytorów tekstu, arkuszy kalkulacyjnych itd... Ważną cecha informatyki jest ułatwianie samego programowania i czynienie programowania bardziej niezawodnym Zasadniczo jednak informatyka jest nauką o abstrakcji , czyli nauką o tworzeniu właściwego modelu reprezentującego problem i wynajdowaniu odpowiedniej techniki mechanicznego jego rozwiązywania Informatycy tworzą abstrakcje rzeczywistych problemów w formach które mogą być rozumiane i przetwarzane w pamięci komputera
Informatyka: mechanizacja abstrakcji Abstrakcja oznaczać będzie pewne uproszczenie, zastąpienie skomplikowanych i szczegółowych okoliczności występujących w świecie rzeczywistym zrozumiałym modelem umożliwiającym rozwiązanie naszego problemu. Oznacza to że abstrahujemy od szczegółów które nie maja wpływu lub mają minimalny wpływ na rozwiązanie problemu. Opracowanie odpowiedniego modelu ułatwia zajęcie się istotą problemu. W ramach tego wykładu omówimy modele danych: abstrakcje wykorzystywane do opisywania problemów struktury danych: konstrukcje języka programowania wykorzystywane do reprezentowania modelów danych. Przykładowo język C udostępnia wbudowane abstrakcje takie jak struktury czy wskaźniki, które umożliwiają reprezentowanie skomplikowanych abstrakcji takich jak grafy algorytmy: techniki wykorzystywane do otrzymywania rozwiązań na podstawie operacji wykonywanych na danych reprezentowanych przez abstrakcje modelu danych, struktury danych lub na inne sposoby
Teoretyczne podstawy informatyki Wykład 1a: Trochę historii... trochę przyszłości Algorytm Euklidesa, krosno Jacquarda, maszyny Babbage, algorytmika, komputery..... Oprogramowanie wielkich eksperymentów fizycznych.... czyli wyznawanie dla współczesnej informatyki stosowanej
Trochę historii ....... Gdzieś miedzy 400 a 300 rokiem p.n.e wielki grecki matematyk Euklides wynalazł algorytm znajdowania największego wspólnego dzielnika (nwd) dwóch dodatnich liczb całkowitych. Szczegóły algorytmu są nieistotne... algorytm Euklidesa uważa się za pierwszy kiedykolwiek wymyślony niebanalny algorytm. Słowo algorytm wywodzi się od nazwiska perskiego matematyka Muhammeda Alchwarizmi (łac.. Algorismus), który żył w IX wieku p.n.e i któremu przypisuje się podanie reguł dodawania, odejmowania, mnożenia i dzielenia zwykłych liczb dziesiętnych. Jedną z najwcześniejszych maszyn wykonujących proces sterowany czymś co można nazwać algorytmem jest krosno tkackie wynalezione w 1801 roku przez Josepha Jacquarda. Tkany wzór określały karty z otworami wydziurkowanymi w różnych miejscach.Te otwory, które wyczuwał specjalny mechanizm, sterowały wyborem nitek i innymi czynnościami maszyny.
Maszyna Babbage Jedną z najważniejszych i najbardziej barwnych postaci w historii informatyki był Charles Babbage. Ten angielski matematyk, częściowo zbudowawszy w roku 1833 urządzenie zwane maszyną różnicową, służące do obliczania pewnych wzorów matematycznych, obmyślił i zrobił plany godnej uwagi maszyny zwanej maszyną analityczną maszyna różnicowa realizowała konkretne zadanie maszyna analityczna realizowała konkretny algorytm czyli program zakodowany w postaci otworów wydziurkowanych na kartach Maszyny Babbage były w swej naturze mechaniczne, oparte raczej na dzwigniach, trybach i przekładniach, a nie na elektronice i krzemie Koncepcje zawarte w projekcie maszyny analitycznej Babbage’a tworzą podstawę wewnętrznej struktury i zasad działania dzisiejszych komputerów
Algorytmika, komputery Połowa lat trzydziestych to niektóre z najbardziej fundamentalnych prac nad teorią algorytmów, uzmysławiających możliwości i ograniczenia algorytmów wykonywanych przez maszyny Kluczowe postacie to: Alan Turing (Anglik), Kurt Goedel (Niemiec), Andriej A. Markow (Rosjanin), Alonzo Church, Emil Post i Stephen Kleene (Amerykanie) Lata pięćdziesiąte i sześćdziesiąte to szybkie postępy w budowie komputerów: era badań jądrowych i kosmicznych, postępy w dziedzinie łączności wspieranej przez komputery (filtrowanie i analiza); gospodarka, bankowość, itd. Uznanie informatyki za niezależną dyscyplinę akademicką nastąpiło w połowie lat sześćdziesiątych
Trochę przyszłości...tej zupełnie bliskiej Fizyka wysokich energii: zajmuje się (bada) podstawowe składniki materii i siły występujące miedzy nimi. Jest dziedziną podstawową. Zadaje pytania o charakterze fundamentalnym dla naszego rozumienia wszechświata i jego powstania. Podstawowe składniki materii czyli cząstki elementarne: elektron, muon, lepton tau, neutrina, kwarki. Podstawowe oddziaływania: elektromagnetyczne, słabe, silne, grawitacyjne. Oddziaływaniami rządzą pewne prawa symetrii: zachowanie symetrii globalnej, lokalnej wymusza formę oddziaływania. CERN: największe laboratorium fizyki wysokich energii w Europie organizacja międzynarodowa założona w 1953/1954 przez 12 krajów Polska członkiem od 1991 roku Skupia około 10 000 aktywnych fizyków, informatyków, inżynierów, elektroników
CERN i eksperymenty LHC Start: początek 2007 Tunel o obwodzie 27km (do 180m pod ziemia)
Detektory eksperymentów fizyki wysokich energii Detektory pozwalają na obserwację (rejestrację) serii oddziaływań, podjęcie decyzji czy oddziaływanie jest interesujące, identyfikację produkowanych cząstek, pomiar ich energii i pędu. Detektory dla zderzeń przy wysokich energiach muszą być duże, zbudowane z różnych poddetektorów (każdy dedykowany do rejestracji pewnego określonego typu sygnału). Niektóre poddetektory umieszczone są w polu magnetycznym (aby umożliwić pomiar pędu). Metody pomiarowe to pomiar absorpcji energii, rekonstrukcja toru na podstawie „śladów” zostawionych w poszczególnych warstwach detektorów, itd. itd...
A T L S zdjecia Długość : ~ 40 m Promień : ~ 10 m Waga : ~ 7000 ton Tilecal Solenoid A T L S Muon end-cap chamber Barrel LAr ECAL zdjecia rok 2003 Barrel coil cryostat Długość : ~ 40 m Promień : ~ 10 m Waga : ~ 7000 ton TRT end-cap wheel
TRT+SCT barrel travelled to the pit, 24th Aug 2006 A tight fit between BT and EC Calorimeter Through the parking area From the trolley to the support rails Inside cryostat
„On-line computing model” dla eksperymentów LHC czyli: Jak w ciągu 1 sekundy wybrać 1 spośród 107 ? LHC (Large Hadron Collider) będzie zderzał przeciwbieżne wiązki protonów z energią środka masy 14 TeV. (Ta energia wystarczałaby na produkcję 15 000 protonów!) Wiązki protonów będą oddziaływały co 25 ns wewnątrz ogromnego detektora wypełnionego milionami kanałów odczytu elektronicznego. Każde zderzenie wiązek to ~ 23 pp oddziaływań, każde produkujące strugę (~ 103) wychodzących cząstek. Odstęp pomiędzy kolejnymi zderzeniami wiązek to tylko 25ns 25ns to odległość 8m dla cząstek poruszających się z prędkością światła (to jest mniej niż promień detektora) Na raz w detektorze „fale cząstek” od 3 kolejnych zderzeń Tylko niewielka cześć tych oddziaływań może zostać zapisana „na taśmie” System który podejmuje decyzje nazywa się TRIGGER.
„On-line computing model” dla eksperymentów LHC Co to znaczy niewielka część? 25ns 40 x 106/s zderzeń 23 oddział/zderzenie 23 x 40 x 106 /sek ~ 109 /sek oddział możemy zarejestrować tylko ~ 100/sek zderzeń redukcja 107 Ile informacji trzeba przetworzyć? trigger elektron: 8bit x 40MHz x 7500 ~ 3 000 Gbit/sek Czy można podjąć decyzje w 25ns? nie można: czas rejestracji w detektorze dłuższy (ok. 50 x 25ns) informacje trzeba wysłać do procesora (ok. 15 x 25ns) informacje trzeba przetworzyć (ok. 10 x 25ns) Metoda to wielopoziomowość podejmowania decyzji, każdy poziom procesuje tylko pewien % informacji, stopniowa redukcja ilość interesujących zderzeń, w tym czasie informacja jest przechowywana w tzw. „pipeline pamięci” Po wydaniu decyzji OK następuje zczytanie informacji z całego detektora (po „zero suppression”, linki optyczne 40Gbit/sek) ~ 100Hz x 1MB
„Off-line computing model” dla eksperymentów LHC Definiuje ogólną architekturę czyli sposób w jaki planuje się używać dostępnych mocy obliczeniowych Jak duże moce są potrzebne aby zanalizować informację zebraną w detektorze? Jaki system zapisu danych (media, technologia)? Jaki system networku? itd... Założenia wstępne długi czas życia ~ 20 lat 85% rozwijane w niezależnych grupach na całym świecie technologia obiektowa, język C++, aplikacje w java, skrypty w pythonie, pliki xml,.... Parametry wejściowe 100Hz częstość rejestracji (109 oddziaływań na rok) 1 MB rozmiar przypadku 1 MB/godz. informacji dodatkowej (kalibracja odczytu) 150 równoczesnych użytkowników (dostęp do baz danych)...
Co to znaczy analizować dane”? Reconstuction geometry Build Reconstruction Geometry Detector description alignment calibration parameters Generate Events Simulate Simulation geometry Build Geometry Reconstruct Events ESD AOD Analyze Physics Raw Data ATLAS Detector
Od „surowych danych” do fizyki czyli co się dzieje podczas analizy? 250Kb – 1 Mb 100 Kb 25 Kb 5 Kb 500 b e+ e- f Z0 _ 2037 2446 1733 1699 4003 3611 952 1328 2132 1870 2093 3271 4732 1102 2491 3216 2421 1211 2319 2133 3451 1942 1121 3429 3742 1288 2343 7142 Raw data Convert to physics quantities Detector response apply calibration, alignment Interaction with detector material Pattern, recognition, Particle identification Fragmentation, Decay Physics analysis Basic physics Results Analysis Reconstruction Simulation (Monte-Carlo)
Co to znaczy „zaprogramować” geometrię? Jaka jest skala problemu? 25,5 millionów oddzielnych elementów 23 000 różnych obiektów geometrycznych 4 673 różnych typów geometrycznych kontrolowanie nakładających się na siebie przypadków 1 000 000 sygnałów w detektorze na przypadek
REKONSTRUKCJA i interpretacja INFORMACJI Przykład jak może wyglądać graficzna prezentacja informacji odczytanej z detektora i przetworzonej przez algorytmy rekonstrukcyjne
REKONSTRUKCJA i interpretacja INFORMACJI A tu trochę bardziej „gesty” obraz. Nałożyliśmy 23 dodatkowe przypadki, tzw. pile-up.
Hierarchical View HPSS HPSS HPSS HPSS HPSS Tier 0 Tier 1 Tier 2 Tier 3 1 TIPS = 25,000 SpecInt95 PC (1999) = ~15 SpecInt95 ~PBytes/sec Online System ~100 MBytes/sec Offline Farm ~20 TIPS One bunch crossing per 25 ns 100 triggers per second Each event is ~1 Mbyte ~100 MBytes/sec Tier 0 CERN Computer Centre >20 TIPS ~ Gbits/sec or Air Freight HPSS Tier 1 US Regional Centre Italian Regional Centre French Regional Centre UK Regional Centre (RAL) HPSS HPSS HPSS HPSS Tier 2 Northern Tier ~1 TIPS Tier2 Centre ~1 TIPS Tier2 Centre ~1 TIPS Tier2 Centre ~1 TIPS Tier 3 ~Gbits/sec Physicists work on analysis “channels” Each institute has ~10 physicists working on one or more channels Data for these channels should be cached by the institute server Lancaster ~0.25TIPS Liverpool Manchester Sheffield Physics data cache 100 - 1000 Mbits/sec Workstations Tier 4
The LHC Computing Facility Toward flat structure: GRID Physics Department Tier2 Lab a Lancs Lab c Uni n Lab m Lab b Uni b Uni y Uni x Germany Tier 1 USA FermiLab UK France Italy NL Brookhaven ………. CERN The LHC Computing Facility Desktop
ATLAS Production system AMI prodDB dms Don Quijote Windmill super super super super super soap jabber jabber jabber soap LCG exe LCG exe NG exe G3 exe LSF exe Capone Dulcinea Lexor RLS RLS RLS LCG NG Grid3 LSF
Computing: daily CSC production jobs over the past couple of months Production for software validation and CSC physics samples Some statistics June now: Over 50 Million events produced EGEE grid 59 % NorduGrid 13 % OSG 28 %
Grid3 – a snapshot of sites Service monitoring Sep 06 30 sites, multi-VO shared resources ~3000 CPUs (shared)
LCG2 site map 73 Sites 7700 CPU ~35 pass all tests
ATLAS DC2 (CPU usage)
Jobs distribution on LCG Krakow
Zapraszamy .... Co z tego dzieje się w Krakowie? Czym się zajmujemy? grupa ATLAS, ALICE, LHCb (eksperymenty LHC) w Instytucie Fizyki Jądrowej ul. Radzikowskiego 152 grupa ATLAS i LHCb w AGH Czym się zajmujemy? modelowanie triggera (on-line) rekonstrukcja i analiza informacji (off-line) oprogramowanie dla monitorowania pracy detektora projektowanie elementów elektroniki procesowanie dużej ilości danych: GRID przygotowywanie przyszłych analiz fizycznych Zapraszamy ....