Langsung ke konten

Arsip

Performa

19 artikel
Teknologi 22 Sep 2026 6 min read

Penempatan First-Touch NUMA Mengaitkan Halaman Fisik dengan CPU Pemicu Fault

Pada mesin NUMA, reservasi ruang alamat virtual tidak selalu langsung menentukan node NUMA fisik yang akan menyediakan setiap halaman. Untuk memori anonim, alokasi fisik umumnya terjadi kemudian saat CPU pertama kali memicu page fault pada sebuah halaman. Di bawah kebijakan alokasi lokal default, fault tersebut dapat membuat urutan inisialisasi menjadi bagian dari keputusan penempatan memori. Perilaku ini sering disebut penempatan first-touch. Thread yang pertama kali menulis atau memicu fault pada sebuah halaman dapat membuat Linux mengalokasikan memori backing di dekat node NUMA tempat thread itu berjalan, dengan tetap tunduk pada memory policy aktif, batasan cpuset, ketersediaan memori, dan mekanisme fallback kernel.

Rekayasa Perangkat Lunak 20 Sep 2026 6 min read

Batas Concurrency Adaptif Mengikuti Kapasitas Service

Batas Concurrency Adaptif Mengikuti Kapasitas Service Sebuah service dapat melambat sebelum benar-benar tidak tersedia. Ketika pekerjaan in-flight bertambah, antrean CPU membesar, connection pool terisi, lock contention meningkat, dan panggilan downstream menumpuk. Batas concurrency tetap dapat melindungi service, tetapi satu angka jarang cocok untuk setiap kondisi operasi. Kapasitas berubah mengikuti campuran request, cache hit rate, latency dependency, bentuk deployment, dan tekanan resource. Kontrol concurrency adaptif memperlakukan batas admission sebagai nilai yang dapat bergerak. Controller mengamati perilaku service terbaru, menaikkan batas selama concurrency tambahan masih produktif, lalu menurunkannya ketika latency menunjukkan antrean yang membesar atau saturation. Sasarannya bukan concurrency maksimum, melainkan pekerjaan paralel yang cukup untuk memakai kapasitas tersedia tanpa membiarkan antrean mendominasi response time.

Teknologi 19 Sep 2026 5 min read

Moderasi Interrupt NIC Menukar Laju Wakeup dengan Latensi Paket

Network adapter tidak harus mengirim interrupt ke CPU untuk setiap paket yang diterima atau transmisi yang selesai. Banyak NIC dapat menahan pengiriman interrupt sebentar lalu melaporkan beberapa completion sekaligus. Interrupt moderation ini mengurangi traffic interrupt dan overhead masuk ke CPU, tetapi juga dapat menunda saat software menyadari adanya pekerjaan yang sudah selesai. Mekanisme ini berada di antara DMA paket dan pemrosesan receive atau transmit oleh driver. Yang berubah adalah waktu notifikasi; format paket di wire, aturan ordering Ethernet, dan kewajiban driver untuk memproses descriptor yang selesai tetap terpisah dari kebijakan tersebut.

Kecerdasan Buatan 19 Sep 2026 7 min read

Ke Mana Waktu Inferensi PEGASUS-XSum Dihabiskan

google/pegasus-xsum adalah checkpoint untuk summarization, bukan utilitas teks berukuran kecil. Latensinya mengikuti pekerjaan yang memang dilakukan Transformer encoder-decoder besar: sumber harus di-encode terlebih dahulu, lalu decoder dijalankan berulang kali sampai ringkasan selesai. Di CPU, fase kedua biasanya membuat output yang pendek terasa jauh lebih mahal daripada yang diperkirakan. Paper PEGASUS menjelaskan Transformer encoder-decoder yang di-pretrain dengan Gap Sentences Generation dan melaporkan model terbaik berukuran 568 juta parameter. Checkpoint XSum kemudian di-fine-tune untuk abstractive summarization pada satu dokumen. Kombinasi ini berguna ketika kualitas ringkasan menjadi prioritas, tetapi pekerjaan inferensinya jelas lebih besar daripada sekadar mengambil beberapa kalimat sumber atau menjalankan classifier kecil.

Teknologi 19 Sep 2026 4 min read

False Sharing pada Cache Line Memindahkan Ownership Koherensi Antar-CPU

