Tại sao tốc độ phát triển phần mềm không theo được “định luật Moore”?

Xu hướng - Dự báo - Ngày đăng : 22:07, 03/11/2015

Kể từ năm 1965, ngành bán dẫn luôn phát triển theo “định luật Moore” nhưng phần mềm không theo kịp tốc độ tăng trưởng đó. Vậy đâu là nguyên nhân và giải pháp cần như thế nào? Brian Maccaba, một chuyên gia ảo hóa - CEO của công ty Waratek ở Dublin, Ireland đã đưa ra những giải thích cho vấn đề này trên báo Forbes.

Năm 1965, Gordon Moore, đồng sáng lập Tập đoàn Intel, dự đoán rằng “số lượng bóng bán dẫn (transistor) trên mỗi đơn vị inch vuông của chip bán dẫn sẽ tăng gấp đôi mỗi năm”. Tính chính xác dần được kiểm chứng từ khi ý kiến đó được công bố khiến người ta công nhận nó trở thành “Định luật Moore”.

Có một thực tế là những hệ thống máy tính chưa thể đạt được tiến bộ tương tự về tốc độ, sức mạnh và khả năng tương ứng với “Định luật Moore”. Mặc dù hiệu suất của vi xử lý tăng gấp 10 lần trong vòng 5 năm, chi phí cho công nghệ thông tin luôn tăng và không có dấu hiệu giảm nhưng kết quả công việc đạt được vẫn chưa tương xứng. Vậy đâu là nguyên nhân?

Lý do chính giải thích cho câu hỏi này là kích thước và độ phức tạp của hệ điều hành chiếm phần lớn nguồn lực, dẫn đến công nghệ phần mềm chưa được chú trọng. Sức mạnh vi xử lý và bộ nhớ lớn hơn tạo điều kiện cho các kỹ sư tạo nên hệ thống lớn hơn và phức tạp hơn. Trên thực tế luôn có mối tương quan trực tiếp giữa “Định luật Moore” và sự tăng trưởng của hệ điều hành:

Tương quan số lượng transitor/inch vuông (chip Intel, đường xanh) với nhu cầu dung lượng bộ nhớ dùng cho hệ điều hành máy chủ từ 1968 đến 2013 (đường đỏ)

Tương quan số lượng transitor/inch vuông (chip Intel, đường xanh) với nhu cầu dung lượng bộ nhớ  dùng cho hệ điều hành máy PC từ 1968 đến 2013 (đường đỏ)

Những lý do chi tiết sau đây sẽ giải thích vì sao tốc độ phát triển của ngành phần mềm không theo kịp “Định luật Moore”:

“Lười biếng” trong thiết kế phần mềm. Việc sức mạnh những bộ vi xử lý không ngừng tăng kéo theo nhu cầu thiết kế phần mềm giảm đáng kể. Khi cần kỹ sư phần mềm có xu hướng đầu tư vào hệ thống hiện đại hơn. Trước đây, các kỹ sư quân sự Liên Xô (cũ) từng tập trung vào thiết kế phần mềm tốt hơn để hạn chế bất lợi của mình khi những chip bán dẫn của họ chưa mạnh bằng các nước phương Tây và kết quả mang lại không hề thua kém.

Chi phí lớn cho bảo trì và hỗ trợ phần mềm. Brian Goetz, kiến ​​trúc sư trưởng ngôn ngữ Java của Waratek nói rằng, khả năng đọc được code (mã lệnh) còn quan trọng hơn việc viết ra code đó. Lý do là chi phí cho quá trình duy trì các chương trình phần mềm trong suốt cuộc đời của nó có thể vượt quá chi phí ban đầu của việc tạo ra chúng. 

Buộc phải nâng cấp phần cứng. Hầu hết tất cả phần mềm ứng dụng sẽ đột ngột giảm đáng kể hiệu suất hoạt động khi hệ thống nâng cấp lên hệ điều hành mới. Do đó, người ta buộc phải nâng cấp phần cứng lên tốc độ cao hơn

Tính kế thừa. Hệ điều hành mới thường yêu cầu phần mềm ứng dụng tốt hơn, trong khi hàng triệu USD đã đầu tư vào thiết kế phần mềm cũ, giờ đây phải nâng cấp lên hoặc viết lại cho phù hợp.

Tương lai công nghệ ảo hóa và điện toán đám mây. Các ứng dụng web đa số được viết bằng ngôn ngữ Java, không chạy trực tiếp trên hệ điều hành. Yêu cầu nền tảng ứng dụng như WebLogic, Websphere, hoặc Apache Tomcat có thể chạy trên máy ảo cũng như hệ điều hành Linux. Trong một môi trường ảo hóa, hệ điều hành sẽ chạy bên trong một máy ảo như VMware, Xen hoặc KVM. Vì vậy, lớp nghiệp vụ logic trong các phần mềm ứng dụng tách thành 4 lớp hoạt động trong các vi xử lý nền.

Về lý thuyết, định luật Moore phác họa một thế giới mà ở đó chi phí cho hosting phần mềm ứng dụng là rất thấp. Để hiện thực hóa điều này, trước hết, chúng ta cần phải hạn chế quá trình phát triển vi xử lý một cách lãng phí, thay vào đó là đầu tư vào thiết kế phần mềm ưu việt.  

Hiệu quả kinh tế là điều chắc chắn. Phần mềm tinh gọn có tiềm năng giảm 50% số lượng máy chủ mới mỗi năm. Điều này tương đương với khoản tiết kiệm khoảng 65 tỷ USD về vốn và chi phí vận hành trong 5 năm, đồng thời giảm đáng kể mức tiêu thụ năng lượng của những trung tâm dữ liệu. 

Mọi thứ có thể đạt được thông qua sự đổi mới trong công nghệ phần mềm và công nghệ ảo hóa. Ví dụ, công ty khởi nghiệp Cloudius đã tạo ra công nghệ loại bỏ lớp phần mềm bằng cách kết hợp hệ điều hành với các máy ảo hóa. Công ty Docker phát triển bộ nguồn mở (open source engine) cho phép chuyển đổi bất kỳ phần mềm ứng dụng nào thành một dạng “container” gọn nhẹ, độc lập có thể chạy được hầu như trên mọi nền tảng.

Đã đến lúc phần mềm phải lớn nhanh và theo kịp với tốc độ tăng trưởng của công nghệ bán dẫn.

                                                                                                                                (Theo Forbes)