Bài tóm tắt
Tóm tắt bằng lời riêng, luôn dẫn về bài gốc. 160 bài (đã lọc). Đọc miễn phí.
Nguồn dữ liệu danh sách bài viết của blog công ty
Danh sách bài trên trang công ty gồm 10.013 bài. Khoảng 73,6% (7.365 bài) do SWE Wiki thu thập thủ công từ kho lưu trữ blog chính chủ của các công ty, kèm ngày đăng. Phần còn lại lấy từ các danh sách công khai trên GitHub: binhnguyennus/awesome-scalability (667), abhivaikar/howtheytest (551), upgundecha/howtheysre (499), eugeneyan/applied-ml (376), Engineer1999/ML-System-Design-Case-Studies (239), upgundecha/howtheyaws (149) và một số danh sách nhỏ khác. Mọi link luôn dẫn về bài gốc trên blog của tác giả; SWE Wiki không sao chép nội dung bài. Hiện 8.979 bài thuộc 133 công ty có trang riêng được hiển thị cho thành viên. Cảm ơn những người duy trì các danh sách đó.
Upscaling LinkedIn's Profile Datastore While Reducing Costs
Đỉnh 4,8 triệu profile/giây, request tới storage gấp đôi mỗi năm (2023). Profile hơn 99% là đọc.
The Great Re-shard: adding Postgres capacity (again) with zero downtime
Cụm "space shards" lưu toàn bộ nội dung workspace (block, comment, collection), chia theo workspace ID: 32 DB Postgres, mỗi DB chứa 15 logical schema; mỗi workspace nằm trọn trên một shard. Giữa web server và DB là…
Journey to the cloud part II: Migrating Stack Overflow for Teams to Azure
Sau pha 1, Teams đã chạy ở stackoverflowteams.com nhưng mới tách "bề ngoài". Phía sau vẫn dùng chung với stackoverflow.com: DB Sites (nền của multi-tenancy), DMZ nhận request rồi chuyển vào vùng khoá kín TFZ, và quy…
Deploying key transparency at WhatsApp
Mã hoá đầu cuối chỉ đáng tin nếu hai đầu biết public key của nhau là thật. Public key do WhatsApp lưu và phát, nên server độc (hay bị xâm nhập) có thể đưa key giả để làm person-in-the-middle.
Low Latency Optimization: Understanding Huge Pages (Part 1)
Latency thường là yếu tố quyết định trong giao dịch thuật toán; HRT tốn nhiều công tối thiểu latency của stack giao dịch. Một khía cạnh ít được bàn sâu: huge page và TLB.
Low Latency Optimization: Using Huge Pages on Linux (Part 2)
Bật huge page không chỉ là sửa một file cấu hình. Linux vẫn dùng trang 4 KiB cho phần lớn việc nội bộ; tạo một huge page nghĩa là tìm 512 trang 4 KiB liền nhau bắt đầu ở bội số 2 MiB. Khi bộ nhớ đã phân mảnh, OS phải…
Magic-trace: Diagnosing tricky performance issues easily with Intel Processor Trace
Hệ giao dịch của Jane Street gần như toàn thời gian ngồi chờ gói tin mạng và phải phản hồi nhanh hơn nhiều so với chu kỳ lấy mẫu khoảng 250 µs của sampling profiler, nên profiler lấy mẫu gần như vô dụng cho latency ở…
Jepsen: Redpanda 21.10.1
Redpanda: hệ streaming tương thích giao thức Kafka, dùng Raft nội bộ thay ZooKeeper, quảng bá "không mất dữ liệu mặc định" vì chỉ ack sau khi fsync trên đa số replica (Kafka mặc định có thể ack trước fsync).
De-identified authentication at scale (Anonymous Credential Service)
Meta trước đó giảm dữ liệu bằng cách khử định danh hoặc gộp sau khi thu, cách làm bị động và tốn tài nguyên ở quy mô của họ. Hướng mới: khử định danh ngay tại nguồn bằng xác thực ẩn danh.
Cache made consistent: Meta's cache invalidation solution
Meta vận hành TAO (hơn một nghìn nghìn tỉ query mỗi ngày) và Memcache. Cache động khác DB ở chỗ dữ liệu bị thay đổi trên cả hai đường: đọc (cache fill) và ghi (invalidation). Ví dụ kinh điển: fill đọc được x=42, trong…
Slack's Incident on 2-22-22
Client Slack phải boot (tải danh sách kênh, preference, hội thoại gần nhất) mới dùng được; boot lỗi là trang lỗi.
Measuring the impact of Twitter network latency with CausalImpact
Để giảm latency, Twitter làm thí nghiệm đổi edge mặc định sang edge của cloud công cộng ở một số nước, vì cloud công cộng phủ địa lý rộng hơn ở vài vùng (2022). Do cấu hình mạng, không chia ngẫu nhiên người dùng được:…
How We Halved Go Monorepo CI Build Time
Monorepo Go của Uber build bằng Bazel, hơn 10 triệu target, khoảng 500.000 file. Luồng một thay đổi: review trên Phabricator, CI chạy build + test, rồi SubmitQueue áp thay đổi lên HEAD mới nhất và chạy lại trước khi…
Serving Machine Learning Models Efficiently at Scale at Zillow
Nhiều tính năng của Zillow (Zestimate, gợi ý nhà, floor plan, semantic search) chạy bằng model ML. Đưa một model đã train lên làm web service cần nhiều logic nghiệp vụ quanh nó: tiền xử lý request, trích feature tức…
Himeji: A Scalable Centralized System for Authorization at Airbnb
Ở thời monolith Rails, mỗi resource có một API duy nhất để đọc dữ liệu, và kiểm tra quyền nằm trong API đó, nên rất dễ quản lý.
An AKS Performance Journey: Part 2 — Networking It Out
Sau phần 1, PLP trên AKS vẫn chậm hơn Cloud Services khoảng 100 ms ở percentile cao. Log có nhiều timeout gọi API, kèm lỗi getaddrinfo EAIAGAIN từ NodeJS và các lần chờ đúng 5 giây.
Fastest Table Sort in the West – Redesigning DuckDB's Sort
Sort trong DB không phải sort một mảng số: sắp cả hàng (gồm các cột "payload" không nằm trong ORDER BY), theo nhiều cột, có chiều tăng/giảm và vị trí NULL. Bộ so sánh kiểu if/else cho mỗi hàng, cộng với lưu trữ cột, gây…
How We Verify Custom Hardware
HRT dùng FPGA trong hệ giao dịch để giảm latency, chịu burst dữ liệu tốt hơn và giảm độ phức tạp. Phần cứng song song ở mức phần mềm hiếm gặp nên dễ lỗi timing, và mỗi thiết bị phải đúng chức năng, tuân thủ risk check…
Rethinking site capacity projections with Capacity Analyzer
LinkedIn load test hằng ngày trên production bằng cách dồn traffic của các DC khác vào DC cần test; mục tiêu đặt theo dự báo QPS của quý.
The exabyte club: LinkedIn's journey of scaling the Hadoop Distributed File System
Hạ tầng analytics gần gấp đôi mỗi năm. Cụm lớn nhất: 20 PB cuối 2015 → 500 PB năm 2020; 145 triệu object namespace (2015) → 1,6 tỷ trong ba namespace volume, volume lớn nhất trên 1 tỷ. Tổng 1 exabyte trên mọi cụm…
Scaling LinkedIn's Hadoop YARN cluster beyond 10,000 nodes
Cụm Hadoop gấp đôi mỗi năm; cụm lớn nhất khoảng 10.000 node năm 2021. HDFS (một NameNode giữ mọi metadata) chạm giới hạn trước nên được đầu tư từ 2016; YARN ResourceManager nhẹ hơn nên được để yên tới đầu 2019.
How WhatsApp enables de-identified authenticated telemetry (DIT)
WhatsApp (2021): hơn 100 tỉ tin nhắn và 1 tỉ cuộc gọi mỗi ngày. Để vận hành cần metric như tin có tới nơi không, bao nhiêu người dùng hệ điều hành nào.
How WhatsApp enables multi-device capability
Trước 2021, WhatsApp Web, macOS, Windows, Portal chỉ là gương của điện thoại: điện thoại là nguồn sự thật cho mọi dữ liệu và là thiết bị duy nhất mã hoá tin gửi người khác hay bắt đầu cuộc gọi; thiết bị phụ giữ kết nối…
Anomaly Detection at Zillow Using Luminaire
Zestimate, gợi ý, model CV xử lý lượng dữ liệu lớn qua nhiều pipeline, mỗi chỗ là một điểm có thể hỏng. Theo Zillow, công cụ phát hiện bất thường có sẵn hoặc không bền trên nhiều dạng dữ liệu, hoặc cần chuyên môn mô…