Phân tích định lượng ứng dụng IoT triển khai trên hai nền tảng độc lập AWS IoT và Google Cloud IoT

Để đánh giá các tiêu chí định lượng ứng dụng IoT triển khai trên hai nền tảng độc lập AWS IoT và Google Cloud IoT như hệ thống nhà thông minh mà nhóm đang thực hiện, nhóm nghiên cứu sử dụng công cụ phân tích số liệu chuyên dụng được hỗ trợ bởi mỗi nền tảng đó là Amazon CloudWatch và Google Cloud Monitoring.

Nguồn dữ liệu đầu vào để thực hiện đánh giá là dữ liệu từ các gói tin của luồng dữ liệu cảm biến với thiết kế theo quy trình 4 bước, mục tiêu của nhóm là quá trình đánh giá phải đảm bảo yếu tố khách quan bằng cách triển khai trên một kiến trúc chung nhất từ phần cứng, phần mềm và quy trình dữ liệu.

Bên cạnh đó nghiên cứu cũng bỏ qua các bước có yếu tố chủ quan tác động đến quá trình so sánh đánh giá. Đối với luồng dữ liệu cảm biến với quy trình 4 bước trình bày như ở Hình 1 có thể nhận thấy rằng quá trình (1) là quá trình tương tác trực tiếp giữa thiết bị và đám mây sẽ phụ thuộc vào điều kiện thư viện được sử dụng phía thiết bị, mặc dù nguyên lý phần cứng và thuật toán thiết kế cho cả hai thiết bị là như nhau và cũng đã chủ động tìm hiểu lựa chọn 2 gói thư viện có chung một thư viện cơ sở nhưng không thể tránh khỏi sự sai khác. Vì vậy để đánh giá định lượng của hai nền tảng đảm bảo khách quan, nhóm nghiên cứu sẽ bỏ qua bước (1) và tập trung phân tích đánh giá dựa trên các bước được quản lý hoàn toàn bởi đám mây là (2), (3) và (4) được minh họa ở Hình 1:

Hình 1: Các bước dùng để đánh giá định lượng

Nhóm nghiên cứu thực hiện hai trường hợp đánh giá như sau:

  • Trường hợp 1: sử dụng chương trình đầy đủ tính năng của hệ thống gửi định kỳ dữ liệu cảm biến mỗi 5 giây và gửi tổng cộng 2880 gói trong vòng 4 giờ (chưa tính sai số thời gian trễ ở thiết bị).
    • Trường hợp này được thực hiện với mục đích đánh giá trên tính thực tế của hệ thống đã xây dựng.
  • Trường hợp 2: dựa trên khả năng tối đa của thiết bị (giảm thiểu độ trễ): sử dụng một chương trình riêng giả lập dữ liệu cảm biến và gửi liên tục (không delay) cho đến khi đạt 1.000.000 gói.
    • Trường hợp này được thực hiện với mục đích tận dụng tối đa khả năng của thiết bị trong điều kiện thư viện đang sử dụng.

Sau khi thực hiện gửi dữ liệu theo 2 kịch bản trên, số liệu về thời gian được đánh dấu ở phía thiết bị như hình sau:

Hình 2: Dấu thời gian quá trình thử nghiệm ở phía thiết bị

Phần phân tích các số liệu được gửi lên đám mây AWS từ thiết bị trong giả lập kịch bản ứng dụng IoT Nhà thông minh:

  • Biểu đồ thể hiện dấu thời gian của gói tin đầu tiên lưu trữ thành công vào cơ sở dữ liệu DynamoDB của trường hợp 1 (Hình 3) và trường hợp 2 (Hình 5). Làm cơ sở để tham chiếu với dấu thời gian dưới thiết bị để đánh giá định lượng.
  • Biểu đồ thể hiện dấu thời gian của gói tin cuối cùng lưu trữ thành công vào cơ sở dữ liệu DynamoDB của trường hợp 1 (Hình 4) và trường hợp 2 (Hình 6). Làm cơ sở để tham chiếu với dấu thời gian dưới thiết bị để đánh giá định lượng.
  • Biểu đồ các gói tin được xử lý thành công tính trung bình 1 phút ở các quá trình trên AWS trường hợp 1 (Hình 7) và trường hợp 2 (Hình 8)
  • Biểu đồ tổng số gói tin được xử lý thành công ở tất cả quá trình trên AWS của trường hợp 1 (Hình 9) và trường hợp 2 (Hình 10)

Hình 3: Dấu thời gian gói tin bắt đầu trên AWS (trường hợp 1)

