Đọc và ghi được quản lý bằng phần mềm Cân bằng hao mòn cho bộ nhớ chính không thay đổi Phần 3

Aug 06, 2024

5.1.1 Lấy mẫu phân phối ghi tạm thời.

Để tạo bẫy sau mỗi lần truy cập Cwritesample và write của ứng dụng, chúng tôi sử dụng cơ chế đếm hiệu suất bên trong CPU. Sự kiện BUS_ACCESS_ST trong ARMv8 đếm tổng số yêu cầu lưu trữ trên bus bộ nhớ và do đó số lượng truy cập ghi của ứng dụng được ghi lại. Đối với CPU Intel, có thể đạt được hành vi tương tự bằng cách sử dụng bộ đếm hiệu suất để ghi lại bộ nhớ đệm cấp cuối cùng.

Bộ nhớ đệm và bộ nhớ là hai khái niệm có liên quan nhưng không giống nhau. Bộ đệm là một thuật ngữ trong lĩnh vực máy tính mô tả cơ chế mà máy tính lưu trữ và xử lý dữ liệu. Bộ nhớ đệm có thể giúp máy tính truy cập dữ liệu nhanh hơn và cải thiện tốc độ cũng như hiệu quả xử lý. Mặt khác, trí nhớ đề cập đến trí nhớ của con người, là khả năng bộ não của một người lưu trữ thông tin và có thể nhớ lại nó bất cứ lúc nào.

Mặc dù bộ nhớ đệm và bộ nhớ khác nhau về khái niệm nhưng thực sự có một mối liên hệ nhất định giữa chúng. Bộ nhớ của con người cũng có thể được coi là một cơ chế bộ nhớ đệm. Chúng ta lưu trữ những điều và thông tin chúng ta đã trải qua trong não để có thể nhớ lại chúng nhanh hơn khi cần. Điều này giống như cơ chế lưu trữ cache trong máy tính, có thể lưu trữ dữ liệu tạm thời để nâng cao hiệu quả xử lý của máy tính.

Ngoài ra, bộ nhớ đệm, đặc biệt là bộ nhớ đệm ngắn hạn, còn có thể giúp chúng ta hiểu và ghi nhớ thông tin mới tốt hơn. Nếu chúng ta đang học các khái niệm hoặc điểm kiến ​​thức mới, chúng ta có thể lưu trữ chúng vào bộ nhớ đệm trong não trong một thời gian ngắn để giúp chúng ta ghi nhớ chúng tốt hơn. Nếu chúng ta có thể chuyển đổi thông tin mới thành trí nhớ dài hạn một cách kịp thời thì chúng ta có thể hiểu và nắm vững kiến ​​thức này tốt hơn.

Nhìn chung, bộ nhớ đệm và bộ nhớ là hai khái niệm có liên quan chặt chẽ với nhau và là hai cơ chế thúc đẩy lẫn nhau. Bộ nhớ đệm có thể giúp chúng ta truy cập dữ liệu và thông tin nhanh hơn, trong khi bộ nhớ có thể giúp chúng ta hiểu và ghi nhớ những thông tin này tốt hơn. Trong học tập và cuộc sống hàng ngày, tất cả chúng ta đều có thể sử dụng cơ chế bộ nhớ đệm và bộ nhớ để cải thiện hiệu quả và khả năng ghi nhớ của mình. Có thể thấy rằng chúng ta cần cải thiện trí nhớ, và Cistanche có thể cải thiện trí nhớ đáng kể vì Cistanche còn có thể điều chỉnh sự cân bằng của các chất dẫn truyền thần kinh, chẳng hạn như tăng mức độ acetylcholine và các yếu tố tăng trưởng rất quan trọng đối với trí nhớ và khả năng học tập. Ngoài ra, Cistanche cũng có thể cải thiện lưu lượng máu và thúc đẩy việc cung cấp oxy, điều này có thể đảm bảo rằng não có đủ dinh dưỡng và năng lượng, từ đó cải thiện sức sống và sức bền của não.

improve cognitive function

Bấm biết bổ sung để cải thiện trí nhớ

Nếu không có bộ đếm hiệu suất như vậy trong một số hệ thống thì mọi phép tính gần đúng (ví dụ: bộ đếm chu kỳ hoặc bộ đếm thời gian) vẫn có thể được xem xét. Cơ chế đếm hiệu suất cho phép tạo bẫy khi bộ đếm hiệu suất tràn (tức là vượt quá giá trị Cmax=232 −1).

