- Kodi
- CMP 503
- Emri
- Programim në Ambient të Shpërndarë i Avancuar
- Semestri
- 3
- Leksione
- 3.00
- Seminare
- 1.00
- Laboratore
- 0.00
- Kredite
- 3.50
- ECTS
- 6.00
- Përshkrimi
-
Në këtë lëndë, studentët do të njihen me programimin dhe platformat që realizojnë programimin në ambjent të shpërndarë. Do të njihen me paralelizmin e thredeve dhe si bëhet komunikimi i thredeve duke shmangur deadlock.
- Objektivat
-
Objektivat e lëndës janë dizajnuar në mënyre te tillë që të mundësohet një kuptim themelor i programimit në ambjent të shpërndarë. Mësimi i koncepteve të programimit parallel dhe platformat cloud ku mund të implementohet.
- Java
- Tema
- 1
- Komputimi paralel: • Taksonomia Flin: SISD. MISD, SIMD, MIMD. • Organizimi i Memories • Modele paralele dhe eficanca e tyre (Lit, fq. 8 – 31)
- 2
- Hyrja e Python • Sintaksat • Llojet e datave • Kontrolli i rrjedhes...etj • Programim paralel me python (Lit.1, fq. 32 – 45)
- 3
- Paralelizmi me threde • Moduli i python per thredet. • Caktimi i thredeve • Caktimi i një nënklase threadi (Lit, fq. 46-60)
- 4
- Sinkronizimi i thredeve • Sinkronizimi me kycje • Sinkronizimi me kycje R • Sinkronizimi me semaforë • Sinkronizimi me kushte • Sinkronizimi me evente (Lit., fq. 61 – 86)
- 5
- Paralelizmi i bazuar në procese • Moduli i python per multi-procese • Emerimi i proceseve • Proceset ne background • Asgjesemi i proceseve • Nënklasat e proceseve dhe shkëmbimi i të dhënave (Lit, fq. 87-115)
- 6
- Kalimi i mesazheve • Struktura mpi dhe moduli mpi i python • Komunikimi point-to-point • Shmangja e deadlocks (Lit, fq. 116 – 130)
- 7
- Komunikimi • Komunikimi me broadcast • Komunikimi me funksionin scatter • Komunikim duke përdorur funksion mbledhës • Komuniki “all-to-all” • Optimizimi i komunikimit (Lit, fq. 131-152)
- 8
- Midterm
- 9
- Programim asinkron • Module të tjera python • Menaxhimi i loops • Asyncio (Lit.1, fq. 153 – 181)
- 10
- Distributed Python • Programim i shpërndarë në aplikacione të shpërndara • Moduli Socket i Python • Përdorimi i Celery për menaxhimin e punëve • RMI Pyro4 (Lit, fq. 182-210)
- 11
- Cloud Computing • Arkitektura dhe modelet e shërbimeve • Zhvillimi i aplikacioneve web me PythonAnywhere • Computing pa server (Lit, fq. 211 – 249)
- 12
- Computing heterogjen • CUDA • OpenCL (Lit, fq. 250 – 300)
- 13
- Computing heterogjen... vazhdim • CUDA vs PyCUDA • OpenCL vs PyOpenCL (Lit, fq. 250 – 292)
- 14
- Programim GPU • Futja e Numba (Lit, fq. 293-301)
- 15
- Testimi i aplikacioneve dhe sherbimeve • Teste interaktive • Pdb • debug (Lit, fq. 302 – 333)
- 16
- Final Exam
- 1
- Në fund të lëndës pritet që studentët të njohin konceptet programimit të shpërndarë.
- 2
- Të jenë të aftë të njohin modelet e shërbimeve IaaS, PaaS, SaaS.
- 3
- Studentët do të njihen me serverat në mjedis cloud dhe si u shëebejnë klientëve.
- 4
- Studentët do të zotërojnë njohuri mbi programimin heterogjen.
- 5
- Në fund të lëndës studentët do të jenë të familjarizuar me gjuhën Python dhe modulet e tij.
- 6
- Studentët do të jenë të aftë të shqyrtojnë algoritmet CUDA dhe OpenCL.
- Sasia Përqindja Përqindja totale
- Gjysmë finale
- 1 40% 40%
- Kuize
- 0 0% 0%
- Projekte
- 0 0% 0%
- Detyra
- 0 0% 0%
- Laboratorët
- 0 0% 0%
- Pjesëmarrja në mësim
- 0 0% 0%
- Përqindja totale e vlerësimit
- 40%
- Përqindja e provimit përfundimtar
- 60%
- Përqindja totale
- 100%
- Sasia Kohëzgjatja (orë) Gjithsej (orë)
- Kohëzgjatja e kursit (përfshirë javët e provimit)
- 16 4 64
- Orë studimi jashtë klasës
- 14 4 56
- Detyrat
- 0 0 0
- Gjysmë finale
- 1 10 10
- Provimi përfundimtar
- 1 20 20
- Të tjera
- 0 0 0
- Ngarkesa totale e punës
- 150
- Ngarkesa totale e punës / 25 (orë)
- 6.00
- ECTS
- 6.00