Algorytmiczne problemy i rozwiazania dla oprogramowania
Transkrypt
Algorytmiczne problemy i rozwiazania dla oprogramowania
Algorytmiczne problemy i rozwiązania dla oprogramowania produkcji i rozpadów leptonów τ w eksperymentach LHC Tomasz Przedziński Plan: Oprogramowanie akceleratorów cząstek 1. Zależności między projektami Wdrażanie w środowiska eksperymentów Aplikacje dla klastra obliczeniowego LHC Tauola – symulacje rozpadów leptonów tau 2. Zarys fizyki modelowanych procesów Tauola, Tauola++ i nowe prądy hadronowe Analiza różnych modeli rozpadów 3. Algorytm przypadków ważonych Analiza spinu nowych rezonansów Zarządzanie kompetencjami 4. 2 Kraków 2013-01-21 Moja specjalność to Informatyka Stosowana Wszelkie opisy zjawisk fizycznych pochodzą z mojego zrozumienia tych zjawisk i mogą być błędne (a już z pewnością są niekompletne) Dlatego skupiał się będę na części informatycznej, z krótkim wstępem dotyczącym fizyki modelowanych procesów 3 Kraków 2013-01-21 FORTRAN TAUOLA Tauola++ RChL currents TauSpinner MCTESTER Photos++ Photos@NLO Other WT fitting 4 FORTRAN PHOTOS Bremsstrahlung in K(l3) Kraków 2013-01-21 FORTRAN TAUOLA ROOT Tauola++ RChL currents MCTESTER HepMC I/O Files FIFO pipes etc. TauSpinner Photos++ Photos@NLO Other WT fitting 5 LHAPDF FORTRAN PHOTOS Bremsstrahlung in K(l3) Kraków 2013-01-21 FORTRAN TAUOLA ROOT Tauola++ RChL currents MCTESTER HepMC I/O Files FIFO pipes etc. TauSpinner Atlas, CMS, … Photos++ Photos@NLO Other WT fitting LHAPDF Belle, BaBar, … 6 FORTRAN PHOTOS Bremsstrahlung in K(l3) Kraków 2013-01-21 FORTRAN TAUOLA Tauola++ S. Tsuno RChL currents O. Shekhovtsova P. Roig V. Cherepanov G. Nanava N. Davidson MCTESTER A. Buckley I. M. Nugent TauSpinner S. Lehti I. M. Nugent Photos++ Q. Xu Other WT fitting 7 Z. Czyczuła S. Tsuno Photos@NLO FORTRAN PHOTOS R. Sadykov Bremsstrahlung in K(l3) Kraków 2013-01-21 Oprogramowanie akceleratorów cząstek O czym należy pamiętać: modułowość, możliwość niezależnej modyfikacji modułów i prostego dodawana nowych modułów przejrzystość kodu, prostota instalacji i weryfikacji rozbudowane środowisko testów technicznych i fizycznych testy ewoluują wraz z projektem nie można przewidzieć dalszego rozwoju projektu nie można przewidzieć wszystkich zastosowań projektu zarządzanie kompetencjami i skuteczna współpraca z ekspertami z różnych dziedzin staje się bardzo istotnym i bardzo trudnym elementem rozwoju oprogramowania 8 Kraków 2013-01-21 Aplikacje dla klastra obliczeniowego LHC Kod musi działać: na wielu platformach 32-bitowych i 64-bitowych z różnymi kompilatorami z różnymi konfiguracjami zewnętrznych bibliotek (ROOT, HepMC) w środowiskach różnych eksperymentów Autotools Osobne konfiguracje w szczególnych przypadkach Możliwość dostosowywania konfiguracji przez użytkowników 9 Kraków 2013-01-21 Wieloplatformowość i mieszane języki programowania - problemy Problemy z kompilatorami 32-bity / 64-bity i kod w Fortranie definicje common block-ów typ danych a parametry funkcji Problemy specyficzne dla Fortranu błędy zaokrągleń REAL*4, REAL*8 – zaniżanie precyzji Problemy z komunikacją C++ / Fortran stare kompilatory nie mają odpowiednich narzędzi do debugowania w niektórych przypadkach starsze kompilatory Fortrana są lepsze od nowszych nadpisywanie pamięci Problemy specyficzne dla C++ 10 wycieki pamięci Kraków 2013-01-21 Wielo-platformowość i mieszane języki programowania - problemy Błędy wynikające z komunikacji C++ / Fortran i błedy zależne od platformy mogą powodować niestabilność numeryczną! lub gorzej: mogą wyglądać jak fluktuacje statystyczne. Niestabilność numeryczna może powstać, gdy program jest uruchamiany: z innymi parametrami z innym seed-em na innej platformie skompilowany innym kompilatorem w innym środowisku (które nie zawsze jest dostępne do testów) gdy jeden, wszystkie, lub tylko wybrane moduły są w użyciu Nie sposób wszystkiego przetestować. Potrzebna ciągła rozbudowa środowiska testów i szereg platform testowych. 11 Kraków 2013-01-21 Tauola, Tauola++ i prądy RChL 12 Kraków 2013-01-21 Zarys modelu fizycznego Rezonanse Prądy hadronowe Formfaktory 13 Kraków 2013-01-21 TAUOLA-FORTRAN i Tauola++ Generator MC rozpadów leptonów tau Rdzeń generatora TAUOLA-FORTRAN został napisany w latach 1990-1992 W latach 2000-2005 kod został uzupełniony o formfaktory z eksperymentów CLEO i ALEPH W 2010 roku dodany został interfejs C++ - Tauola++ W chwili obecnej wciąż powstają nowe moduły zarówno w C++ jak i w Fortranie W konsekwencji: kod jest mieszaniną różnych stylów programowania żaden z autorów nie zna całego kodu zmiany wymagają dużo czasu i wysiłku by przypomnieć sobie wszystkie szczegóły najmniejsza zmiana może spowodować błąd Dodatkowy problem: część kodu nie może ulec zmianie -kod jest używany przez eksperymenty niskoenergetyczne 14 Kraków 2013-01-21 Tauola++ Osobny moduł, rozszerzający TAUOLĘ-FORTRAN o interfejs C++ Implementacja Event Record-u HepMC, używanego przez eksperymenty ATLAS i CMS Przetestowana i zainstalowana na platformie LHC Computing Grid Dostępna przez: GENSER project: http://sftweb.cern.ch/generators/ /afs/cern.ch/sw/lcg/external/MCGenerators/tauola++/ http://www.ph.unimelb.edu.au/~ndavidson/tauola/doxygen/index.html Interfejs Fortranowski TAUOLA FORTRAN Abstrakcyjny Interfejs C++ Program użytkownika Implementacje Event Record-ów Tauola++ 15 Kraków 2013-01-21 Prądy RChL w eksperymentach niskoenergetycznych Rozszerzenie TAUOLI-FORTRAN o moduł new-currents, który może być skompilowany osobno Minimalna ilość zmian niezbędna by wykorzystać nowe prądy TAUOLA FORTRAN new-currents RChL-currents other-currents reweighting installation wersja CLEO TAUOLA FORTRAN z prądami RChL TAUOLA-FORTRAN + new-currents Możliwość przełączania się pomiędzy starymi prądami a nowymi umożliwia weryfikację poprawności instalacji 16 Kraków 2013-01-21 Wdrożenie w eksperymenty LHC: Użycie prądów RChL w Tauoli++ Dzięki przyjętej przez nas organizacji Tauoli++ procedura jest pół-automatyczna Interfejs Fortranowski TAUOLA FORTRAN Abstrakcyjny Interfejs C++ Program użytkownika Implementacje Event Record-ów Tauola++ TAUOLA FORTRAN z prądami RChL 17 Nowe prądy przygotowane przez eksperymenty niskoenergetyczne są od razu dostępne dla eksperymentów LHC Konieczne są oczywiście testy i weryfikacje poprawności Kraków 2013-01-21 Analiza różnych modeli rozpadów Algorytm przypadków ważonych 18 Kraków 2013-01-21 Analiza różnych modeli rozpadów Rezonanse Prądy hadronowe Formfaktory Nowy model rozpadów - Teoria Rezonansów Chiralnych (RChL) 19 Kraków 2013-01-21 Przypadki ważone Analiza różnych modeli rozpadów Algorytm: Przypadki wygenerowane przy pomocy modelu X są podawane jako dane wejściowe Algorytm wylicza dwie wagi dla każdego przypadku: wagę w oparciu o model X i o model Y. Stosunek tych wag: Y / X jest wagą determinującą akceptację tego przypadku w modelu Y. 20 Kraków 2013-01-21 Przypadki ważone Analiza różnych modeli rozpadów Dzięki tej metodzie nie zachodzi konieczność długotrwałej generacji nowych próbek i symulacji efektów detektora Mniejszy błąd statystyczny (porównania odbywają się na tej samej próbce danych) Krótszy czas analizy (dla kanałów dwu- i trójpionowych – od 6 do 20 razy krótszy) Wagi pozwalają testować kilka różnych modeli równocześnie i porównywać je z danymi eksperymentalnymi 21 Kraków 2013-01-21 Przypadki ważone Analiza różnych modeli rozpadów Algorytm zastosowany m.in. do dopasowania prądów hadronowych opisanych Teorią Rezonansów Chiralnych (http://arxiv.org/abs/1203.3955) W oparciu o ten algorytm powstało narzędzie TauSpinner (http://arxiv.org/abs/1201.0117) Wciąż zostaje problem poprawnego dofitowania wielowymiarowych rozkładów do danych 22 Kraków 2013-01-21 Analiza spinu nowych rezonansów 23 Kraków 2013-01-21 Analiza spinu nowych rezonansów Cel analizy: W lipcu 2012 CERN ogłosił wyniki analizy eksperymentów ATLAS i CMS dotyczącej Bozonu Higgsa. Analiza wskazuje na istnienie nowej cząstki o masie ~125GeV. Wyniki nie określają jednoznacznie, że nowa cząstka to Higgs; jedynie, że jest to bozon. 24 Kraków 2013-01-21 Analiza spinu nowych rezonansów Znalezioną cząstkę określmy jako „bozon X”. X może być Higgsem opisanym Modelem Standardowym (SM Higgs), może być Higgsem opisanym przez inny model (non-SM Higgs), np. przez Supersymetrię. Może też być rezonansem bozonu Z. Potrzebna jest weryfikacja spinu X by określić jego właściwości. Algorytm przypadków ważonych świetnie się do tego nadaje. 25 Kraków 2013-01-21 Analiza spinu nowych rezonansów Nasza analiza opiera się o rozpady X → τ+ τ- przewidywane przez SM i zaobserwowane w LHC. Badając rozproszenie produktów rozpadu leptonów τ można określić, czy X jest bozonem o spinie 0 czy 2. Wyzwaniem jest znaleźć takie wartości fizyczne, które będą w stanie dobrze pokazać różnice między tymi stanami, a jednocześnie będzie je można zaobserwować w detektorze. 26 Kraków 2013-01-21 Analiza spinu nowych rezonansów Z punktu widzenia informatyka: Analiza wymaga współpracy trzech różnych zespołów o odmiennych zadaniach: Dostosowanie istniejących narzędzi do nowego zadania; przygotowanie frameworku analizy (część informatyczna) Zawartość merytoryczna (zapewniona przez fizyków teoretycznych) Dane eksperymentalne (zapewnione przez fizyków eksperymentalnych) Framework analizy jest podstawą współpracy wszystkich trzech zespołów. Organizacja projektu w dużej mierze opiera się o odpowiednią organizację kodu. Framework musi być w stanie przetestować i wyłapać błędy każdego z zespołów (na ile to możliwe). Dodatkowe wyzwanie: ograniczenie czasowe. Analiza musi być zrealizowana bardzo szybko. 27 Kraków 2013-01-21 Analiza spinu nowych rezonansów Podstawowe problemy informatyczne: Komunikacja (jak zawsze we współpracy między fizykami teoretycznymi, fizykami eksperymentalnymi i informatykami). Różne standardy oznaczeń (utrudniają sprawdzenie poprawności kodu). Mieszane języki programowania i środowiska, w których analiza ma działać. Kolejne kroki w analizie zależą od wyników poprzednich, stąd nie wiadomo z początku, jakie modyfikacje będą konieczne. Zmiany muszą odbywać się możliwie najmniejszym kosztem. 28 Kraków 2013-01-21 Analiza spinu nowych rezonansów Różnica między teorią: a obserwacją z punktu widzenia eksperymentu: 29 Kraków 2013-01-21 Zarządzanie wiedzą i kompetencjami Każdy fizyk może nauczyć się każdego narzędzia informatycznego i każdej techniki programistycznej Każdy informatyk może nauczyć się każdego fragmentu opisu modelu fizycznego Ale oczywiście jest to zbędny wysiłek i strata czasu. Wiedza w zespole powinna być podzielona zgodnie z kompetencjami. informatyk powinien nauczyć się tylko niezbędnego minimum wiedzy fizycznej i jej kontekstów fizyk uczy się obsługi tylko minimum niezbędnych narzędzi i metodologii programistycznych najważniejsze to ocenić czego trzeba się nauczyć, a co można pominąć. Ten podział jest nietrywialny a czasem wręcz niemożliwy do osiągnięcia 30 Kraków 2013-01-21 Zarządzanie wiedzą i kompetencjami Z mojego doświadczenia, informatyk: z łatwością może nauczyć się podstaw modelu fizycznego, ale tylko podstaw powinien poszerzyć swoją wiedzę zawsze, gdy zachodzi problem z zaplanowaniem następnego kroku jeśli zrozumienie tematu wymaga więcej czasu niż kilka godzin należy poważnie zastanowić się, czy jest to konieczne Z mojego doświadczenia, fizyk: zwykle nie ma ochoty uczyć się nowego narzędzia (nawet jeśli pomaga mu w pracy) o ile jest to niezbędne lub bardzo użyteczne nie stosuje złożonych struktur informatycznych i ma problemy z ich odczytaniem. Przysłaniają model fizyczny i wprowadzają zamieszanie preferuje podejście proceduralne, bezstanowe, bez polimorfizmu. Możliwość prześledzenia całego algorytmu linijka po linijce w jednej funkcji pozwala fizykowi łatwiej odnaleźć błędy wynikające z opisu fizycznego 31 Kraków 2013-01-21 Podsumowanie Przedstawione zostały problemy związane z wdrożeniem oprogramowania w środowiska eksperymentów niskoenergetycznych i eksperymentów LHC Przedstawiony został generator MC Tauola, oraz jego rozszerzenia – Tauola++ i nowe prądy RChL Przedstawiony został algorytm przypadków ważonych i jego zastosowanie w porównywaniu różnych modeli rozpadów leptonów tau Przedstawione zostało zastosowanie tego algorytmu w analizie spinu nowych rezonansów Omawiane projekty zostały przedstawione tylko od strony informatycznej. Ich właściwa treść, czyli zawartość fizyczna, została tylko nakreślona. 32 Kraków 2013-01-21 Ważniejsze publikacje 1. Universal Interface of TAUOLA Technical and Physics Documentation N. Davidson, G. Nanava, T. Przedzinski, E. Richter-Was, Z. Was, Comput.Phys.Commun. 183 (2012) 821-843 http://arxiv.org/abs/arXiv:1002.0543 2. Resonance chiral Lagrangian currents and τ decay Monte Carlo O. Shekhovtsova, T. Przedzinski , P. Roig, Z. Was, Phys.Rev. D86 (2012) 113008 http://arxiv.org/abs/arXiv:1203.3955 3. TauSpinner Program for Studies on Spin Effect in tau Production at the LHC Z. Czyczula, T. Przedzinski, Z. Was, Eur.Phys.J. C72 (2012) 1988 http://arxiv.org/abs/arXiv:1201.0117 4. Ascertaining the spin for new resonances decaying into tau+ tau- at Hadron Colliders S. Banerjee, J. Kalinowski, W. Kotlarski, T. Przedzinski, Z. Was Submitted for publication in Eur.Phys.J.C http://arxiv.org/abs/arXiv:1212.2873 33 Kraków 2013-01-21 Dziękuję za uwagę! 34 Kraków 2013-01-21