Để thiết lập bẫy trên mỗi mẫu Cwrite có quyền truy cập ghi, bộ đếm hiệu suất được đặt thành Cmax −Cwritesampling trong quá trình xử lý bẫy tràn. Khi chọn mẫu viết lại, cần xem xét chi phí xử lý bẫy được đưa ra.

5.1.2 Bẫy truy cập ghi.

Vì địa chỉ bộ nhớ được ghi cuối cùng không thể được xác định trong quá trình xử lý bẫy tràn bộ đếm hiệu suất, nên kỹ thuật thứ hai được triển khai để theo dõi địa chỉ đích của lần ghi bộ nhớ tiếp theo.

Trong quá trình xử lý bẫy tràn, quyền truy cập bộ nhớ cho vùng bộ nhớ được theo dõi được đặt thành CHỈ ĐỌC. Lưu ý rằng kiến ​​trúc ARMv8 cho phép quyền truy cập bộ nhớ phân cấp, cho phép định cấu hình vùng bộ nhớ có kích thước1-GB thành ĐỌC_CHỈ bằng cách sửa đổi mục nhập bảng một trang.

Do quyền CHỈ ĐỌC, lần truy cập ghi tiếp theo sẽ gây ra bẫy vi phạm quyền và được xử lý như một ngắt đồng bộ. Địa chỉ gây vi phạm có sẵn cho trình xử lý bẫy trong một thanh ghi chuyên dụng, sau đó được sử dụng để tăng bộ đếm tương ứng trong phép tính gần đúng phân phối ghi.1

Trong quá trình xử lý bẫy, quyền truy cập được đặt lại thành READ{0}}WRITE.2 Lưu ý rằng cơ chế này không yêu cầu nghiêm ngặt MMU; nó cũng có thể được triển khai với MPU rất nhẹ trên bộ vi điều khiển.

Tuy nhiên, nếu có MMU, bẫy truy cập ghi có thể bị giới hạn ở một tập hợp con nhất định của các trang bộ nhớ. Ví dụ: nếu một số ứng dụng quan trọng về thời gian phụ thuộc vào khả năng truy cập bộ nhớ nhanh thì bẫy truy cập ghi có thể bị vô hiệu hóa đối với ứng dụng này với cái giá là mức độ hao mòn kém.

5.2 Lấy mẫu truy cập đọc

Để ghi lại số lượng truy cập đọc gần đúng theo thống kê, chúng tôi thực hiện theo hai bước tương tự như được mô tả trước đó. Đầu tiên, chúng tôi thiết lập một bộ đếm hiệu suất kiến ​​trúc để đếm số lượt truy cập đọc trên bus bộ nhớ.

Bằng cách đặt giá trị bộ đếm hiệu suất C theo cách thủ công thành giá trị tối đa Cmax =232 − 1 trừ đi tốc độ lấy mẫu có thể định cấu hình Creadsample bất cứ khi nào bộ đếm tràn, một bẫy tràn được tạo ra cho mỗi lần truy cập đọc Creadsample.

Trong quá trình xử lý lỗi tràn, chúng tôi đặt quyền bộ nhớ của tất cả các trang bộ nhớ được quan sát thành KHÔNG_TRUY CẬP, điều này dẫn đến bẫy vi phạm quyền đối với quyền truy cập đọc và ghi. Bẫy vi phạm này được sử dụng để ghi lại mục tiêu truy cập đọc tiếp theo.

Trong quá trình xử lý bẫy, quyền bộ nhớ được khôi phục để việc thực thi có thể tiếp tục. Do đó, cơ chế này dẫn đến việc lấy mẫu địa chỉ đọc hiện tại mà mỗi lần đọc Creadsample truy cập.

ways to improve your memory

Trong hệ thống thử nghiệm của chúng tôi, giá trị gần đúng đọc được sử dụng cùng với giá trị gần đúng ghi. Do đó, cả hai phương pháp đều can thiệp lẫn nhau vì cả hai đều sử dụng hệ thống cấp phép bộ nhớ để bẫy truy cập bộ nhớ tiếp theo. Phép tính gần đúng ghi chỉ sử dụng quyền CHỈ ĐỌC và do đó quyền truy cập đọc vẫn tiếp tục và phép tính gần đúng đọc không bị xáo trộn.

Ngược lại, phép đọc gần đúng sử dụng quyền KHÔNG{0}}TRUY CẬP và do đó, quyền truy cập ghi tiếp theo cũng gây ra bẫy vi phạm quyền, ngay cả khi hiện tại không có mẫu nào cho phép ghi gần đúng được ghi lại.

