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. 123 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 đó.

Mọi giai đoạn 1. Khởi đầu2. Tăng trưởng3. Quy mô lớn4. Điều chỉnh
Mọi độ khó DễCơ bảnTrung bìnhKhóNâng cao
Bài tóm tắt · Hudson River Trading · 2022 Khó

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.

Bài tóm tắt · Hudson River Trading · 2022 Khó

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…

Bài tóm tắt · Jane Street · 2022 Khó

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 ở…

Bài tóm tắt · Jepsen · 2022 Khó

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).

Bài tóm tắt · Meta · 2022 Khó

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.

Bài tóm tắt · Meta · 2022 Khó

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…

Bài tóm tắt · Slack · 2022 Khó

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.

Bài tóm tắt · Twitter · 2022 Khó

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:…

Bài tóm tắt · Uber · 2022 Khó

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…

Bài tóm tắt · Zillow · 2022 Khó

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…

Bài tóm tắt · Airbnb · 2021 Khó

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ý.

Bài tóm tắt · ASOS · 2021 Khó

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.

Bài tóm tắt · Hudson River Trading · 2021 Khó

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…

Bài tóm tắt · LinkedIn · 2021 Khó

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ý.

Bài tóm tắt · LinkedIn · 2021 Khó

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…

Bài tóm tắt · LinkedIn · 2021 Khó

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.

Bài tóm tắt · WhatsApp · 2021 Khó

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.

Bài tóm tắt · Zillow · 2021 Khó

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ô…

Bài tóm tắt · Jane Street · 2020 Khó

Memory allocator showdown

OCaml 4.10 thêm allocator best-fit bên cạnh allocator mặc định next-fit. Jane Street chuyển sang best-fit và thấy cải thiện lớn, nhưng bài kể cái khó là chứng minh điều đó.

Bài tóm tắt · Jepsen · 2020 Khó

Jepsen: PostgreSQL 12.3

Trước 9.1, chế độ "serializable" của PostgreSQL thực ra là snapshot isolation (SI); từ 9.1 (2011) có serializable snapshot isolation (SSI): SI cộng kiểm lúc chạy các "cấu trúc nguy hiểm" (hai cạnh phụ thuộc đọc-ghi kề…

Bài tóm tắt · LinkedIn · 2020 Khó

Fixing Linux filesystem performance regressions

Fleet tăng từ hàng trăm lên hàng trăm nghìn server. Các đợt reimage trước đó làm theo kiểu dồn sức toàn đội mỗi khi có lý do bên ngoài (lỗi CPU công bố). Rút kinh nghiệm, LinkedIn dựng quy trình reimage tự động hơn và…

Bài tóm tắt · Dropbox · 2019 Khó

Courier: Dropbox migration to gRPC

Dropbox chạy hàng trăm service bằng nhiều ngôn ngữ, trao đổi hàng triệu request mỗi giây (2019). Trước Courier có giao thức tự serialize, Thrift cho pipeline log, và "legacy RPC" chính là HTTP/1.1 + protobuf.

Bài tóm tắt · Dropbox · 2019 Khó

How we optimized Magic Pocket for cold storage

Magic Pocket () lưu block bất biến tối đa 4 MB trên đĩa quay (SMR từ 2018, ); trong một region thì mới upload là replication n-way, sau đó erasure coding nền.

Bài tóm tắt · eBay · 2019 Khó

Centralized Application Logging at eBay (CAL Ingress)

CAL gom log cục bộ của các application server về một chỗ và làm báo cáo cho mọi mảng của eBay. CAL Ingress nhận log từ hàng nghìn client qua kết nối TCP sống lâu, chia ra: raw log tới Filer, metric VID (gộp lại) qua…