Skip to content

Hyperdisk & Provisioned Performance Model

Vấn đề mà Hyperdisk giải quyết

Với Persistent Disk, mô hình hiệu năng đơn giản nhưng cứng nhắc: mua thêm GB để có thêm IOPS. Điều này tạo ra một tension không thể giải quyết với PD:

  • Database production: cần 100,000 IOPS nhưng chỉ có 500 GiB data
    • pd-ssd cần: 100,000 / 30 = 3,333 GiB chỉ để đủ IOPS, dù data chỉ 500 GiB
    • 2,833 GiB tốn tiền nhưng không chứa data gì
  • ML inference workload: cần throughput cao nhưng dataset nhỏ
  • Analytics: cần throughput lớn cho sequential scan nhưng không cần IOPS cao

Hyperdisk giải quyết bằng cách tách ba chiều độc lập: capacity, IOPS, và throughput. Mỗi chiều được provision riêng biệt và có thể thay đổi online (với một số hạn chế).


Kiến trúc provisioned performance

Với Hyperdisk, khi tạo volume bạn chỉ định ba tham số:

hyperdisk create:
  size: 500 GiB          ← capacity
  provisioned-iops: 80000    ← IOPS ceiling
  provisioned-throughput: 1200  ← throughput ceiling (MiB/s)

Performance ceiling bạn provision là maximum performance, không phải guaranteed baseline. Actual performance phụ thuộc vào:

  1. Provision level bạn đặt
  2. VM-level capability của instance đang attach disk

Điểm khác biệt quan trọng so với Persistent Disk: với PD, IOPS tự động tính từ GiB. Với Hyperdisk, bạn explicit trả tiền cho IOPS provision riêng với capacity provision. Điều này có nghĩa:

  • Nếu workload cần 80,000 IOPS trên 500 GiB data → Hyperdisk cost-effective hơn
  • Nếu workload cần 30,000 IOPS trên 3,000 GiB data → pd-ssd có thể rẻ hơn (3,000 GiB × $0.17 vs Hyperdisk 3,000 GiB + explicit 30,000 IOPS provision)

Luôn tính TCO thực tế cho use case cụ thể.

Dynamic adjustment (quan trọng cho operations)

Theo Hyperdisk documentation, có thể thay đổi provisioned IOPS và throughput mà không cần downtime — trên hầu hết machine types và Hyperdisk types.

Đây là capability không có với Persistent Disk — PD chỉ có thể tăng size (không giảm), và IOPS tự động theo size. Với Hyperdisk:

  • Scale up IOPS trước peak event (sale, product launch) → giảm sau
  • Reduce provisioned performance sau khi workload co lại để tiết kiệm cost
  • Tune ratio IOPS/throughput khi access pattern thay đổi

Tuy nhiên, có rate limit: không thể tăng/giảm performance quá thường xuyên (mỗi thay đổi cần khoảng 6 giờ cooldown trên một số disk types).


Năm loại Hyperdisk

Hyperdisk Balanced

Loại tổng hợp, được Google khuyến nghị là lựa chọn mặc định cho enterprise applications, boot disks, virtual desktops, và RDBMS.

Thông số:

  • Dung lượng: 4 GiB đến 64 TiB
  • IOPS tối đa: 160,000 IOPS
  • Throughput tối đa: 2,400 MiB/s
  • Multi-writer: tối đa 8 instances đồng thời
  • Machine types hỗ trợ: C3, C3D, M3, N4, Z3 (và nhiều loại mới)
  • Durability: >99.999%

Khi nào dùng: Đây là lựa chọn hợp lý nhất cho workloads không biết chắc IOPS requirement. Baseline IOPS cao hơn pd-balanced, throughput cao hơn, và dynamic provisioning đầy đủ. Ở nhiều regions, Hyperdisk Balanced là type được khuyến nghị thay thế pd-balanced và pd-ssd cho workloads mới.

Hyperdisk Extreme

Dành cho high-performance database workloads: SAP HANA, enterprise RDBMS, in-memory databases.