Điều này đòi hỏi sự hợp tác chặt chẽ giữa cả hai người xấp xỉ để bỏ qua những bẫy ghi này. Tuy nhiên, nếu công cụ đọc gần đúng nhằm mục đích ghi lại một mẫu đã đọc nhưng quyền truy cập bộ nhớ tiếp theo là quyền truy cập ghi thì quyền truy cập ghi phải được hoàn thành để tiếp tục thực thi và cuối cùng đạt được yêu cầu đọc. Để hoàn thành quyền truy cập ghi, quyền truy cập bộ nhớ phải được cấp thoải mái để cho phép ghi lại.

Để vẫn giữ quyền truy cập đọc tiếp theo, chúng tôi sử dụng cơ chế gỡ lỗi để đặt quyền truy cập bộ nhớ trở lại KHÔNG_TRUY CẬP sau khi hoàn tất quyền truy cập ghi. Do đó, chúng ta thay thế lệnh sau lệnh ghi bằng lệnh điểm dừng.3

Miễn là các lệnh ghi không thể thao tác với bộ đếm chương trình,4 thì lệnh tiếp theo được đảm bảo sẽ được thực thi. Sau đó, trình xử lý điểm dừng sẽ thay thế điểm ngắt bằng lệnh ban đầu, đặt lại quyền truy cập bộ nhớ thành KHÔNG_TRUY CẬP và tiếp tục thực thi.

5.2.1 Lấy mẫu thực hiện lệnh.

Khi các truy cập đọc vào bộ nhớ chính gần đúng, lệnh tìm nạp mã nguồn đã biên dịch cũng phải được lấy mẫu vì chúng cũng là các truy cập đọc bộ nhớ.

Tuy nhiên, việc sử dụng cơ chế trước đó sẽ chỉ dẫn đến việc tìm nạp lệnh, vì điều đầu tiên CPU thực hiện sau khi quay về từ trình xử lý bẫy đã sửa đổi các quyền của bộ nhớ là tìm nạp lệnh tiếp theo.

Do đó, chỉ quyền truy cập vào phân đoạn văn bản mới được ghi lại trong xấp xỉ đọc. Để khắc phục điều này, chúng tôi không quan sát các trang phần văn bản cho xấp xỉ đọc và do đó không sửa đổi quyền cho các trang này.

Thay vào đó, chúng tôi lấy một mẫu riêng biệt của bộ đếm chương trình trên mỗi lần tràn bộ đếm hiệu suất (Creadsample ), dẫn đến một phép tính gần đúng riêng biệt và độc lập của phân đoạn văn bản.

improve brain

5.2.2 Tỷ lệ xấp xỉ.

Như đã chỉ ra trước đây, các phép tính gần đúng đọc và ghi được sử dụng để ước tính tuổi của các vùng bộ nhớ và được chuyển tiếp sang thuật toán cân bằng hao mòn chi tiết thô.

Để duy trì chất lượng của thuật toán cân bằng hao mòn nhận biết lão hóa, điều cần thiết là phải chia tỷ lệ xấp xỉ đọc theo xấp xỉ ghi. Mẫu xấp xỉ đọc có thể chạy với Creadsample tốc độ mẫu khác với Cwritesample xấp xỉ ghi vì lý do hiệu suất.

Tuy nhiên, thuật toán cân bằng hao mòn chỉ lấy tuổi ước tính của ô làm đầu vào, đó là giá trị gần đúng ghi cho NVM không đọc phá hủy và giá trị gần đúng đọc cộng với xấp xỉ ghi cho NVM đọc phá hủy. Vì vậy, phép tính gần đúng đọc và ghi phải có cùng trọng số.

Giá trị gần đúng số lần đọc theo tỷ lệ có thể được tính theo cách sau: hệ số tỷ lệ x yêu cầu, phải được nhân với giá trị gần đúng số lần đọc trước khi đưa vào thuật toán cân bằng hao mòn, được tính theo Công thức (1).

X=CreadsampleCwritesample(1)

5.3 Thuật toán san lấp mặt bằng chi tiết thô

Phép tính gần đúng phân phối truy cập cho phép các thuật toán cân bằng hao mòn nhận biết lão hóa tùy ý. Thuật toán không cần phải biết liệu nó có đang chạy trên NVM phá hủy đọc hay không, bởi vì các truy cập đọc có cùng tác động phá hủy như các truy cập ghi.

