ავტორიზაცია
პარალელური გამოთვლები ფუნქციონალური ენა F#-ში
ავტორი: თენგიზ მერაბიშვილისაკვანძო სიტყვები: პარალელური დაპროგრამება, F#, ფუნქციური
ანოტაცია:
კომპიუტერები ყოველ წელს უფრო სწრაფები არიან, პროცესორებს კი მეტი და მეტი ბირთვი აქვთ. ძალიან მნიშვნელოვანია ჩვენი პროგრამები შეესაბამებოდეს ახალ ტექნიკას, თუ არა და ეს ხელს უშლის პროგრეს. პარალელური ალგორითმები ძალიან მნიშვნელოვანი თემა არის, ამიტომ გადავწყვიტე გამოკვლევის გაკეტება ზუსტად ამ თემაზე. დალაგების ალგორითმებს აქვთ ბევრი ყოველდღიური გამოყენება, ამიტომ გადავწყვიტე გამერჩია პარალელური და ფუნქციური პროგრამირება და დალაგების ალგორითმის იმპლემენტაცია გამეკეტებინა. ჩემი გამოკვლევის მიზანი იყო გამეგო თუ რა სიძნელე ექნებოდა პარალელური კოდის წერას, და რამდენად გამოყენებადი არის F# ( რადგან საკმაოდ ახალი ენა არის ). შედეგი საკმაოდ კარგი იყო - F#, მიუხედავად იმისა რომ საკმაოდ ახალი ენაა აქვს უამრავი დოკუმენტაცია, და დიდი მხარდაჭერა. კოდის გაშვებამ 8 ბირთვზე ალგორითმის სიჩქარე გააორმაგა 4 ბირთვთან შედარებით, 1 ბირთვიან პროცესორზე კი 30 ჯერ უფრო სწრაფი იყო (100 000 ელემენტებიან მასივისთვის). ჩემი კოდი დევს github-ზე, და ყველა ვინც დაინტერესებულია შეუძლია გააგრძელოს მუშაობა ამ ამოცანებზე.