Thông số:

  • Dung lượng: 64 GiB đến 64 TiB
  • IOPS tối đa: 350,000 IOPS (cao nhất trong tất cả GCP block storage)
  • Throughput: tự động tính từ IOPS (không provision riêng)
  • Multi-writer: tối đa 16 instances đồng thời
  • Machine type constraints nghiêm ngặt: A3 ≥104 vCPUs, C3 ≥88 vCPUs, N2 ≥80 vCPUs
  • Durability: >99.9999%

Lý do machine type constraints: Để đạt 350,000 IOPS, cần đủ network bandwidth từ VM đến Colossus. Machine type nhỏ không có đủ network capacity để drive được Hyperdisk Extreme ở maximum performance. Đây là thiết kế có chủ đích — không phải limitation kỹ thuật tùy tiện.

Khi nào dùng: SAP HANA production, Oracle RAC với high IOPS requirement, bất kỳ database nào cần IOPS > 160,000. Budget cao hơn Hyperdisk Balanced đáng kể.

Hyperdisk ML

Được thiết kế đặc biệt cho ML inference và HPC workloads — use case cần read throughput cực cao từ hàng nghìn nodes đồng thời.

Thông số:

  • Dung lượng: 4 GiB đến 64 TiB
  • Max per-instance throughput: 2,400 MiB/s
  • Multi-reader: tối đa 2,500 instances đọc đồng thời (read-only)
  • Total aggregate throughput: lý thuyết 2,097,152 MiB/s khi 2,500 instances đọc song song
  • Durability: >99.999%

Cơ chế multi-reader: Hyperdisk ML không phải "một disk cho tất cả VM" theo nghĩa shared write. Đây là read-only shared access — một disk chứa ML model weights, hàng nghìn inference pods đọc song song từ disk đó. Không cần copy model weights ra GCS rồi download về mỗi pod.

Khi nào dùng: Distributed ML inference với large model (LLM, diffusion models) cần nạp weights nhanh. Thay vì mỗi pod có disk riêng (tốn tiền, chậm initialize), dùng một Hyperdisk ML mount read-only vào tất cả pods. Scale throughput tuyến tính với số pods đọc.

Hyperdisk Throughput

Dành cho analytics workloads đọc/ghi sequential với block size lớn — Hadoop, Spark, Kafka, data processing pipelines.

Thông số:

  • Dung lượng: 2 TiB đến 32 TiB (minimum size lớn hơn các loại khác)
  • Throughput tối đa: 2,400 MiB/s
  • IOPS: 9,600 IOPS (tự động tính từ throughput)
  • Không hỗ trợ Bare Metal instances (ngoại trừ A4X Max)
  • Durability: >99.999%

Cơ chế IOPS tự động: Khác với Hyperdisk Extreme (throughput tính từ IOPS), Hyperdisk Throughput tính IOPS từ throughput. Lý do: analytics workloads về bản chất là throughput-bound (few large sequential I/Os), không phải IOPS-bound (many small random I/Os). API cố tình expose throughput là primary knob.

Khi nào dùng: Kafka broker disks, Spark worker storage, Hadoop data nodes. Cost thấp hơn Hyperdisk Balanced cho use case sequential-heavy.

Hyperdisk Balanced High Availability (HA)

Loại đặc biệt cho mission-critical applications cần synchronous cross-zone replication trong một region.

Thông số:

  • Dung lượng: 4 GiB đến 64 TiB
  • IOPS tối đa: 100,000 IOPS
  • Throughput tối đa: 2,400 MiB/s
  • Replication: synchronous cross-zone trong cùng region
  • RPO: ~0 (zero data loss tối đa 1 zone failure)
  • Durability: >99.9999%

So sánh với Regional Persistent Disk: Hyperdisk Balanced HA là thế hệ mới của Regional PD concept. Nó có IOPS/throughput cao hơn Regional PD và hỗ trợ dynamic performance provisioning. Cho workloads mới cần HA, Hyperdisk Balanced HA nên được ưu tiên hơn Regional PD.