False Sharing pada Cache Line Memindahkan Ownership Koherensi Antar-CPU Dua thread dapat memperbarui variabel berbeda tanpa berbagi lock atau menyentuh byte yang sama, tetapi tetap saling mengganggu pada level hardware. Jika kedua variabel berada dalam cache line yang sama, sistem multiprosesor koheren memperlakukan penyimpanannya sebagai satu unit koherensi. Write berulang dari CPU berbeda karena itu dapat memindahkan ownership line tersebut antar-cache meskipun program menganggap variabelnya independen. Efek ini disebut false sharing. Dampaknya muncul dari kombinasi layout memori, pola akses, dan granularitas koherensi; kedekatan field dalam sebuah struktur saja belum membuktikan adanya masalah performa.

Teknologi 17 Sep 2026 5 min read

Write Combining Menggabungkan Store Berdekatan Sebelum Trafik Memori

Beberapa area memori jauh lebih sering ditulis daripada dibaca. Frame buffer, aperture perangkat, dan area output streaming adalah contoh umum. Mengirim setiap store CPU kecil sebagai transaksi memori terpisah dapat membuang bandwidth bus dan menambah overhead transaksi. Write combining memberi prosesor tempat sementara untuk mengumpulkan store yang kompatibel. Beberapa penulisan ke alamat yang berdekatan dapat digabung menjadi transaksi yang lebih besar sebelum meninggalkan CPU. Teknik ini menguntungkan throughput tulis berkelanjutan, tetapi juga mengubah asumsi waktu dan ordering yang aman bagi software.

Teknologi 17 Sep 2026 8 min read

NVMe Queue Pair Memisahkan Submission Command dari Completion

NVMe Queue Pair Memisahkan Submission Command dari Completion SSD NVMe tidak mengharuskan CPU menyerahkan setiap storage command langsung ke register perangkat lalu menunggu command tersebut selesai. Sebaliknya, NVMe menempatkan record command dan completion dalam queue yang berada di memori host. Controller membaca command yang menunggu dari submission queue dan menulis hasil ke completion queue terkait. Susunan ini cocok untuk storage PCIe berkecepatan tinggi. Controller SSD modern dapat memproses banyak operasi sekaligus melalui flash channel, die internal, dan pipeline controller. Model queue memungkinkan software menjaga hardware paralel tersebut tetap sibuk tanpa rangkaian panjang penyerahan command secara sinkron.

Teknologi 17 Sep 2026 6 min read

NUMA Membuat Lokasi Memori Menjadi Bagian dari Biaya Akses

NUMA Membuat Lokasi Memori Menjadi Bagian dari Biaya Akses Server multiprosesor berukuran besar dapat menyediakan satu ruang alamat fisik, tetapi setiap prosesor belum tentu memiliki jalur yang sama menuju memori tersebut. Akses ke halaman memori yang terhubung dekat dengan prosesor tempat sebuah thread berjalan dapat menempuh jalur yang lebih pendek dibanding akses ke memori yang terhubung ke paket prosesor atau node NUMA lain. Susunan ini disebut non-uniform memory access atau NUMA. Pendekatan tersebut memungkinkan kapasitas dan bandwidth memori bertambah melalui beberapa soket prosesor atau kelompok chiplet tanpa memaksa seluruh permintaan memori melewati satu pengendali terpusat.

Teknologi 17 Sep 2026 6 min read

NIC Interrupt Coalescing Menukar Overhead CPU dengan Latensi Paket

Sebuah network interface dapat menerima paket lebih cepat daripada kemampuan CPU untuk melayani satu hardware interrupt per paket secara efisien. Interrupt coalescing mengatasi ketimpangan ini dengan memungkinkan adapter mengelompokkan notifikasi penyelesaian dan lebih jarang menginterupsi CPU. Trade-off-nya jelas. Interrupt yang lebih sedikit mengurangi beban penanganan interrupt dan tekanan scheduling, tetapi sebuah paket mungkin harus menunggu lebih lama sebelum software diberi tahu bahwa ada pekerjaan receive yang siap diproses. Pengaturan terbaik bergantung pada packet rate, target latensi, kapasitas CPU, dan kontrol coalescing pada adapter.

Teknologi 17 Sep 2026 6 min read

Memory Fence Membatasi Urutan Memori Antar-Core

