1 poin oleh GN⁺ 3 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Meski kapasitas penyimpanan sudah ditambah berkali-kali, penggunaan ikut meningkat; dalam survei Mastodon dengan 81 responden, sekitar setengahnya juga menggunakan lebih dari 75% disk mereka
  • Ini sebagian bisa dijelaskan dengan logika entropi bahwa ada lebih banyak cara untuk mencapai keadaan penuh daripada kosong, tetapi itu tidak sepenuhnya menjelaskan perilaku pengguna
  • Kebiasaan menunda beres-beres sampai mendekati batas lalu hanya menghapus seperlunya membuat disk tetap berada dalam kondisi hampir jenuh secara terus-menerus
  • Software yang melambat, utang teknis yang menumpuk, jalan yang macet, dan jadwal yang padat juga menunjukkan pola yang sama: baru ditangani setelah rasa sakit mencapai titik kritis
  • Menetapkan batas buatan yang lebih kecil daripada total sumber daya, seperti anggaran, bisa membantu menghindari optimasi prematur sekaligus mencegah masalah dibiarkan sampai ke batasnya

Mengapa ruang penyimpanan terus penuh

  • Drive root hanya menyisakan 17GB dari 0.47TB yang tersedia, sehingga ruang kosong tinggal 3%; drive 12TB yang dipasang tambahan juga hanya menyisakan 140GB, sekitar 1%
  • Kapasitas penyimpanan telah berlipat ganda berkali-kali, dari sekitar 80MB pada 1990-an menjadi puluhan TB, tetapi tetap saja sebagian besar selalu terpakai
    • Fakta bahwa software untuk mencari file yang bisa dibersihkan sudah ada sejak lama juga menunjukkan bahwa masalah ini telah berlangsung terus-menerus
  • Dari 81 responden survei Mastodon, sekitar setengah menggunakan hard drive mereka lebih dari 75%, sehingga kondisi penyimpanan yang penuh lebih umum daripada yang kosong
  • Karena ada lebih banyak keadaan yang membentuk disk penuh daripada disk kosong, dimungkinkan penafsiran berbasis entropi bahwa jika keadaan diubah secara acak tanpa mempertimbangkan jumlah data, sistem akan bergerak menuju kejenuhan
  • Namun disk tidak terasa sebagai masalah sampai benar-benar tidak bisa menyimpan lagi, dan pada titik itu keadaannya sudah terlalu berantakan sehingga sulit menilai file mana yang harus dihapus
    • Pengguna hanya merapikan secukupnya untuk membeli waktu lalu berhenti, sehingga disk kembali cepat mencapai batas
    • Bahkan jika kapasitas penyimpanan ditingkatkan beberapa orde besarnya, perilaku ini tidak berubah

Titik batas rasa sakit dan batas buatan

  • Pola menunda penanganan sampai masalah mencapai tingkat yang tak tertahankan berulang di banyak bidang
    • Software tidak dioptimalkan sampai terlalu lambat, sehingga umumnya tetap lambat terus-menerus
    • Utang teknis menumpuk sampai pekerjaan pada kode menjadi menyakitkan dan refactoring tak terhindarkan
      • Developer yang kurang berpengalaman bahkan kadang memulai ulang dari nol, sehingga sebagian besar codebase menjadi berantakan
    • Jaringan jalan baru diperluas setelah kemacetannya sudah tak tertahankan
    • Pola makan tidak dikelola sampai harus membeli celana yang lebih besar
    • Bahkan setelah berhenti dari pekerjaan penuh waktu dan menjadi pekerja mandiri sehingga kewajiban dan arahan hilang, jadwal tetap terisi sesibuk sebelumnya, kadang bahkan lebih sibuk
  • Jika menunggu sampai titik batas, pekerjaan yang harus ditangani akan jauh lebih besar dibanding jika diselesaikan sedikit demi sedikit sambil berjalan, tetapi di sisi lain optimasi prematur juga tidak diinginkan
  • Untuk menyeimbangkan dua masalah ini, kita bisa memanfaatkan Jevons paradox dengan menetapkan batas praktis yang lebih kecil daripada total sumber daya yang tersedia, lalu mengoptimalkan sesuai batas itu
    • Dalam keuangan pribadi ini disebut anggaran, tetapi di bidang lain prinsip yang sama berulang kali diabaikan
    • Jika Anda men-deploy software ke Raspberry Pi, memakainya sendiri, lalu mengoptimalkannya, software itu akan berjalan cepat juga di Threadripper
    • Codebase yang bisa dijelajahi dalam Vim pada terminal 80×25 juga akan bisa dijelajahi di IDE modern yang kuat
  • Saat sumber daya dan fitur bertambah, kelihatannya kita bisa melakukan lebih banyak hal, tetapi dalam praktiknya justru bisa membuat kita melakukan hal yang sama dengan biaya lebih besar

