Mengoptimalkan performa

Terjemahan SOME/IP dasar dirancang untuk menyediakan solusi yang dapat diupdate untuk berintegrasi dengan layanan AUTOSAR. Tantangan utama untuk broker adalah menerjemahkan pesan dan panggilan RPC yang tidak diketahui pada waktu kompilasi. Untuk mengatasi hal ini, update runtime mengasumsikan penambahan atau update dinamis layanan SDV, mirip dengan cara jenis unit baru diperkenalkan.

Solusi untuk terjemahan dinamis ini didasarkan pada informasi jenis runtime (RTTI). Broker menggunakan konfigurasi dari semua paket layanan yang diinstal dan melakukan terjemahan berbasis refleksi menggunakan skema data dari konfigurasi tersebut.

Meskipun terjemahan berbasis RTTI menawarkan fleksibilitas, terjemahan ini secara inheren lebih lambat daripada metode yang telah dikompilasi. Untuk mengoptimalkan jalur data yang sangat padat, gunakan teknik yang melewati terjemahan.

Untuk mendukung penggunaan pesan yang besar dan sering, SDV memungkinkan Anda melewati terjemahan dan meneruskan byte berformat SOME/IP ke paket layanan konsumen.

Paket layanan menangani payload berformat SOME/IP, yang dapat menggunakan payload atau menerjemahkan payload ke protobuf.

Tentukan message_translation_mode: INTERPRET_AS_BYTES untuk peristiwa dalam file pemetaan SOME/IP untuk melewati terjemahan. Lihat contoh di samples/some_ip/catalog/integration_test/byte_forward_someip.vsidl.

Kompromi metode terjemahan

Saat memilih metode terjemahan, pertimbangkan kompromi berikut:

  • Interaksi sistem: Layanan SDV lainnya tidak dapat menafsirkan byte yang diteruskan dalam format SOME/IP tanpa mengetahui detail format mentah. Misalnya, Telemetri SDV tidak dapat memproses setiap kolom pesan tersebut.

  • Upaya tambahan: Menerjemahkan payload mentah dalam format SOME/IP memerlukan upaya tambahan dari developer paket layanan.

Generator library

SDV menyediakan generator otomatis untuk menerjemahkan format SOME/IP. Generator ini membuat library berdasarkan definisi dan pemetaan pesan yang tersedia untuk terjemahan langsung tanpa refleksi. Paket layanan yang menggunakan byte SOME/IP yang diteruskan dapat menggunakan library yang dibuat.

Rekomendasi: Gunakan generator hanya jika OEM Anda mengidentifikasi peristiwa penting performa yang tidak dapat diterjemahkan dalam persyaratan performa project Anda. Dalam kasus tersebut, OEM Anda seharusnya sudah memiliki definisi protobuf dan pemetaan SOME/IP yang digunakan untuk terjemahan berbasis RTTI. Konfigurasi yang sama ini dapat berfungsi sebagai input untuk generator. Untuk mengetahui detail selengkapnya, lihat file README.md di direktori core_services/tools/someip_translation_generator/.