ProgPoW nedir?

0

En basit tabirle; ProgPow (Programmatic Proof of Work), sabit işlevli donanım için verimlilik aralığını en aza indiren GPU ayarlı Ethash uzantısı şeklinde tanımlanabilir.

ProgPoW, son dönemlerde Ethereum ana ağının ilgili geliştirmeleri sonrası adını sık duymaya başladığımız bir kazım yöntemidir. Açılımı Programmatic Proof of Work şeklinde ifade edilebilecek olan sistem en basit tabirle; kişinin yaptığı işi kanıtlama yöntemiyle ödüllendirilmesini şart koşan bir algoritmik yapıdır. Bu tarz algoritmik yapıların faydalı ya da zararlı olduğuna karar verebilmek için çeşitli özelliklerini detaylı incelemek gerekir.

Farklılığı nedir?

Tarhihsel Proof of Work yani PoW şeklinde tanımlanan sistemlerin çalışma prensibi algoritmanın yapısı ölçüsünde donanımların belirli özelliklerle çalışması yönünde ayarlanması ve referans noktasının sadece verimlilik olması söz konusuydu. Fakat ProgPoW, yöntemi ile bu sistem tam tersi yönünde çalıştırılmayı hedefler. Böylelikle, donanımınızın yapısı referans alınarak algoritmanın kendisini bu donanım özelliklerine göre adapte etmesi amaçlanır.

Donanım için verimli bir algoritma, erişim düzenleriyle ve o donanımın kullanılabilir alanlarıyla eşleşmelidir. Bu nedenle, donanıma kaydedilmiş yazılım düzenlemelerine sahip AMD GPU’ların Ethereum‘da büyük performans kazandığını görmemizin nedeni, bellek çiplerinin erişim kalıplarının Ethash’ın erişim kalıplarıyla eşleştirilmesidir.

Bugün Ethereum tarafından kullanılan Ethash, ticari (şahsi) GPU’larında oldukça iyi çalışan, bellek bazlı bir çalışma kanıtı algoritmasıdır. Her ikisi de bir ticari (şahsi) GPU’su için makul derecede büyük bir çerçeve (şu anda 2,5 GB) ve mümkün olduğunca fazla bellek bant genişliği gerektiriyor. Bununla birlikte, Ethash’ın ihtiyaç duyduğu tek şey budur ve Ethash GPU madenciliği için referans uygulaması bir grafik kartı ethminer ile profillendiğinde belirginleşir.

SM vs CodeXL

SM’ler (çok işlemcili yayın yapan, bir NVIDIA GPU’nun bilgisayar çekirdeği paralel olarak birçok iş parçacığından talimatlar oluşturan, yöneten, programlayan ve yürüten işlemsel çekirdekler) GPU’nun kalıp alanının çoğunu tüketir; % 30’dan daha az faydalanıyorlar.

CodeXL ile pek fazla ayrıntı sunulmamakla birlikte, benzer davranışlar gösterilmektedir – Vektör ALU’lar (aritmetik ve bitsel işlemleri gerçekleştiren dijital devreler olan aritmetik mantık birimleri) de % 30’dan daha az kullanımda çalışmaktadır.

ProgPoW eksiklikleri nelerdir?

Ethash ile ilgili eksikliklerden biri, ana bellekten okunan küçük 128 baytlık okuma olmasıdır. Bu küçük erişim boyutu, GDDR5X belleği kullanan GPU’ların Ethash’ın yürütülmesinde yetersiz kalmasının bir nedenidir. ETHlargement’in genel versiyonu, 128 baytlık yüklerin tam hızda çalışmasını sağlamak için GDDR5X’in Ethash erişim modelleriyle eşleşti.

Bir diğer önemli sorunda da GPU kartın çekirdek kullanımının fazla olduğu durumlarda ortaya çıkar – Ethash’ın başında ve sonunda çağrılan karma işlevi olan Keccak, bir FPGA veya ASIC’de çok daha verimli bir şekilde yürütülebiliyor. FPGA’ların Acorn hattı, özellikle sistem gücünü korumak ve performansı artırmak için Keccak hesaplamalarını boşaltmak için tasarlanmıştır. Keccak ile kaldırılan Ethash‘ın profili, bir kartın hesaplama çekirdeğinin zamanın sadece% 20’sini kullandığını ve %10’luk bir verimlilik kazancı sağladığını gösteriyor.

Özetlemek gerekirse; kaynak başına profil sınıflandırılması verilerinin, talimatların %20’sinden fazlasının boşaltılabilen Keccak olduğunu göstermektedir.

Keccak
Kaynak

ETHash nasıl bir yapıda olmalı?

Bu sonuçlar, özel olarak üretilmiş olan bir ASIC’i hedef alan ETHash’ın aşağıdaki özelliklerden oluşan bir yapı ile dizayn edilebileceğini göstermektedir;

  • Yüksek bant genişliğine sahip bir bellek arayüzü (en yaygın olarak GDDR6 veya HBM2).
  • Bir Keccak motoru.
  • İç döngü FNV ve modulo işlemlerini yapmak için küçük bir hesaplama çekirdeği.

Bunun sonucunda ortaya çıkan ASIC hem daha küçük olacak hem de mevcut ticari GPU’larından çok daha düşük bir güç alanına sahip olabilecek.

Kaynak: IfDefElse

Leave a Reply