Do đó, thuật toán có thể lấy tuổi làm đầu vào, được tính từ tổng số lần truy cập đọc và ghi. Chúng tôi cung cấp cho thuật toán một chỉ báo từ phép tính gần đúng quyền truy cập, ước tính tuổi của mỗi trang. Lưu ý rằng hệ thống gần đúng chỉ hoạt động trên bộ nhớ ảo và không xem xét việc ánh xạ tới các trang bộ nhớ vật lý. Điều này được duy trì bởi chính thuật toán cân bằng độ hao mòn.

Thuật toán cân bằng hao mòn quyết định trang bộ nhớ ảo nào được di chuyển sang các trang bộ nhớ vật lý khác và do đó duy trì tuổi tổng thể của bộ nhớ vật lý. Tuy nhiên, giao diện giữa hệ thống gần đúng và thuật toán cân bằng hao mòn phải được xác định rõ. Chúng tôi xen kẽ hơn nữa thuật toán cân bằng hao mòn của mình với cách triển khai gần đúng để giảm lượng dữ liệu được lưu trữ dư thừa.

Thuật toán cân bằng hao mòn của chúng tôi sử dụng cây đỏ đen để duy trì tất cả các trang bộ nhớ vật lý được quản lý cùng với tuổi ước tính của chúng [10]. Vì tuổi ước tính đã có sẵn bên trong các nút cây nên không cần phải lưu trữ các giá trị này trong quá trình triển khai phép tính gần đúng.

Cây được minh họa ở Phần 5.3.1. Mỗi trang được lưu trữ trong cây theo độ tuổi ước tính và do đó việc tra cứu và trích xuất trang trẻ nhất là có hiệu quả.

Hệ thống gần đúng duy trì một trang bộ nhớ ảo của bộ đếm đọc và ghi tạm thời và thông báo cho thuật toán cân bằng độ hao mòn bằng hành động tăng dần theo độ tuổi nếu một trong các bộ đếm này vượt quá một ngưỡng nhất định. Kết quả là, thuật toán cân bằng hao mòn tăng giá trị tuổi bên trong và di chuyển nội dung bộ nhớ vật lý sang một trang khác.

5.3.1 Quản lý trang bộ nhớ.

Bất cứ khi nào một trang bộ nhớ ảo cần được di chuyển sang một trang bộ nhớ vật lý khác, mức tối thiểu hiện tại (tức là trang bộ nhớ vật lý có tuổi giả định thấp nhất) sẽ được trích xuất từ ​​cây làm trang vật lý đích và độ tuổi ước tính được điều chỉnh tương ứng.

Việc chọn trang trẻ nhất làm nạn nhân của cân bằng hao mòn sẽ dẫn đến việc cân bằng hao mòn tăng dần, trong đó mỗi trang sẽ trở thành trang trẻ nhất sau một khoảng thời gian nhất định.

Về chi phí chung, thuật toán cân bằng hao mòn chỉ được gọi trong thiết lập này khi trang bộ nhớ phải được di dời. Về chính sách lựa chọn của các quyết định cân bằng hao mòn, tuổi ước tính của tất cả các trang vật lý được cân bằng như nhau theo thời gian, bởi vì mỗi trang sẽ là trang tối thiểu hiện tại tại một thời điểm nhất định.

Điều này thiết lập mức độ hao mòn tăng dần không trạng thái và bộ nhớ được coi là được cân bằng độ hao mòn bất kỳ lúc nào và được duy trì ở mức độ hao mòn. Do đó, hệ thống không cần lưu trữ tuổi trong các chu kỳ điện.

Bản thân các cấu trúc dữ liệu của phép tính gần đúng về quyền truy cập và thuật toán cân bằng độ hao mòn cần phải được nhắm mục tiêu bởi chính việc cân bằng độ hao mòn, việc này đòi hỏi phải triển khai đặc biệt.

Tuy nhiên, những chi tiết kỹ thuật này nằm ngoài phạm vi của công việc này. Cuối cùng, việc tích hợp thuật toán cân bằng hao mòn và hệ thống gần đúng này dẫn đến một tham số cấu hình bổ sung, bên cạnh độ chi tiết về không gian và thời gian của xấp xỉ số lần ghi, tức là di tích ngưỡng, sau đó số lần ghi hoặc đọc ước tính sẽ được thực hiện.

improve memory

Tham số cấu hình này cung cấp sự cân bằng giữa chi phí di chuyển trang và tần suất, cũng như chất lượng thu được của các hành động cân bằng hao mòn mà không ảnh hưởng đến chất lượng của phép tính gần đúng truy cập.


For more information:1950477648nn@gmail.com

Bạn cũng có thể thích