1 komentar

 
GN⁺ 3 jam lalu
Komentar di Lobste.rs
  • Saat membuat perangkat lunak desktop lintas platform, jauh lebih mudah menyelesaikan masalah sebelum mencapai batasnya. Karena itu, kami menerapkan prinsip selalu build dan jalankan di Windows, Mac, dan Linux sejak commit Git pertama
    Itu adalah batasan yang menyakitkan, tetapi menghapus satu kategori permintaan dukungan pelanggan sepenuhnya. Para pesaing hanya mendukung Mac dan Linux, atau hanya merilis versi Windows sambil menjanjikan dukungan UNIX; melihat mereka terus-menerus direpotkan pertanyaan pengguna “kapan Linux?” membuat kami merasa lega. Kami masih mendapat pertanyaan “kapan porting BSD?”, tetapi masih dalam batas yang bisa ditangani
    • Saya membayangkan orang-orang yang meminta porting BSD juga punya kecenderungan luar biasa tinggi untuk menawarkan bantuan langsung; penasaran apakah memang begitu
  • Saya sepenuhnya setuju bahwa perangkat lunak yang sudah pernah dideploy dan digunakan sendiri di Raspberry Pi akan berjalan cepat juga di Threadripper. Optimisasi level rendah yang menargetkan CPU modern seperti prediksi cabang, latensi akses memori, dan inlining efektif di CPU mana pun yang dirilis dalam 15–20 tahun terakhir
    Instruksi SIMD terbaru memang menarik, tetapi patokan semua optimisasi saya adalah Intel Haswell dan AVX2 di MacBook Pro keluaran 2015. Kode yang berjalan baik di lingkungan itu tetap berjalan sama baiknya hari ini
  • Sudut pandang yang menarik. Saat ini saya memakai 97% dari disk 1TB
    Setiap kali naik dari 256GB ke 512GB, konten yang saya simpan juga ikut bertambah. Selalu ada repositori untuk dikloning, musik untuk diunduh, video YouTube dan film untuk disimpan, dan ukuran file juga membesar saat berpindah dari 720p ke 1080p dan 4K. Game pun makin bongsor sampai-sampai harus menghapus satu game Steam untuk memasang game Steam lain. Pada akhirnya saya penasaran apakah ini sekadar fenomena sederhana: kita mengisi keranjang saat ini sebanyak mungkin sampai mendapat keranjang yang lebih besar
    • Saya penasaran, yang dimaksud mengkloning repositori di sini apakah sekadar untuk arsip offline atau bookmark, atau memang diperlukan dalam proses instalasi perangkat lunak
      Saya memberi bintang pada repositori yang saya suka di GitHub atau Codeberg dan sejenisnya. Saya berharap suatu hari nanti, seperti fediverse, bintang bisa dibagikan di berbagai forge Git yang berbeda sehingga tidak perlu mempertahankan akun di GitHub, GitLab, dan Codeberg masing-masing. Saya ingin tahu apakah Anda mengkloning kodenya sendiri untuk berjaga-jaga jika repositori hilang atau tidak bisa diakses
  • Partisi /nix hampir selalu terisi lebih dari 90%, kecuali tepat setelah instalasi yang benar-benar baru. Nix dengan jelas menunjukkan sudut pandang pengembang bahwa, mirip manajemen memori, ruang disk baru direklamasi lewat garbage collection hanya saat dibutuhkan. Artefak build perantara dari berbagai versi juga memakan ruang yang sangat besar
    Server media saya tidak penuh, karena saya memakai RAID heterogen yang perlahan membesar selama bertahun-tahun: setiap kali drive lama rusak, saya menggantinya dengan drive yang lebih besar dengan harga serupa. Saya juga sudah menyerah pada upaya mendigitalkan semua CD dan DVD di rumah. CD audio dan game Wii yang memakai kompresi lossless masih bernilai, tetapi HD-DVD sama sekali tidak sepadan
    • Bukankah CD dan DVD memang sudah merupakan media digital?
  • Saya menjalankan rootfs dari tmpfs. Hard drive untuk penyimpanan permanen hampir kosong, tetapi tmpfs terus berantakan dengan cara yang sulit dipahami. Saat RAM mulai kurang, saya me-restart sistem untuk merebut kembali ruang sementara
    Agar data berharga tidak hilang, biasanya saya mencatatnya di Nix dan menyimpannya di folder proyek yang menggunakan Git, tetapi pekerjaan itu merepotkan. Mempertahankan perangkat semacam mesin waktu ini selama bertahun-tahun membutuhkan usaha luar biasa besar, tetapi rasanya seperti satu-satunya cara untuk mengelola skala dan kompleksitas yang terus meningkat
  • Teringat Hukum Parkinson. Hukum yang mengatakan bahwa “pekerjaan mengembang hingga memenuhi seluruh waktu yang tersedia untuk menyelesaikannya”
  • Sepertinya ia tidak suka hidup mepet. Hidup bahagia adalah keadaan ketika kita sibuk tetapi tidak dikejar-kejar, perangkat lunak cepat tepat secukupnya, uang dan kebutuhan bertemu di tengah, dan hard drive menyisakan ruang kosong yang pas