Tuyển dụng
Viettel IDC

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

19/10/2019

Việc này đặc biệt có ích khi một chương trình phải xử lý song song các khối dữ liệu khổng lồ mà không làm tốc độ thực thi chậm hơn.

 

Các dữ liệu lớn ngày nay đặt ra các vấn đề khác nhau cho các kỹ thuật quản lý bộ nhớ hiện tại, 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ả các khối bộ nhớ xung quanh.

Nhưng khi 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 ở nhiều nơi trên thanh ghi của bộ nhớ, nguyên tắc cục bộ này lại trở thành một trở lực về hiệu năng khi nó dẫn đến việc thực thi chương trình trở nên chậm chạp hơn. Để giải quyết vấn đề này, các nhà nghiên cứu tại Phòng thí nghiệm về Khoa học máy tính và Trí tuệ nhân tạo của MIT (CSAIL) đã phát triển một ngôn ngữ lập trình mới, có tên gọi là Milk.

Khi so sánh với các ngôn ngữ lập trình hiện nay khi được sử dụng để xử lý dữ liệu lớn, một chương trình viết bằng Milk chạy nhanh gấp 4 lần. Tại sao nó lại có thể đạt được tốc độ như vậy? Bí mật nằm ở cách các lõi bộ xử lý thu thập và lưu dữ liệu trong bộ nhớ đệm.

Các chip máy tính ngày nay không được tối ưu cho xử lý các 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 nhâ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, tương đối nhỏ và gắn liền bên trong, để lưu dữ liệu. Thông thường, thay vì lấy về một mục dữ liệu duy 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 thiết và các dữ liệu ở lân cận.

Trong khi đó, Milk tiếp cận theo một cách khác. Nó đơn giản chỉ thêm một vài dòng lệnh (command) vào OpenMP, một phần mở rộng được sử 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 trở nên dễ dàng hơn. Với Milk, các lập trình viên có thể chèn một vài dòng code bổ sung vào bất kỳ tập lệnh nào của lõi đang tìm kiếm dữ liệu. Sau đó, trình biên dịch của Milk sẽ giải quyết các vấn đề về bộ nhớ theo cách như sau:

Với 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 đó, nó không yêu cầu mục dữ liệu đó (cũng như các mục dữ liệu lân cận) từ bộ nhớ chính. Thay vào đó, nó thêm địa chỉ của mục dữ liệu vào một danh sách địa chỉ, được lưu cục bộ trên lõi bộ xử lý.

Khi tất cả các danh sách đã có đủ địa chỉ của những mục dữ liệu, các lõi bộ xử lý sẽ gộp các danh sách đó lại, nhóm các địa chỉ ở gần nhau lại với nhau, và tái phân phối chúng về các lõi của bộ xử lý. Bằng cách này, mỗi lõi sẽ chỉ yêu cầu các 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 nói về Milk:

"Milk giúp giải quyết thiếu sót này bằng cách tối ưu hóa việc truy cập bộ nhớ trong cấu trúc lập trình thông thường. Công trình này kết hợp các kiến thức chi tiết về thiết kế của bộ điều khiển bộ nhớ với kiến thức về trình biên dịch, để làm tốt việc tối ưu trên các phần cứng hiện tại."

Cuối tuần này, Milk sẽ được giới thiệu tại Hội nghị Quốc tế về các Kiến trúc song song và Kỹ thuật biên dịch (International Conference on Parallel Architectures and Compilation Techniques) tại Israel từ ngày 11 đến ngày 15 tháng Chín năm 2016.

GenK - Tham khảo MIT.edu

 

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

23/06/2025

Thông báo mời báo giá một số hạng mục vật tư, thiết bị và dịch vụ triển khai cho dự án DC mới của Viettel IDC

Viettel IDC đề nghị Quý Công ty có quan tâm cung cấp báo giá cho các vật tư thiết bị, dịch vụ liên quan bao gồm một số nội dung chính cụ thể

20/06/2025

8 Lợi ích nổi bật của Private Cloud đối với doanh nghiệp

8 Lợi ích nổi bật của Private Cloud đối với doanh nghiệp: Bảo mật tối đa, kiểm soát toàn quyền; Hiệu suất ổn định, không bị ảnh hưởng bởi tài nguyên bên ngoài..

20/03/2025

Doanh nghiệp nhỏ, start-up đang là mục tiêu của hacker – Làm sao để bảo vệ hệ thống?

Theo nghiên cứu của Accenture, có đến 43% các cuộc tấn công mạng đều nhắm vào SME và start-up. Tuy nhiên, chỉ có khoảng 14% doanh nghiệp được trang bị các biện pháp đảm bảo an toàn thông tin

20/03/2025

Xu hướng thị trường đám mây tại Việt Nam

Thị trường đám mây tại Việt Nam đang chứng kiến sự phát triển nhanh chóng, mở ra một kỷ nguyên mới cho các tổ chức và doanh nghiệp. Trong bài viết dưới đây, Viettel IDC sẽ cùng bạn đọc khám phá những xu hướng chính

21/01/2025

6 Lợi ích nổi bật khi sử dụng máy tính ảo Cloud PC của Viettel IDC

6 Lợi ích nổi bật khi sử dụng máy tính ảo Cloud PC của Viettel IDC: truy cập linh hoạt, làm việc từ mọi nơi; tiết kiệm chi phí đầu tư phần cứng; hiệu suất mạnh mẽ, dễ dàng mở rộng tài nguyên...

20/01/2025

Máy chủ siêu hội tụ là gì? Lợi ích và giải pháp tối ưu

Máy chủ siêu hội tụ (HCI) là một kiến trúc hợp nhất các tài nguyên phần cứng và phần mềm, bao gồm máy chủ (compute), lưu trữ (storage), mạng (networking) và ảo hóa (virtualization) vào một hệ thống duy nhất

10/10/2024

​Kỷ niệm 70 năm ngày Giải phóng Thủ đô (10/10/1954 – 10/10/2024)

Ngày 10/10/1954 đánh dấu mốc son lịch sử chói lọi, chính thức giải phóng Thủ đô Hà Nội khỏi ách cai trị của thực dân Pháp sau 9 năm kháng chiến trường kỳ.

20/09/2024

Server là gì? Phân loại, đặc điểm và vai trò của server

Để đảm bảo quá trình vận hành của hệ thống CNTT, server là một thành phần không thể thiếu. Vậy server là gì? Server đóng vai trò như thế nào? Cùng Viettel IDC tìm hiểu chi tiết ngay trong bài viết sau đây.

23/08/2024

Đăng Ký Tham Dự Hội Thảo Electric & Power Vietnam | HVACR Vietnam 2024

Tháng 9 này, cùng tham gia hành trình đổi mới và ứng dụng các giải pháp năng lượng bền vững trong chương trình hội thảo độc quyền xoay quanh ngành điện, HVAC, năng lượng tái tạo và trung tâm dữ liệu - trực thuộc triển lãm Electric & Power Vietnam | HVACR Vietnam 2024.

18/08/2024

Lễ 2/9 được nghỉ mấy ngày? Lịch nghỉ Lễ Quốc khánh 2/9/2024

Lịch nghỉ lễ Quốc khánh 2/9/2024 của người lao động kéo dài 4 ngày liên tiếp từ thứ bảy (ngày 31/8) đến hết thứ ba (ngày 3/9) gồm 2 ngày nghỉ Lễ và 2 ngày nghỉ cuối tuần