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/2019Việ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
Tin liên quan
Việt Nam đã hiện diện trên bản đồ IPv6 thế giới
Tỷ lệ người sử dụng IPv6 của Việt Nam từ chỗ hoàn toàn không có vào các năm trước thì đến thời điểm hiện tại, các hệ thống của CISCO, APNIC, Google đều ghi nhận con số người sử dụng IPv6 ở Việt Nam đạt gần 0,03%.
Thảm hoạ an ninh mạng Cloudbleed
Một lỗ hổng nhỏ trong mã nguồn của Cloudflare đã dẫn đến một lượng dữ liệu chưa thống kê được – gồm mật khẩu, thông tin cá nhân, tin nhắn, cookie... – đã bị rò rỉ trên Internet. Nếu bạn chưa biết về lỗ hổng Cloudbleed thì nên đọc tiếp bài viết này. Đây là một mối đe doạ an ninh mạng lớn xảy ra gần đây nhất.
Không chỉ các NPH tại Việt Nam, đến ông lớn là Square Enix cũng đang đau đầu vì nạn DDoS
Trong thời gian gần đây, với các game thủ Final Fantasy XIV, thách thức lớn nhất không phải là các con boss hùng mạnh trong game. Thứ khiến họ đang đau đầu và không thể chống lại chính là các vụ tấn công DDoS.
Chuyên gia bảo mật cho rằng đổi mật khẩu thường xuyên làm tài khoản bạn kém an toàn
Chính kỹ thuật viên trưởng Ủy Ban Thương mại Liên bang Hoa Kỳ (FTC) đã xác nhận điều này.
Chỉ số An toàn thông tin Việt Nam 2015 vẫn dưới mức trung bình
Hiệp hội An toàn thông tin Việt Nam đã công bố chỉ số An toàn thông tin Việt Nam 2015 - VNISA Index 2015. Theo đó, chỉ số trung bình của Việt Nam đạt 46.5%, tuy ở dưới mức trung bình 50% nhưng so với năm 2014 thì đã có bước tiến rõ rệt, đã tăng 7,4%.
Tản nhiệt 'nóng' cho trung tâm dữ liệu
Đi theo một hướng hoàn toàn không giống nhiều hãng công nghệ khác, Vantage tạo ra môi trường 'phòng xông hơi' để "làm mát" cho các trung tâm dữ liệu.
Tăng cường đảm bảo an toàn thông tin dịp Quốc khánh 2/9
Nhằm phòng, chống nguy cơ mất an toàn thông tin xảy ra trong thời gian diễn ra Lễ Quốc khánh 2/9, Bộ TT&TT đề nghị các cơ quan, đơn vị tăng cường triển khai một số hoạt động nhằm bảo đảm an toàn thông tin cho các hệ thống thông tin thuộc phạm vi quản lý của mình.
[6 bước] Hướng dẫn mua dịch vụ máy chủ ảo tại Viettel IDC
Hiện nay, nhu cầu mua máy chủ ảo Cloud Server, Viettel StartCloud ngày càng nhiều. Vì vậy, bài viết dưới đây Viettel IDC sẽ hướng dẫn Quý khách mua máy chủ ảo tại Viettel IDC nhanh nhất!
"Điện toán sương mù" và giấc mơ trở lại của 2 cựu vương Cisco & Microsoft
Khái niệm có tên gọi tưởng như... đùa này lại đóng vai trò quyết định tới "bộ não" của điện toán toàn cầu trong tương lai.
Tìm hiểu về chuẩn SMTP STS – chuẩn bảo mật Email mới hỗ trợ cho chuẩn cũ StartTLS
Bên cạnh rất nhiều ứng dụng nhắn tin nhanh, Email vẫn là một trong những cách giao tiếp phổ biến nhất trong thời đại số hiện nay. Nhưng liệu rằng Email của bạn có an toàn? Chuẩn SMTP STS đã được phát minh để giải quyết vấn đề chuẩn cũ kém bảo mật StartTLS.
Bình luận ()