Memory Fence Membatasi Urutan Memori Antar-Core Prosesor dapat menjalankan operasi memori dengan kebebasan yang lebih besar daripada yang tampak dari urutan kode sumber. Load dapat dimulai lebih awal, store dapat menunggu di buffer, lalu lintas koherensi cache dapat selesai pada waktu berbeda, dan operasi yang saling independen dapat berlangsung tumpang tindih. Teknik-teknik ini meningkatkan throughput, tetapi perangkat lunak konkuren membutuhkan aturan yang presisi untuk memublikasikan dan mengamati state bersama. Memory fence menempatkan batas pengurutan di sekitar operasi memori tertentu. Instruksi ini biasanya tidak mengosongkan seluruh cache, tidak menserialkan seluruh prosesor, dan tidak membuat semua core menjalankan satu alur instruksi. Perannya lebih sempit: membatasi hasil pengurutan memori apa saja yang boleh terjadi melintasi sebuah batas yang ditentukan.

Teknologi 17 Sep 2026 6 min read

Interrupt Coalescing NIC Menukar Overhead CPU dengan Latensi Paket

Sebuah network interface dapat menerima paket lebih cepat daripada kemampuan CPU untuk menangani satu hardware interrupt untuk setiap paket. Interrupt coalescing mengatasi ketidakseimbangan ini dengan membiarkan adapter mengelompokkan notifikasi completion dan meng-interrupt CPU lebih jarang. Trade-off-nya jelas. Interrupt yang lebih sedikit mengurangi beban penanganan interrupt dan scheduling, tetapi sebuah paket dapat menunggu lebih lama sebelum software diberi tahu bahwa receive work sudah siap. Pengaturan terbaik bergantung pada packet rate, target latensi, kapasitas CPU, dan kontrol coalescing yang tersedia pada adapter.

Teknologi 16 Sep 2026 7 min read

TLB Menyimpan Cache Translasi Alamat Virtual Terbaru

Prosesor modern umumnya menjalankan program di ruang alamat virtual. Operasi load atau store dapat dimulai dengan alamat virtual, sementara sistem memori pada akhirnya membutuhkan lokasi fisik dan izin akses. Page table menyimpan informasi pemetaan tersebut, tetapi menelusuri hierarkinya untuk setiap akses memori akan menambah pekerjaan yang besar. Translation lookaside buffer, atau TLB, menyimpan translasi alamat yang baru digunakan di dekat prosesor. TLB hit menyediakan informasi pemetaan yang sudah di-cache tanpa full page-table walk. TLB miss memicu pekerjaan translasi tambahan meskipun data aplikasi yang diminta sudah berada di CPU cache.

Teknologi 16 Sep 2026 5 min read

Refresh DRAM Memulihkan Muatan Sebelum Bit Memudar

Dynamic random-access memory menyimpan data dalam cell yang state listriknya tidak stabil selamanya. Muatan bocor dari cell seiring waktu, bahkan ketika software tidak melakukan read atau write. Karena itu memory system harus me-refresh DRAM secara berkala untuk mempertahankan bit yang tersimpan. Refresh adalah maintenance operation, bukan request dari aplikasi. Memory controller dan device DRAM mengoordinasikannya bersama read dan write biasa. Selama sebagian pekerjaan tersebut berlangsung, beberapa memory resource tidak dapat melayani request normal.

Teknologi 16 Sep 2026 3 min read

Receive Side Scaling Mendistribusikan Network Flow ke Beberapa CPU Queue

Receive Side Scaling Mendistribusikan Network Flow ke Beberapa CPU Queue Network adapter cepat dapat menerima packet lebih cepat daripada kemampuan satu processor core untuk menanganinya secara efisien. Receive Side Scaling, yang umum disingkat RSS, membagi traffic masuk ke beberapa hardware receive queue. Setiap queue dapat dikaitkan dengan processor berbeda sehingga packet processing dapat berjalan paralel. RSS biasanya menetapkan packet berdasarkan flow, bukan membagikan setiap packet secara independen. Pendekatan ini mempertahankan properti ordering yang berguna sambil tetap menyebarkan banyak connection simultan ke queue yang tersedia.

Teknologi 16 Sep 2026 5 min read

CPU Store Buffer Memisahkan Retirement dari Cache Write

