Beberapa hari yang lalu, saya mendapati diri saya bertanya pada sebuah pertanyaan sederhana.

Mengapa beberapa node validator melambat meskipun perangkat kerasnya tampak sepenuhnya mampu menangani beban kerja?

Awalnya, saya mengira jawabannya adalah kemacetan jaringan atau latensi penyimpanan.

Semakin dalam saya melihat, semakin mengejutkan penjelasannya.

Perangkat lunak validator modern mendistribusikan pekerjaan yang masuk ke beberapa inti CPU. Verifikasi tanda tangan, eksekusi transaksi, pemeriksaan otorisasi, peristiwa jaringan, dan operasi database semuanya berjalan secara paralel. Di atas kertas, ini terdengar seperti arsitektur ideal untuk meningkatkan performa.

Tapi komputasi paralel menghadirkan biaya tersembunyi tersendiri.

Ketika beberapa utas pekerja berulang kali mengakses dan memodifikasi data kebijakan bersama yang sama, prosesor terus-menerus saling bertukar kepemilikan cache antarinti CPU. Para insinyur menyebut perilaku ini sebagai ping-ponging cache.

Alih-alih menjalankan pekerjaan yang bermanfaat, prosesor menghabiskan siklus berharga untuk menjaga keadaan cache internal tetap tersinkron.

Secara teknis, tidak ada yang rusak.

CPU tetap aktif.

Perangkat lunaknya terus berjalan.

Namun, secara keseluruhan throughput turun diam-diam karena overhead koordinasi mulai menggantikan komputasi yang produktif.

Jenis bottleneck seperti ini jarang muncul dalam pemasaran blockchain.

Kebanyakan pembahasan berputar pada kecepatan transaksi, throughput, atau produksi blok.

Hanya sedikit yang menjelajahi apa yang sebenarnya terjadi di dalam perangkat lunak validator ketika ribuan permintaan mulai bersaing memperebutkan sumber daya perangkat keras yang sama.

Perspektif itulah salah satu alasan saya jadi tertarik pada @NewtonProtocol.

Otorisasi yang dapat diprogram memperkenalkan evaluasi kebijakan yang canggih sebelum eksekusi. Saat otomatisasi semakin umum, perangkat lunak validator tidak hanya membutuhkan prosesor yang lebih cepat.

Itu akan membutuhkan penjadwalan yang lebih cerdas.

Distribusi beban kerja yang efisien.

Kontensi cache berkurang.

Koordinasi yang lebih baik antara jalur eksekusi yang berjalan bersamaan.

Optimasi-optimasi itu pada akhirnya mungkin berkontribusi lebih besar pada skalabilitas jangka panjang daripada menambahkan perangkat keras tambahan saja.

Kinerja blockchain tidak pernah ditentukan oleh satu metrik saja.

Bandwidth jaringan itu penting.

Penyimpanan itu penting.

Kriptografi itu penting.

Namun, arsitektur perangkat lunak sering kali menentukan seberapa efektif setiap sumber daya tersebut benar-benar digunakan.

Mungkin generasi infrastruktur berikutnya tidak akan ditentukan oleh mesin yang paling cepat.

Mungkin ditentukan oleh sistem yang membuang paling sedikit komputasi saat menangani beban kerja yang kian kompleks.

@NewtonProtocol $NEWT $US $TAC #Newt #SKHynixADRBiggestForeignCorporateFundraising #USNaturalGasFallsOver6% #CorningJumpsOver8% #SpaceXAddedToValueIndexes