Torn Write Protection

Đây là tính năng kỹ thuật quan trọng của Hyperdisk, ít được chú ý nhưng có impact lớn với database performance.

Vấn đề torn write là gì: Khi database ghi một block 4 KB, OS thường cần nhiều I/O operations nhỏ hơn ở tầng physical. Nếu power failure hoặc system crash xảy ra giữa chừng, một phần block được ghi, phần còn lại không — đây là "torn write". Block bây giờ chứa dữ liệu inconsistent.

Để bảo vệ khỏi torn write, MySQL/InnoDB dùng doublewrite buffer: ghi data hai lần — một lần vào doublewrite buffer, một lần vào tablespace thực. Khi recovery, kiểm tra xem tablespace có consistent không; nếu không, restore từ doublewrite buffer. Điều này tốn I/O overhead (~25% write overhead).

Giải pháp của Hyperdisk: Torn Write Prevention đảm bảo atomicity cho writes ≤128 KB không cross 1 MB boundary. Nếu system crash, hoặc toàn bộ write xảy ra, hoặc không có gì xảy ra. Không bao giờ có torn write.

Hệ quả cho MySQL: có thể tắt doublewrite buffer (innodb_doublewrite=0) khi dùng Hyperdisk, tiết kiệm ~25% write overhead. Đây là gain thực sự, không phải marketing.


Storage Pools và Hyperdisk Exapools

Vấn đề overprovisioning: Với individual Hyperdisk volumes, bạn phải provision performance cho peak workload. Nhiều disks trong cùng một system không bao giờ đồng thời hit peak — bạn trả tiền cho peak nhưng average utilization thấp hơn nhiều.

Storage Pools là giải pháp: mua capacity và performance theo bulk cho một pool, sau đó chia nhỏ ra nhiều Hyperdisk volumes. Volumes trong pool chia sẻ performance budget của pool — volumes không dùng nhường resources cho volumes đang busy.

Phù hợp khi: tổng provisioned capacity trong zone > 20 TiB và workloads không đồng thời peak.

Hyperdisk Exapools là phiên bản lớn hơn của Storage Pools cho hyperscale deployments. Đây là cơ chế để large fleet deployments (hàng nghìn VMs) quản lý storage cost hiệu quả hơn bằng statistical multiplexing.


Khi nào dùng Hyperdisk vs Persistent Disk?

Persistent Disk (pd-balanced, pd-ssd) vẫn là lựa chọn hợp lý khi:

  • Workload đã hoạt động ổn định và không cần dynamic IOPS adjustment
  • Cost predictability quan trọng (PD pricing đơn giản hơn: chỉ capacity)
  • Machine type đang dùng không support Hyperdisk (E2, N1, một số older types)
  • Dung lượng data lớn và IOPS/GiB ratio của PD đủ

Chuyển sang Hyperdisk khi:

  • Cần IOPS/throughput cao hơn capacity cho thấy (IOPS/GiB > 30 với pd-ssd)
  • Cần dynamic adjustment performance mà không resize disk
  • Cần multi-writer (chỉ Hyperdisk Balanced/Extreme)
  • Cần max durability (Hyperdisk Balanced HA: 6 nines)
  • Workload ML inference cần hàng nghìn concurrent readers

Machine type constraints cho Hyperdisk

Không phải tất cả machine families hỗ trợ tất cả Hyperdisk types. Đây là constraints quan trọng cần biết trước khi thiết kế architecture:

Machine FamilyHyperdisk BalancedHyperdisk ExtremeHyperdisk MLHyperdisk Throughput
C3, C3D✓ (≥88 vCPUs)
N4
N2✓ (≥80 vCPUs)
E2
N1

E2 và N1 là các machine families cũ, không hỗ trợ Hyperdisk. Nếu migrating workload từ E2/N1 sang Hyperdisk, cần migrate machine type trước.


Tài liệu tham khảo