Şimdi Ara

Dünyanın en hızlı erişimli cache algoritmasını yapmış olabilirim. (2. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
31
Cevap
5
Favori
2.576
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
13 oy
Öne Çıkar
Sayfa: önceki 12
Sayfaya Git
Git
Giriş
Mesaj
  • Tebrikler

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Tuğrul hocam, güzel bir çalışma olmuş. Programlama yarışmalarında da LRU Cache kullanılan durumlar oluyor ama approximation'ı daha önce görmemiştim.

  • ShadowWyvern S kullanıcısına yanıt

    Evet, paralel programlamada MIMD diyorlar buna. Multiple Instruction Multiple Data. Diğeri, daha basit olanı SIMD, Single Instruction Multiple Data. Ben de CUDA eğitiminde daha çok SIMD üzerine paralel programlama yapmıştım. Ama yıllar önceydi bu. MIMD ile daha verimli şekilde paralel programlama yapılabilir. Ben de bakayım konu olmuşken.

  • yesil1026 Y kullanıcısına yanıt

    Teşekkür ederim. Yarışmalarda genelde belleğe sığan işlemler olduğu için normal geçici dizi kullanmak yetiyor. Ayrıca lru yazma yarışmalarında da lru gerekiyor, approximation işe yaramıyor çünkü performansa göre puan vermiyorlar.


    Kullandığım algoritma zsten bilinen bir tanesi, clock second chance diye biliniyor. Normal lruya göre yaklasık 20 30 kat daha çabuk evoction islemi yapıyor. Ben de bunu paralel hale getirip nway set associated yapıp onüne baska cacheler koydum ama thread başına 2 cache olacak şekilde. Sonra bunları ortak cacheye bağladım. Bu şekilde sadece okuma işlemi olarak saniyede 2.4 milyara kadar çıkıyor. Ama yazma işlemi olacaksa sadece tek cache kullanılabiliyor o da saniyede 70 milyon islem yapıyor çoklu izlek ile. Direct mapped cache en hızlısı ama cache miss çok oluyor. Ondan arkasına lru koydum. En arkadaki de coklu izlek icin optimizasyon oluyor.


    Bu arada cuda simt degil miydi? Single instruction multiple thread.




    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 15 Ekim 2021; 17:40:21 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • ShadowWyvern S kullanıcısına yanıt

    Evet 11 bağımsız is yapabiliyorlar. Hatta kendi iclerinde bile bağımsızlikları var. Ama cuda/opencl bu birimleri seçmemize izin vermiyor. Sadece 1. thread grubu bunu yapsın, 2. grup bunu yapsın diyebiliriz, onlarin nerede calisacagi sürücülerin ve gpunun işi. Hatta birinci set data uretirken aynı anda ikinci set datayı alabiliyor. Hatta bunu başka kernel fonksiyonuna bile gönderebiliyorlar. Hatta en son sürümlerde cpu ile anlık iletişimde bile olabiliyorlar atom_add gibi fonksiyonları kullanarak.




    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 15 Ekim 2021; 18:12:23 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • EmuDev E kullanıcısına yanıt

    geri dönüşünüz için teşekkürler.

  • https://www.youtube.com/watch?v=Sw8fh3c7ESQ&feature=youtu.be



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 17 Ekim 2021; 21:22:47 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • ismkdc kullanıcısına yanıt

    Hocam kubernetes/aws üzerinde redis deploy etmek bana göre cache algoritması yazmaktan daha zor (aws api + server seçimi + docker image yaratma + ip erişimini açma + otomatik program kurulumu + yüke göre server secimi) ve çok bilgisayarı kapsayan yararlı bir olay. Redisin ssdb diye de bir muadili var hızlı diyorlar ama redis daha güvenli olabilir. Ayrıca konudaki cacheler sadece tek bilgisayarla sınırlı. Yani hızlı olmasının sebebi redis gibi çok çeşitli iş yapmaması.




    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 24 Ekim 2021; 10:37:52 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • anladığım kadarıyla

    özel donanım için çıkan

    bir programlama dilinden bahsediyorsunuz !


    eğer bu doğru ise

    zaten hızlandırıcı özelliği olan bir donanım

    ve bunun diliyle yazdığını program var ise


    bu konu başlığı

    gerçeği ve doğru yanıtmıyor o zaman !

  • ProjectMan kullanıcısına yanıt

    C++ özel donanım için değil hocam.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: önceki 12
Sayfaya Git
Git
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.