Oloka.net
Quay lại danh sách Tin tức
Lập trình & Khởi nghiệpViệt Nam31/08/20268 phút đọc

Python 3.13 chính thức hỗ trợ Free-Threading: Cột mốc lịch sử gỡ bỏ nút thắt GIL sau hơn 30 năm

Tác giả / Biên tập: Tuấn Vũ (Theo Python Software Foundation & Real Python)

Phiên bản Python 3.13 mang tới bước ngoặt được mong chờ nhất trong lịch sử: Cho phép vô hiệu hóa Global Interpreter Lock (GIL), giải phóng toàn bộ sức mạnh xử lý đa luồng song song trên CPU đa nhân.

Python 3.13 chính thức hỗ trợ Free-Threading: Cột mốc lịch sử gỡ bỏ nút thắt GIL sau hơn 30 năm
Cú pháp ngôn ngữ lập trình Python và quá trình xử lý đa luồng trên CPU đa nhân. Ảnh: Python Software Foundation / InfoQ

Điểm nhấn then chốt (Key Takeaways)

  • Đề xuất PEP 703 chính thức được hiện thực hóa trong Python 3.13 dưới dạng cờ tính năng thử nghiệm `--disable-gil`.
  • Loại bỏ cơ chế khóa thông dịch viên toàn cầu (GIL), cho phép các luồng Python thực thi song song thực sự trên nhiều lõi CPU.
  • Hiệu năng các tác vụ tính toán dữ liệu khoa học, AI và xử lý hình ảnh tăng theo cấp số nhân theo số lượng nhân CPU.
  • Lộ trình dài hạn hướng tới việc biến chế độ Free-threaded thành mặc định trong các phiên bản Python 3.14 và 3.15.

1. Nỗi niềm day dứt mang tên Global Interpreter Lock (GIL)

Python là ngôn ngữ lập trình phổ biến nhất thế giới hiện nay, thống trị hoàn toàn các lĩnh vực từ trí tuệ nhân tạo, khoa học dữ liệu cho đến tự động hóa hệ thống. Tuy nhiên, trong suốt hơn 30 năm qua, ngôn ngữ này luôn phải chịu đựng một "gót chân Asin" đáng xấu hổ: đó chính là GIL (Global Interpreter Lock).

GIL là một cơ chế khóa đồng bộ đơn giản được Guido van Rossum đưa vào Python từ những năm 1990 để ngăn chặn các luồng ghi đè dữ liệu lên nhau khi quản lý bộ nhớ qua bộ đếm tham chiếu (Reference Counting). Hệ quả cay đắng là ngay cả khi máy tính của bạn sở hữu một con chip hiện đại với 16 hay 32 nhân CPU, một chương trình Python đa luồng (multi-threaded) cũng chỉ có thể chạy trên đúng một nhân duy nhất tại một thời điểm.

"Gỡ bỏ GIL là thách thức kỹ thuật lớn nhất và phức tạp nhất mà cộng đồng Python từng đảm nhận. Chúng tôi đang giải phóng sức mạnh phần cứng của máy tính hiện đại cho hàng triệu nhà phát triển Python trên toàn cầu."

— Guido van Rossum(Nhà sáng lập ngôn ngữ lập trình Python)

2. Giải pháp kỹ thuật của PEP 703: Quản lý bộ nhớ không khóa

Để gỡ bỏ GIL mà không làm giảm tốc độ thực thi của các chương trình đơn luồng thông thường, kỹ sư Sam Gross của Meta đã dành nhiều năm nghiên cứu dự án nogil (sau này trở thành chuẩn PEP 703). Giải pháp này thay thế cơ chế khóa toàn cục bằng một kỹ thuật quản lý bộ nhớ tinh vi:

1. **Bộ đếm tham chiếu phân tán (Biased Reference Counting):** Các đối tượng chỉ được truy cập bởi một luồng duy nhất sẽ không cần thao tác khóa nguyên tử (Atomic Operations) tốn kém.

2. **Bộ cấp phát bộ nhớ Mimalloc:** Sử dụng bộ cấp phát bộ nhớ hiện đại của Microsoft, cho phép hàng chục luồng cấp phát và giải phóng vùng nhớ đồng thời mà không bị nghẽn cổ chai.

3. **Khóa bảo vệ cục bộ:** Chỉ khóa ở cấp độ từng đối tượng cụ thể khi có sự xung đột tranh chấp dữ liệu giữa hai luồng khác nhau.

3. Tác động bùng nổ đối với ngành AI và Khoa học Dữ liệu

Kết quả kiểm thử trên phiên bản Python 3.13 Free-threaded cho thấy tốc độ xử lý các tác vụ tiền xử lý dữ liệu cho mô hình AI tăng tuyến tính gần như hoàn hảo theo số lượng nhân CPU: một tác vụ chạy trên 8 nhân CPU hoàn thành nhanh gấp 7.5 lần so với phiên bản có GIL truyền thống.

Các thư viện trụ cột như NumPy, PyTorch, Pandas và Polars đang tích cực cập nhật phiên bản C-Extension để tương thích hoàn toàn với chế độ không GIL. Khi hệ sinh thái này hoàn tất quá trình chuyển đổi vào năm 2026, Python sẽ củng cố vững chắc hơn nữa vị thế độc tôn của mình trong kỷ nguyên điện toán tăng tốc.

Nguồn tin & Tài liệu tham khảo chính thống

Bài viết được tổng hợp, đối chiếu và biên dịch từ các ấn phẩm và báo cáo kỹ thuật:

Ban biên tập Công nghệ Oloka.net

Bài viết được biên soạn và kiểm chứng độc lập bởi đội ngũ phóng viên công nghệ Oloka.net. Chúng tôi tuân thủ các nguyên tắc minh bạch dữ liệu và trích dẫn nguồn tin gốc. Mọi phản hồi xin vui lòng liên hệ tòa soạn.

Thẻ chủ đề:#Python#GIL#Free-Threading#Performance#Coding#OpenSource

Bài viết cùng chuyên mục(Lập trình & Khởi nghiệp)