1 / 17

Obsah

Nástroje pre vývoj aplikácií (Application development tools) Miroslav Dobrucký Ústav informatiky Slovenská akadémia vied Bratislava. Obsah. Východiská Postupy Nástroje MPICH-G2 MARMOT. Východiská. Jednoduché aplikácie potrebujú veľmi málo zásahov na to, aby boli schopné bežať v Gride

aradia
Download Presentation

Obsah

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nástroje pre vývoj aplikácií (Application development tools)Miroslav DobruckýÚstav informatikySlovenská akadémia viedBratislava

  2. Obsah • Východiská • Postupy • Nástroje • MPICH-G2 • MARMOT

  3. Východiská • Jednoduché aplikácie potrebujú veľmi málo zásahov na to, aby boli schopné bežať v Gride • najmä ak bežia pod linuxom • a sú vykonateľné dávkovo • Veľká časť aplikácií v Gride má zdrojový kód v jazyku Fortran • jazyk nie je obmedzením (C, C++, Java ...) • kód môže byť paralelný (MPI štandard) • k dispozícii je množstvo knižníc pre MPI (paralelné kódy) • Dva základné „gridifikačné” postupy • bežné dávkové sekvenčné programy môžu byť vykonávané parametricky • alebo pre rôzne porcie zo vstupných údajov

  4. Postupy • Pomocou bežných vývojových nástrojov odladíme aplikáciu • alebo aspoň jej výpočtové jadro / jadrá • Klastrová (paralelná, MPI) aplikácia pobeží aj v Gride • na jednom klastri • bez väčších úprav • Je možné vyvinúť aj distribuovanú (multi-site) aplikáciu • cez MPICH-G2 (www.globus.org/mpi) • mala by však mať „hrubé zrno“ • Možno využiť ďalšie „gridové“ nástroje • z CrossGrid projektu (MARMOT,...) • z iných projektov (GridLab, ...)

  5. Nástroje • Ladiace nástroje pre paralelné programy • napr. totalview, DDT, p2d2 • „Debug“ verziaknižnice MPI • „Post-mortem“ analýza„trace files“ • Špeciálne verifikačné nástroje pre„runtime“ analýzu • MPI-CHECK • obmedzenie na Fortran • Umpire • prvá verzia obmedzená na„shared memory“ platforms • pripravuje sa verzia pre „distributed memory“ • verejne nedostupný • MARMOT

  6. Obsah • Východiská • Postupy • Nástroje • MPICH-G2 • MARMOT

  7. MPICH architektúra MPICH p4 globus2

  8. Globus Toolkit in MPICH-G2 • Launching application • Resource Specification Language (RSL) • The Dynamically-Updated Request Online Coallocator (DUROC) • Globus Resource Allocation Manager (GRAM) • globusrun • Globus Security Infrastructure (GSI) • Staging • Globus Access to Secondary Storage (GASS) • Inter-cluster/SMP Messaging • Globus I/O • GridFTP • Data Conversion

  9. Multimethod Support vMPI TCP Computer B Computer A

  10. Use of Communicator Caches • MPI_Attr_{put,get} • Topology discovery • Easy access to WAN bandwidth capacity • Parallel TCP streams, for non-dedicated networks • UDP with added reliability, for dedicated networks (e.g., TeraGrid)

  11. What can you do with MPICH-G2? • Run a single MPI application on a Grid • More CPUs and more memory • Difficult, but possible. Cactus-G SC’01 Gordon Bell • Loosely coupled MPI applications • Modify two apps coupling as a single MPI app • Functional pipelines • Perfect for TeraGrid • Client/Server app (viz app SC’01) • Single MPI app (viz app Igrid2002, TG @ SC’03)

  12. Obsah • Východiská • Postupy • Nástroje • MPICH-G2 • MARMOT

  13. MARMOT • Ako odladiť aplikáciu, ktorá beží na 512 uzloch a zrúti sa po 5 hodinách? • Ako odhaliť chyby zlého použitia MPI volaní? • => MARMOT sleduje vykonávané MPI funkcie • Automaticky kontroluje korektnosť ich použitia aj korektnosť ich argumentov - počas behu aplikácie • Nenahrádza klasické „debuggers“, používa sa popri nich • Podporuje Fortran aj C – volania (viazanie) v MPI v1.2 • Je to knižnica, ktorú prilinkujete k aplikácii

  14. MARMOT – log file • Vygeneruje ľahko čitateľný záznam (log file) • Porušenie MPI-štandardu je reportovné ako chyba • Neobvyklé správanie alebo možné problémy - varovanie • Vypíše poznámku k neškodném ale zato pozoruhodnému javu • Volania MPI-funkcií sú zaznamenané nakaždom uzle • Pri detedekcii „deadlock“môže byť zopár volaní (podľa konfigurácie používateľa) sledovaných naspäť nakaždom uzle

  15. MARMOT – podporované platformy • MARMOT je tvorený ako prenesiteľný nástroj na každú platformu, pre ktorú existuje MPI-implementácia. Boluž otestovaný na • Linux IA32/IA64 s MPICH, MPICH-G2 alebo LAM • IBM Regatta • Cray T3E • Hitachi SR8000 • NEC SX-6 • Autori: HLRS (High Performance Computing Center Stuttgart) • Bettina Krammer • Katrin Bidmon • Matthias Mueller • MARMOT je vyvíjaný v rámci európskeho projektu CrossGrid

  16. STEM aplikácia na IA32 klustris Myrinet prepojením

  17. Ďakujem za pozornosť egee.ui@sav.sk Miroslav Dobrucký Ústav informatiky Slovenská akadémia vied Bratislava www.eu-egee.org

More Related