Hình 4: Dấu thời gian gói tin kết thúc trên AWS (trường hợp 1)

Hình 5: Dấu thời gian gói tin bắt đầu trên AWS (trường hợp 2)

Hình 6: Dấu thời gian gói tin kết thúc trên AWS (trường hợp 2)

Hình 7: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên AWS (trường hợp 1)

Hình 8: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên AWS (trường hợp 2)

Hình 9: Biểu đồ tổng số gói tin của các quá trình trên AWS (trường hợp 1)

Hình 10: Biểu đồ tổng số gói tin của các quá trình trên AWS (trường hợp 2)

Phần phân tích các số liệu được gửi lên đám mây GCP từ thiết bị trong giả lập kịch bản ứng dụng IoT Nhà thông minh:
Nhóm nghiên cứu sử dụng công cụ Google Monitoring để phân tích các số liệu được gử lên đám mây GCP từ thiết bị như sau:

  • Biểu đồ thể hiện dấu thời gian của gói tin đầu tiên lưu trữ thành công vào cơ sở dữ liệu DynamoDB của trường hợp 1 (Hình 11) và trường hợp 2 (Hình 13). Làm cơ sở để tham chiếu với dấu thời gian dưới thiết bị để đánh giá định lượng.
  • Biểu đồ thể hiện dấu thời gian của gói tin cuối cùng lưu trữ thành công vào cơ sở dữ liệu DynamoDB của trường hợp 1 (Hình 12) và trường hợp 2 (Hình 14). Làm cơ sở để tham chiếu với dấu thời gian dưới thiết bị để đánh giá định lượng.
  • Biểu đồ các gói tin được xử lý thành công tính trung bình 1 phút ở các quá trình trên AWS trường hợp 1 (Hình 15) và trường hợp 2 (Hình 16)
  • Biểu đồ tổng số gói tin được xử lý thành công ở tất cả quá trình trên AWS của trường hợp 1 (Hình 17) và trường hợp 2 (Hình 18)

Hình 11: Dấu thời gian gói tin bắt đầu trên GCP (trường hợp 1)

Hình 12: Dấu thời gian gói tin kết thúc trên GCP (trường hợp 1)

Hình 13: Dấu thời gian gói tin bắt đầu trên GCP (trường hợp 2)

Hình 14: Dấu thời gian gói tin kết thúc trên GCP (trường hợp 2)

Hình 15: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên GCP (trường hợp 1)


Hình 16: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên GCP (trường hợp 2)

Hình 17: Biểu đồ tổng số gói tin của các quá trình trên GCP (trường hợp1)

Hình 18: Biểu đồ tổng số gói tin của các quá trình trên GCP (trường hợp 2)

Thông lượng được định nghĩa là tổng số gói tin gửi thành công trên một đơn vị thời gian, giá trị thông lượng sẽ cho thấy được khả năng đáp ứng của hai nền tảng điện toán đám mây với lượng gói tin được gửi liên tục từ thiết bị. Vì hai dịch vụ phân tích gói tin CloudWatch và Monitoring đều hỗ trợ độ phân giải thời gian nhỏ nhất là 1 phút nên thông lượng sẽ sử dụng đơn vị là gói/phút.

Thông lượng của quá trình gửi dữ liệu cảm biến được xem là thành công nếu quá gói tin được lưu thành công vào CSDL. Vì vậy thông lượng trên nền tảng đám mây sẽ được tính theo công thức:

Sau khi phân tích và tính toán, kết quả được tổng hợp ở hình sau:

Kết luận:

  • Nền tảng AWS đáp ứng 100% lượng dữ liệu gửi lên từ thiết bị với thông lượng trong cả 2 trường hợp đều bằng với thông lượng lý thuyết từ thiết bị.
  • Nền tảng GCP đáp ứng 100% thông lượng dữ liệu so với thiết bị trong trường hợp 1 nhưng trường hợp 2 thông lượng nhỏ hơn so với lý thuyết từ thiết bị, lý do là vì tổng số gói tin gửi lên từ thiết bị là 1000000 gói nhưng số lượng gói tin sau khi ghi vào CSDL Firestore chỉ còn 999980 (Hình 8) và 999973 tuy nhiên tỉ lệ gói tin bị mất là rất nhỏ.
Tìm hiểu thêm:
Fanpage Cộng đồng Kỹ thuật TAPIT: TAPIT – Learning, Research and Sharing Community

Chuỗi bài viết được thực hiện và chia sẻ bởi LCV.Khải và Các nhóm nghiên cứu tại Cộng đồng Kỹ thuật TAPIT
Chúc các bạn thành công!