Çok izlekli uygulamalarda en az saniyede 1 milyon en çok 2.5 milyar get set işlemi yapabilirken, tek izlekte en az 50 milyon en çok 1 milyar işlem yapabiliyor. Ama cache hit oranı normal LRU 'ya göre yüzde birkaç daha düşük. github GitHub - tugrul512bit/LruClockCache: A low-latency LRU approximation cache in C++ using CLOCK second-chance algorithm. Multi level cache too. Up to 2.5 billion lookups per second. https://github.com/tugrul512bit/LruClockCache< Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 12 Ekim 2021; 11:47:24 > < Bu ileti mobil sürüm kullanılarak atıldı > |
Dünyanın en hızlı erişimli cache algoritmasını yapmış olabilirim.
-
-
Tam olarak ne işe yarıyor? Nerelerde kullanabiliriz?
-
L1, L2 içinde minimum değerlerle maksimum rekorlara ulaşılır burada sorun yok !
asıl sorun büyük verileri işleye bilmek sanırım !
-
Tek bilgisayara sığmayan büyük verileri işlemek için tabiki de redis gibi veya daha performanslı bir veri dağıtacak araç gerekir.
< Bu ileti mobil sürüm kullanılarak atıldı > -
Hocam bu bir tampon bellek yani bazı yavaş ve tekrarlanan islemlerin ram bellekte tutulmasini sağlıyor.
< Bu ileti mobil sürüm kullanılarak atıldı > -
her şeyden önce iddialı olmanıza sevindim !
benimde şöyle bir iddiam var !
Real-Time Lossless data compression Histogram algorithm √λ≅X^Y∓Z ∦ λ∈[(ArgMax⇔>∀xω1)→(ArgMin⇔<∀xω9)]
ama lakin olayın ileride
The Billion Dollar Code | Official Trailer | Netflix
bu senaryoya dönem ihtimali olduğu için kassan ne olur kastırsan ne olur !
sizin şu an yaptığınız işlevsellik döngü hızlandırma anlamıyla belki bir teknolojik devrim olabilir.
google dan bile daha hızlı sorgulama yapmaya veya yapay zekaların bellek erişiminde yeni bir dönem açılışı bile olabilir.
çalışmalarınızı taktir ediyorum.
-
hdd i hep dijital verinin analog bir bantta saklanmış haliymiş gibi görmüşümdür.
burada asıl teknoloji devrimi ram in yetmediği noktada oluşturulan
swap denilen sistem molozlarından nasıl kurtulunması lazım
32-bit 4gb ile sınırlı ve aslında özgürlük sınırların başladığı noktada başlar.
ve şimdi 64-bit adreslemenin kullanıldığı bir alanda
hacimselliğin 1000 de 1 bile olmayan kapasitelerde sisteme ram takılmakta
histogramig algoritma ile gerçek zamanlı veri sıkıştırması mümkün
bu konuda binlerde akademisyen doktora tezi yazmış
ama hiç biri uygulama aşamasına geçememiş.
mimari 64-bit ile 32-bit arası bir yerlere ayarlanırsa
sistem gerçekten daha hızlı çalışabilir.
64-bit çok fazla kaynak tüketiyor
32-bit ise kapasite olarak kendini çok fazlasıyla sınırlıyor.
burada anlatmak istediğim ana fikri buraya yazamıyorum
ama doğru teknik düşünce ile o fikri fark edeceksin.
zaten bu konuları anlayan adam sayısı çok az ve yok kadar az !
< Bu mesaj bu kişi tarafından değiştirildi ProjectMan -- 13 Ekim 2021; 8:11:8 >
-
Hocam onun için ekran kartlarının bellegini kullanan dizi de yapmıştım. RAM olarak sadece 4 GB bellek var, kartların 5GB belleğini kullanarak hdd kullanmadan 5GB boyunda bir dizi üzerinde hesap yapıyor. Adı VirtualMultiArray.
< Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 13 Ekim 2021; 10:29:19 >
< Bu ileti mobil sürüm kullanılarak atıldı > -
Yahu şu forumda takılıyorsun insan biraz kodlama, biraz sistem mimarisi öğrenir be kardeşim. Hdd, ssd, ram, swap, L1, L2... bunların hepsi bellektir. Bunların kimisi kalıcı kimisi uçucu, kimisi hızlı kimisi yavaştır. Sistemde ram niye var? Hdd ram kadar hızlı olsaydı ram diye birşeye gerek kalmazdı. Ram L1 kadar hızlı olsaydı L1'e gerek kalmazdı. Swap dediğin şey niye var? Programın belleğe ihtiyacı varsa ve ram'de yeteri kadar alan yoksa ne olacak? Bunun için sistem mi kitlensin? Harddisk ten bir bölgeyi ayırırsın, burayı sanki ram miş gibi kullanırsın. Yavaş ama sistemin devamlılığını sağlıyor sonuçta, kitlenmekten iyidir.
Gömülü sistemlerde kullanılan FRAM diye bişey var. Normal ram'e yakın bir hızda çalışıyor ama kalıcı bellek. Tek çeşit bellek hem flash hafıza, hem ram, hem de eeprom görevi görebiliyor.
64 bit kaynak falan tüketmez. Adresler 4 yerine 8 byte olduğu için birazcık daha fazla belleğe ihtiyaç duyar o kadar. 32 ile 64 ün arası diye birşey olmaz. Sayısal devreler ikilik sayı sistemiyle çalışır onluk değil. İkilik sistemde 32 sayısı 5 bit ile, 64 sayısı 6 bit ile ifade edilir. Sen 50 bit işlemci yapacam dersen devreleri çok karmaşık hale getirmek durumunda kalırsın. Bellek kapasiteleri neden 1000-2000 diye gitmez de 1024-2048 diye gider?
-
Hocam yabancı forumlarda da paylaşın lütfen burda pek rağbet göreceğini sanmam. Elinize sağlık bu arada
-
Reddit, codeproject sitelerinde paylaştım hocam. Bir de minecraft programını cache ile çalıştırıp youtube videosu olarak yayınlamayı düşünüyorum ama coğu minecraft programı sınırlı dünyada tasarlanmış. Sınırsız dünyalısını bulup hdd ile görüntü çizme arasına biryere cache koyacağım.
< Bu ileti mobil sürüm kullanılarak atıldı > -
Kolay gelsin hocam
-
Sağol.
< Bu ileti mobil sürüm kullanılarak atıldı > -
şu son 3 kısımı pek anlayamadım biraz daha açıklayıcı yazar mısın !?
-
Kimse hız için 48bit tarzı bir mimari çıkarmaz bundan sonra uzun süre 64bit devam edecek gibi duruyor.(Geleceği var sonuçta) belki AVX komut setlerinde belirli gelişmeler olur o zaman dahada hızlanır işler...
Mimari olarak değilde yazılımsal bir yaklaşım var 32bit ve 64bit arasında ve buda 32gb RAM kadar bir limite tekabül ediyor.32bit 4gb olmasından iyidir...
https://www.baeldung.com/jvm-compressed-oops
-
şu an var olan 64-bit işlemciler ; fiziksel 64-bit değil, sanal 64-bit adresleme yapabiliyor
fiziksel olarak ise 48-bit adresleme yapabiliyorlar mış !
kaynak :
stackoverflow.com/questions/6716946/why-do-x86-64-systems-have-only-a-48-bit-virtual-address-space
64-bit, 32-bit adreslemelerin aşıldığı noktada iyi bir alternatif
ama 64-bit büyük veriler noktasında hassas zamanlamalar anlamıyla
32-bit e göre büyük zaman ve kaynak israf kaybına sebep olacaktır.
bunu anca histogram anlamıyla real-time sıkıştırmalarla aşılabilinecek bir fonksiyon.
< Bu mesaj bu kişi tarafından değiştirildi ProjectMan -- 14 Ekim 2021; 9:10:7 > -
https://www.youtube.com/watch?v=KfGnLltyRH4
gerçek zamanlı anlamda bir iş yapılacaksa cpu devrinin kapandığını söyleyebilirim bu videoda çok güzel örnekler var.
Bu videodan ayrı olarak Tuğrul beyin GPGPU çalışmaları mevcut...
Zamanında kendime sormuştum, OpenMP ve MPI 64çekirdeğe kadar erişebiliyor acaba bu işlemci için kodlanan yapılar ekran kartının içindeki çekirdeklerdede 1-2 yazılım değişiklikliği ile kullanılabilir mi?
https://www.techpowerup.com/gpu-specs/radeon-rx-vega-11.c3593
mesela üstteki benim ekran kartı 11compute unit içeriyor. 704/11=64 her compute unit başına 64 çekirdek düşüyor(thread olayı var tabi ek olarak).(nvidia için bu durum her sm için 128)
Bu compute unit ler kullanılarak 11 birbirlerinden bağımsız bilginin işlenmesi mümkün mü?
Örnek vermek gerekirse 1.set sadece ağaç çizerken 2.set sadece kaya çizecek (tamamiyle bağımsız şekilde) bu konuda beni aydınlatabilir misiniz Tuğrul bey teşekkürler... @Tugrul_512bit
< Bu mesaj bu kişi tarafından değiştirildi ShadowWyvern -- 14 Ekim 2021; 11:29:43 >
-
Konu güzelmiş tartışmaya devam edin lütfen.
-
Bende kubernetes üzerine redis deploy edem adamlar cache'in enginini yazıyor yahu :D
-
Anlamadığın yeri sor yardımcı olayım. 48 bit adresleme olayına da açıklık getirelim.
İşlemci bellekten veri isteyeceği zaman verinin adresini adres hattına yazar. Buradan ram'e gider bu adres bilgisi. Bu hat işlemci pinleriyle bellek alt sistemi arasındaki fiziksel bağlantıdır. Diyelim sistem 4 gb bellek destekliyor. O halde işlemciden ram'e 32 pin üzerinden adres hattı çekmek yeterlidir. Bu pinlerin her birinden 1 bit adres bilgisi gider. 32 bit ile yazılabilecek en büyük sayı 4 milyar küsürdür (2^32), yani tam olarak bellek byte kapasitesi kadar. Buna 1 bit eklesek desteklenen bellek kapasitesi 2 katına çıkar. Eklenen her bit (pin) adresleme kapasitesini 2 katına çıkartır. 2^48 in ne kadar büyük bir sayı olduğunu sen hesapla. Bu kadar büyük kapasiteli bellek hiçbir yerde yok şuan. Ha diyelim ki 10 yıl sonra bu kapasitede bellek kullanılmaya başlandı. 64 bit işlemciler kolaylıkla 64 bit fiziksel adreslemeye genişletilebilir. Hatta bundan daha fazlası bile olabilir. Eski 8 bit işlemcilerin çoğu 16 bit adres hattına sahipti çünkü 256 byte adresleme yetmiyordu.
En Beğenilen Yanıtlar
Tüm Yanıtları Genişlet
Yahu şu forumda takılıyorsun insan biraz kodlama, biraz sistem mimarisi öğrenir be kardeşim. Hdd, ssd, ram, swap, L1, L2... bunların hepsi bellektir. Bunların kimisi kalıcı kimisi uçucu, kimisi hızlı kimisi yavaştır. Sistemde ram niye var? Hdd ram kadar hızlı olsaydı ram diye birşeye gerek kalmazdı. Ram L1 kadar hızlı olsaydı L1'e gerek kalmazdı. Swap dediğin şey niye var? Programın belleğe ihtiyacı varsa ve ram'de yeteri kadar alan yoksa ne olacak? Bunun için sistem mi kitlensin? Harddisk ten bir bölgeyi ayırırsın, burayı sanki ram miş gibi kullanırsın. Yavaş ama sistemin devamlılığını sağlıyor sonuçta, kitlenmekten iyidir. Gömülü sistemlerde kullanılan FRAM diye bişey var. Normal ram'e yakın bir hızda çalışıyor ama kalıcı bellek. Tek çeşit bellek hem flash hafıza, hem ram, hem de eeprom görevi görebiliyor. 64 bit kaynak falan tüketmez. Adresler 4 yerine 8 byte olduğu için birazcık daha fazla belleğe ihtiyaç duyar o kadar. 32 ile 64 ün arası diye birşey olmaz. Sayısal devreler ikilik sayı sistemiyle çalışır onluk değil. İkilik sistemde 32 sayısı 5 bit ile, 64 sayısı 6 bit ile ifade edilir. Sen 50 bit işlemci yapacam dersen devreleri çok karmaşık hale getirmek durumunda kalırsın. Bellek kapasiteleri neden 1000-2000 diye gitmez de 1024-2048 diye gider? |
Benzer içerikler
- nesne başvurusu bir nesnenin örneğine ayarlanmadı
- google güvenli arama kapatma
- en çok kullanılan yazılım dilleri
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X