Chương trình có thể chạy nhanh gấp 4 lần với ngôn ngữ lập trình mới do MIT tạo ra

Rate this item
(13 votes)

Việc này đặc biệt có ích khi mà cùng một lúc, một chương trình phải xử lý đồng thời những khối dữ liệu đồ sộ mà ko khiến tốc độ thực thi chậm hơn.


Các dữ liệu lớn bây giờ đặt ra những vấn đề khác nhau cho những công nghệ quản lý bộ nhớ hiện giờ, vốn dựa trên nguyên tắc cục bộ (principle of locality). Nguyên tắc này được diễn giải như sau: Nếu một chương trình cụ thể phải truy cập vào dữ liệu tại một vị trí trên bộ nhớ, nó cũng cần cả những khối bộ nhớ tiếp giáp với nó.
Nhưng lúc một chương trình phải xử lý dữ liệu lớn, bao gồm hàng núi dữ liệu nằm phân tán ở đa dạng nơi trên thanh ghi của bộ nhớ, nguyên tắc cục bộ này lại trở về hiệu năng lúc nó dẫn tới việc thực thi chương trình trở thành chậm chạp hơn. Để khắc phục vấn đề này, các nhà nghiên cứu tại phòng thí điểm về công nghệ máy tính và trí tuệ nhân tạo của MIT (CSAIL) đã vững mạnh một tiếng nói lập trình mới, sở hữu tên gọi là Milk.

1-5
Lúc so sánh có các tiếng nói lập trình bây giờ lúc được tiêu dùng để xử lý dữ liệu to, một chương trình viết bằng Milk chạy nhanh gấp 4 lần. vì sao nó lại có thể đạt được tốc độ như vậy? bí ẩn nằm ở cách các lõi bộ xử lý thu thập và lưu dữ liệu trong bộ nhớ đệm.
Những chip máy tính bây giờ ko được tối ưu cho xử lý những dữ liệu phân tán. Do việc lấy dữ liệu từ thanh ghi bộ nhớ chính của con chip rất chậm, nên mỗi bộ phận của bộ xử lý trong con chip hiện đại đều có một bộ nhớ đệm riêng, một thanh ghi bộ nhớ tốc độ cao, hơi nhỏ và gắn liền bên trong, để lưu dữ liệu. bình thường, thay vì lấy về 1 mục dữ liệu độc nhất từ bộ nhớ chính, mỗi lõi sẽ lấy về cả khối dữ liệu, gồm mục dữ liệu cận yếu và những dữ liệu ở phụ cận.
Trong khi Đó, Milk tiếp cận theo một phương pháp khác. Nó thuần tuý chỉ thêm một vài mẫu lệnh (command) vào OpenMP, 1 phần mở mang được tiêu dùng bởi các ngôn ngữ lập trình khác như C và Fortran để việc viết code cho các bộ xử lý đa nhân phát triển thành thuận lợi hơn. Những lập trình viên có thể chèn một đôi chiếc code bổ sung vào bất kỳ tập lệnh nào của lõi đang kiếm tìm dữ liệu. Sau Đó, trình biên dịch của Milk sẽ khắc phục các vấn đề về bộ nhớ theo bí quyết như sau:

Sở hữu chương trình viết bằng Milk, khi lõi bộ xử lý phát hiện nó cần một mục dữ liệu nào ngừng thi công, nó không phải mục dữ liệu chậm triển khai (cũng như các mục dữ liệu lân cận) trong khoảng bộ nhớ chính. Thay vào chậm triển khai, nó thêm liên hệ của mục dữ liệu vào 1 danh sách địa chỉ, được lưu cục bộ trên lõi bộ xử lý.
Lúc tất cả các danh sách đã có đủ liên hệ của các mục dữ liệu, các lõi bộ xử lý sẽ gộp những danh sách chậm triển khai lại, lực lượng các liên hệ ở gần nhau lại sở hữu nhau, và tái cung cấp chúng về những lõi của bộ xử lý. Bằng bí quyết này, mỗi lõi sẽ chỉ bắt buộc những mục dữ liệu mà nó cần và việc lấy dữ liệu về cũng sẽ diễn ra hiệu quả hơn.
Dưới đây là nhận xét của Matei Zaharia, trợ lý giáo sư tại Đại học Stanford, khi đề cập về Milk:
"Milk giúp giải quyết khuyết điểm này bằng phương pháp tối ưu hóa việc truy cập bộ nhớ trong cấu trúc lập trình thường ngày. công trình này phối hợp những tri thức chi tiết về bề ngoài của bộ điều khiển bộ nhớ sở hữu kiến thức về trình biên dịch, để khiến cho việc tối ưu trên các phần cứng hiện giờ."
Cuối tuần này, Milk sẽ được giới thiệu tại Hội nghị Quốc tế về những Kiến trúc song song và khoa học biên dịch (International Conference on Parallel Architectures and Compilation Techniques) tại Israel trong khoảng ngày 11 tới ngày 15 tháng Chín năm 2016.

Read 141 times

TRANG TIN CÔNG NGHỆ

Chuyên trang cập nhật tin tức công nghệ mới nhất. Đánh giá các sản phẩm công nghệ: Máy tính, laptop, điện thoại, máy ảnh, Camera, âm thanh, thiết bị số.