Prosesor tidak harus menunggu setiap store instruction menyelesaikan cache update sebelum instruction berikutnya dapat maju. Core modern umumnya menempatkan completed store ke store buffer, sehingga instruction dapat retire sementara memory subsystem menangani write sesudahnya. Pemisahan ini meningkatkan throughput karena cache ownership, coherence traffic, dan aktivitas memori lain dapat memakan waktu lebih lama daripada yang mampu ditunggu execution pipeline. Buffer bertindak sebagai queue antara architectural execution dan cache hierarchy. Kecepatan ini datang dengan correctness requirement yang ketat. Pending store tetap harus terlihat sesuai memory-ordering rule arsitektur, dan load yang lebih muda mungkin membutuhkan data yang belum mencapai cache.

Teknologi 16 Sep 2026 6 min read

Asosiativitas Cache CPU Membatasi Tempat Cache Line Dapat Berada

Cache prosesor menjaga memory yang baru digunakan tetap dekat dengan execution core, tetapi kapasitas cache saja tidak menentukan data mana yang dapat tetap resident. Sebagian besar cache CPU general-purpose membagi storage menjadi sejumlah set dan memberi setiap set jumlah slot tetap yang biasa disebut way. Satu blok memory dipetakan ke set tertentu. Blok itu dapat menempati way mana pun di dalam set tersebut, tetapi tidak dapat berpindah ke set lain hanya karena set lain memiliki slot kosong. Aturan penempatan ini membuat lookup hardware praktis dan cepat, sekaligus menciptakan sumber miss tersendiri ketika terlalu banyak blok aktif bersaing pada set yang sama.

Teknologi 14 Sep 2026 6 min read

Thermal Throttling Menurunkan Kecepatan Chip saat Suhu Naik

Prosesor dapat terasa cepat saat menjalankan tugas singkat lalu melambat ketika render, game, compile, atau benchmark berlangsung lama. Salah satu penyebab umum adalah thermal throttling: kontrol otomatis yang mengurangi aktivitas chip ketika suhu mendekati batas yang dikonfigurasi. Mekanisme ini melindungi prosesor dan hardware di sekitarnya sambil menjaga sistem tetap beroperasi. Konsekuensinya, peak clock speed yang diiklankan tidak menggambarkan performa berkelanjutan pada setiap enclosure, workload, atau suhu lingkungan. Panas meningkat bersama aktivitas listrik CPU, GPU, dan desain system-on-chip modern berisi miliaran transistor yang melakukan switching dengan cepat. Aktivitas tersebut menggunakan daya listrik, dan sebagian besar daya itu pada akhirnya berubah menjadi panas.

Python 05 Sep 2026 8 min read

Buffer Data Sementara di Python dengan SpooledTemporaryFile

Data sementara sering memiliki profil ukuran yang sulit diprediksi. Sebagian besar request mungkin hanya menghasilkan beberapa kilobyte, sementara sesekali proses import, report, archive, atau upload dapat tumbuh hingga ratusan megabyte. Menggunakan io.BytesIO nyaman untuk kasus kecil, tetapi seluruh isinya tetap berada di memori. Menggunakan temporary file menghindari penyimpanan seluruh payload di memori, tetapi setiap payload memakai storage berbasis filesystem meskipun ukurannya sangat kecil. tempfile.SpooledTemporaryFile dari Python menawarkan jalan tengah. Objek ini berperilaku seperti file sambil menyimpan data di memori hingga threshold yang dikonfigurasi. Ketika data melewati threshold tersebut, data di-roll over ke temporary file dan operasi berlanjut melalui interface yang sama.

Kecerdasan Buatan 03 Sep 2026 9 min read

Batch Inference LLM untuk Throughput yang Lebih Baik

Server LLM dapat menerima banyak request pada saat yang sama, tetapi memproses setiap request secara terpisah sering kali merupakan cara yang tidak efisien untuk menggunakan akselerator. GPU dan perangkat keras serupa dirancang untuk menjalankan pekerjaan numerik paralel dalam jumlah besar. Satu request kecil dapat membuat sebagian kapasitas tersebut tidak terpakai. Batching menggabungkan pekerjaan dari beberapa request agar model dapat memproses lebih banyak pekerjaan secara bersamaan. Ini dapat meningkatkan throughput total, tetapi menghadirkan trade-off penting: menunggu batch terbentuk dapat menunda request individual, dan request dengan panjang sequence berbeda tidak menghabiskan jumlah pekerjaan yang sama.