Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng

Một nhóm kỹ sư tại MIT đã phát triển hệ thống phân cấp bộ nhớ hướng đối tượng để làm việc với dữ liệu hiệu quả hơn. Trong bài viết, chúng tôi hiểu làm thế nào nó được sắp xếp.

Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng
/ Hình ảnh /PD

Như bạn đã biết, việc tăng hiệu suất của các CPU hiện đại không đi kèm với việc giảm độ trễ tương ứng khi truy cập bộ nhớ. Sự khác biệt về sự thay đổi của các chỉ số từ năm này sang năm khác có thể lên tới 10 lần (PDF, trang 3). Kết quả là, một nút cổ chai xuất hiện, không cho phép sử dụng đầy đủ các tài nguyên có sẵn và làm chậm quá trình xử lý dữ liệu.

Hình phạt hiệu suất được gọi là độ trễ giải nén. Trong một số trường hợp, quá trình giải nén dữ liệu chuẩn bị có thể mất tới 64 chu kỳ bộ xử lý.

Để so sánh: cộng và nhân các số dấu phẩy động chiếm không quá mười chu kỳ. Vấn đề là bộ nhớ hoạt động với các khối dữ liệu có kích thước cố định, trong khi các ứng dụng hoạt động với các đối tượng có thể chứa các loại dữ liệu khác nhau và khác nhau về kích thước. Để giải quyết vấn đề, các kỹ sư của MIT đã phát triển một hệ thống phân cấp bộ nhớ hướng đối tượng nhằm tối ưu hóa quá trình xử lý dữ liệu.

Cách thức hoạt động của công nghệ

Giải pháp dựa trên ba công nghệ: Hotpads, Zippads và thuật toán nén COCO.

Hotpad là một hệ thống phân cấp bộ nhớ thanh ghi bàn di chuột được điều khiển bằng phần mềm (bàn di chuột). Các thanh ghi này được gọi là các miếng đệm (miếng đệm) và có ba trong số chúng - từ L1 đến L3. Chúng lưu trữ các đối tượng có kích thước, siêu dữ liệu và mảng con trỏ khác nhau.

Về bản chất, kiến ​​trúc là một hệ thống bộ đệm, nhưng được mài sắc để hoạt động với các đối tượng. Mức độ của miếng đệm mà đối tượng được đặt phụ thuộc vào tần suất nó được sử dụng. Nếu một trong các mức "tràn", hệ thống sẽ kích hoạt một cơ chế tương tự như "trình thu gom rác" trong Java hoặc Go. Nó phân tích những đối tượng nào ít được sử dụng hơn những đối tượng khác và tự động di chuyển chúng giữa các cấp độ.

Zippads hoạt động trên cơ sở Hotpads - lưu trữ và giải nén dữ liệu đi vào hoặc rời khỏi hai cấp độ cuối cùng của hệ thống phân cấp - đệm L3 và bộ nhớ chính. Trong phần đầu tiên và thứ hai, dữ liệu được lưu trữ không thay đổi.

Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng

Zippads nén các đối tượng lên đến 128 byte. Các đối tượng lớn hơn được chia thành các phần, sau đó được đặt vào các vùng khác nhau của bộ nhớ. Khi các nhà phát triển viết, phương pháp này làm tăng hệ số bộ nhớ được sử dụng hiệu quả.

Để nén các đối tượng, thuật toán COCO (Cross-Object COmpression) được sử dụng, thuật toán này sẽ được thảo luận sau, mặc dù hệ thống có thể hoạt động với Cơ sở-Delta-Ngay lập tức hoặc FPC. Thuật toán COCO là một biến thể của nén vi sai (nén vi sai). Nó so sánh các đối tượng với "cơ sở" và loại bỏ các bit trùng lặp - xem sơ đồ bên dưới:

Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng

Theo các kỹ sư của MIT, hệ thống phân cấp bộ nhớ hướng đối tượng của họ nhanh hơn 17% so với các phương pháp cổ điển. Cấu trúc của nó gần hơn nhiều với kiến ​​trúc của các ứng dụng hiện đại, vì vậy phương pháp mới có tiềm năng.

Dự kiến, trước hết, các công ty làm việc với dữ liệu lớn và thuật toán học máy có thể bắt đầu sử dụng công nghệ này. Một hướng tiềm năng khác là nền tảng đám mây. Các nhà cung cấp IaaS sẽ có thể làm việc hiệu quả hơn với ảo hóa, hệ thống lưu trữ và tài nguyên máy tính.

Tài nguyên và nguồn bổ sung của chúng tôi:

Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng "Cách chúng tôi xây dựng IaaS": tài liệu về công việc của 1cloud

Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng Sự phát triển của kiến ​​trúc đám mây 1cloud
Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng Dịch vụ lưu trữ đối tượng trong 1cloud

Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng Các cuộc tấn công tiềm năng vào HTTPS và cách bảo vệ chống lại chúng
Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng Điểm tương đồng và khác biệt giữa phương pháp Phân phối liên tục và Tích hợp liên tục là gì
Cách nén hoạt động trong kiến ​​trúc bộ nhớ hướng đối tượng Cách bảo vệ máy chủ trên Internet: Trải nghiệm 1cloud

Nguồn: www.habr.com

Thêm một lời nhận xét