Comenius University > Faculty of Mathematics, Physics and Informatics > Department of Computer Science | |
Dr. Tomas Plachetka |
|
Paralelne architektury a programovanieZima 2006/2007: Utorok 9:00, III (resp. M218)
Ciel projektovCielom projektu je implementovat a experimentalne otestovat niektoru work-stealing strategiu pre paralelny vypocet konecneho daneho poctu nezavislych uloh (tento pocet oznacme W). To znamena implementovat niektoru verziu work stealing, urobit merania a napisat o tom vsetkom kratky report.Work stealingCasove komplexity taskov je vhodne vygenerovat podla normalneho (gaussovho) rozdelenia N(μ, σ), pricom stredna hodnota a odchylka su dane. Takto vygenerovane komplexity treba ulozit do suboru (a z nich urcit zakladne statistiky, napr. Tmax a Tmin). Striktne algoritmy (chunking, factoring) su popisane v clanku T. Plachetka, Tuning of Algorithms for Independent Task Placement in the Context of Demand-Driven Parallel Ray Tracing. Treba implementovat work-stealing algoritmus, ktory bol popisany na prednaske. Jednoduchsia verzia work-stealing sa robi tak, ze proces ktory nema pracu, robi broadcast na ostatne procesy a od kazdeho dostane 1/N poctu zatial nevypocitanych taskov. Implementacia sa moze spoliehat na znalost W (pocet taskov), N (pocet worker procesov), nesmie sa vsak spoliehat na znalost Tmax a Tmin (a tiez nie μ a σ) v ziadnom z procesov. Latenciu L treba merat priebezne. Vysledok experimentov pozostava z nasledujucich merani:
Interface work-stealing programuCommand-line parametre programu: <nr_procs> <file>Input file <file>:
Output file <file>.<nr_procs>:
Jazyk a systemyImplementaciu (kodovanie a ladenie) treba robit v jazyku C (nie C++), bud na Parsytec Multicluster, ktory je pripojeny k pocitacu caissa (architektura PARIXT8) a/alebo na PCx86 (architektura LINUX). Architektura PARIXT8 je obzvlast dolezita, lebo v Parsytec Multicluster je 20 procesorov, ktore su vylucne k dispozicii jednej beziacej aplikacii. Toto moze byt problem pre architekturu LINUX (treba k tomu cluster 20 PC s LINUX, ktory je rezervovany vylucne pre jednu beziacu aplikaciu, inak mozu byt experimenty ovplyvnene inymi beziacimi aplikaciami). Experimenty treba urobit pre architekturu PARIXT8.Popis modulovTPL a threadsV header file ~plachetk/pub/MPS/include/tpl.h.WorkV header file ~plachetk/pub/MPS/include/work.h.StatsV header file ~plachetk/pub/MPS/include/stats.h.Grafy Na kreslenie efficiency grafov doporucujem program GNUPLOT (gnuplot). Tento program predpoklada, ze data su nejakym pravidelnym sposobom organizovane v subore. Ak nemate skusenosti s GNUPLOT, tak pouzite napriklad MS Excel alebo nejaky iny program ktory vie kreslit grafy.
LinkyParalelne architektury a programovanie, Zima 2003/2004 (Rastislav Kralovic).KROC: The Kent Retargetable OCCAM Compiler Message Passing Interface (MPI) Forum MPICH (Free Portable Implementation of MPI)
|