Terakreditasi Nomor  204/E/KPT/2022  | Vol. 4, No. 4, Oktober (2023),  pp. 793-799
Pemutakhiran Sistem Virtualisasi  Penuh ( Hypervisor ) Dalam Segi Perfoma Dengan Metode GPU Passtrough
Nanda Maulana 1 , Jeffri Alfa Razaq 2
1,2 Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Stikubank, Indonesia E-mail: nandamaulana2506@gmail.com 1 , mrjf@edu.unisbank.ac.id 2

## Abstract
This  research  aims  to  update  the  full  virtualization  system  (hypervisor)  by  utilizing GPU passthrough method to enhance system performance. Hypervisor is a software that enables the use of multiple virtual machines  on a single physical system. Despite being a popular  solution  in  virtualization  environments,  challenges  related  to  performance  still exist. In this study, the GPU passthrough method is employed to provide direct access to the  graphics  card  for  virtual  machines,  which  can  significantly  improve  system performance. The methodology used in this research includes an analysis of virtualization system  performance  when  utilizing  GPU  passthrough.  Several  tests  and  performance measurements  are  conducted  to  compare  the  system's  performance  with  and  without  the GPU  passthrough  method.  The  results  of  this  research  are  expected  to  provide  a  better understanding of the utilization of GPU passthrough method in full virtualization systems and its impact on performance.  Furthermore, this study can also offer practical guidance to  virtualization  system  developers  in  upgrading  their  systems  with  more  efficient methods. In this context, the GPU passthrough method allows virtual machines to directly utilize graphic resources  from the physical graphics card, meaning virtual machines can enjoy  higher  graphical  performance  compared  to  conventional  approaches.  Using  this method  provides  opportunities  to  enhance  visual  quality,  speed,  and  responsiveness  of applications  run  in  virtual  environments.  Overall,  this  research  holds  the  potential  to address  performance  constraints  associated  with  hypervisors  and  provide  a  significant advancement  in  virtualization  technology.  By  gaining  a  deeper  understanding  of  the implementation of GPU  passthrough, virtualization system developers can optimize their system's performance and deliver a better experience for virtual machine users. It is also hoped that this research will serve as a foundation for further advancements in the field of virtualization  and  contribute  positively  to  the  development  of  future  computing technologies.
Keywords: full virtualization system, hypervisor, GPU passtrough, performance

## Abstrak
Penelitian  ini  bertujuan  untuk  melakukan  pembaruan  terhadap  sistem  virtualisasi penuh (hypervisor) dengan memanfaatkan metode GPU passthrough guna meningkatkan performa  sistem.  Sebagai  informasi,  hypervisor  adalah  perangkat  lunak  yang memungkinkan  penggunaan  beberapa  mesin  virtual  dalam  satu  sistem  fisik.  Walaupun hypervisor  telah  menjadi  solusi  yang  populer  dalam  lingkungan  virtualisasi,  tantangan terkait  dengan  performa  masih  menjadi  perhatian  utama.  Dalam  penelitian  ini,  metode GPU passthrough diterapkan dengan tujuan  memberikan akses langsung ke kartu grafis pada  mesin  virtual,  yang  berpotensi  meningkatkan  kinerja  sistem  secara  signifikan. Metode  ini  melibatkan  analisis  mendalam  terhadap  performa  sistem  virtualisasi  ketika menggunakan  GPU  passthrough.  Melalui  serangkaian  pengujian  dan  pengukuran performa,  peneliti  membandingkan  kinerja  sistem  saat  menggunakan  metode  GPU passthrough  dengan  saat  tidak  menggunakannya.  Harapannya,  hasil  dari  penelitian ini akan  memberikan  pemahaman  yang  lebih  mendalam  mengenai  penerapan  metode  GPU

## KESATRIA: Jurnal Penerapan  Sistem Informasi (Komputer  & Manajemen)
Terakreditasi Nomor  204/E/KPT/2022  | Vol. 4, No. 4, Oktober (2023),  pp. 793-799
passthrough  dalam  sistem  virtualisasi  penuh  dan  dampaknya  terhadap  performa. Penelitian  ini  diharapkan  dapat  memberikan  panduan  praktis  bagi  para  pengembang sistem  virtualisasi  untuk  memutakhirkan  sistem  mereka  dengan  menggunakan  metode yang  lebih  efisien.  Dzlam  konteks  ini,  metode  GPU  passthrough  memungkinkan  mesin virtual  untuk  memanfaatkan  sumber  daya  grafis  secara  langsung  dari  kartu  grafis  fisik, yang  berarti  mesin  virtual  dapat  menikmati  performa  grafis  yang  lebih  tinggi  daripada menggunakan  pendekatan  konvensional.  Penggunaan  metode  ini  memberikan  peluang untuk meningkatkan kualitas visual, kecepatan, dan responsifitas aplikasi yang dijalankan dalam  lingkungan  virtual.  Secara  keseluruhan,  penelitian  ini  memiliki  potensi  untuk mengatasi  kendala  performa  yang  terkait  dengan  hypervisor  dan  memberikan  langkah maju  yang  signifikan  dalam  pengembangan  teknologi  virtualisasi.  Dengan  memahami lebih  dalam  mengenai  pemanfaatan  metode  GPU  passthrough  ini,  para  pengembang sistem  virtualisasi  akan  dapat  mengoptimalkan  kinerja  sistem  mereka  dan  memberikan pengalaman yang lebih baik bagi pengguna mesin virtual. Diharapkan pula penelitian ini dapat menjadi landasan untuk pengembangan lebih lanjut dalam bidang virtualisasi dan memberikan kontribusi positif dalam perkembangan teknologi komputasi masa depan.
Kata Kunci: sistem virtualisasi penuh, hypervisor, GPU passtrough, performa.

## 1. Pendahuluan
Dalam  pengembangan  teknologi  yang  dilakukan  oleh  suatu  organisasi  atau perusahaan,  pasti  akan  menimbulkan  suatu  masalah  dalam  pengelolaan  system  jaringan dan  sumber  daya  yang  terbatas.  System  teknis  sangat  dibatasi  oleh  ruang  yang  tersedia untuk  menyebarkan  server.  Menyediakan  penyimpanan  dan  meningkatkan  kemampuan perangkat  keras  memerlukan  biaya  tinggi  untuk  pengadaan  tersebut.  Selain  itu  server yang  menjadi  dasar  perangkat  keras  tidak  dapat  dimanfaatkan  secara  maksimal  [1]. Virtualisasi  adalah  salah  satu  kegiatan  yang  dapat  dilakukan  oleh  komputer  yang  mana sangat  berperan  untuk  era  saat  ini.  Tidak  hanya  di  bidang  hardware  maupun  software namun  pada  bidang  virtualisasi  sendiri  juga  mengalami  perkembangan  yang  cukup signifikan,  walaupun  sistem  virutalisasi  sendiri  kurang  diminati  di  Indonesia.  Teknologi virtualisasi  adalah  sebuah  teknologi  dimana  komputer  bertindak  seakan  menjalankan komputer  baru  secara  virtual.  Dimana  komputer  baru  yang  ingin  dijalankan  tersebut normalnya  tidak  jauh  berbeda  dengan  komputer  asal  dimana  virtualisasi  tersebut dijalankan  karena berasal  dari induk perangkat  keras yang  sama.
Virtulisasi  menggunakan  sumber  daya  dari  perangkat  keras  dimana  tiap  tiap  inti  atau core  dalam  sebuah  processor  dapat  digunakan  untuk  virtualisasi  tambahan,  namun sangatlah bergantung dengan sistem operasi yang digunakan dan sejauh mana virtualisas i tersebut  dapat  digunakan.  Cara  kerja  virtualisasi  dibagi  menjadi  dua,  yaitu  emu lasi  dan simulasi.  Cara  kerja  virtualisasi  yang  pertama  emulasi  adalah  konsep  yang  mengijinkan sebuah  lingkungan  untuk  berakting  sebagai  sebuah  lingkungan  yang  lain.  Ini  dapat digambarkan  sebagai  impersonasi  yang  canggih.  Lingkungan  adalah  platform  untuk eksekusi,  sistem  operasi  atau  arsitektur  perangkat  keras.  Instruksi  di  terjemahkan  dari lingkungan eksekusi ke  instruksi yang sebenarnya, yaitu yang dipahami oleh  lingkungan yang  sebenarnya.  Sedangkan  cara  kerja  kedua  Emulasi  digunakan  untuk  menjalankan tiruan  lingkungan,  pengembangan  sistem  operasi  dan  pengujian  perangkat  lunak. Lingkungan  yang  diemulasi  menyandang  beban  performa  yang  besar  karena  tambahan beban  yaitu  pernerjemahan  instruksi,  bila  dibandingkan  dengan  teknik  virtualisasi. Sedangkan  cara  kerja  kedua  Simulasi  adalah  konsep  dimana  lingkungan  meniru lingkungan yang lain. Peniruan  ini menerima  input yang sudah didefinisikan sebelumnya dan  menyediakan  respon  yang  sudah  didefinisikan  sebelumnya.  Hal  ini  merupakan  cara termudah dan konsep  paling sederhana untuk diimplementasikan [2]. Lingkungan adalah platform  tempat  eksekusi,  sistem  operasi  dan  arsitektur  perangkat  keras.  Simulator

## KESATRIA: Jurnal Penerapan  Sistem Informasi (Komputer  & Manajemen)
Terakreditasi Nomor  204/E/KPT/2022  | Vol. 4, No. 4, Oktober (2023),  pp. 793-799
digunakan  secara  berbeda  dibandingkan  dengan  emulasi  atau  virtualisasi.  Mereka  pada dasarnya  digunakan  di  dalam  perangkat  keras,  desain  dan  prototipe  mikrocip.  Dengan melakukan  hal  ini  pengujian  dapat  dilakukan  pada  perangkat  keras  dan  mikrocip  yan g akan  dibuat.  Hal  ini  mengurangi  biaya  dan  resiko  yang  berhubungan  dengan  kesalahan yang dibuat  pada perangkat  keras dan chip sebelum  meraka di buat secara masal [2]
Namun  banyak  permasalahan  baru  yang  timbul  disebabkan  oleh  kegiatan  virtualisasi salah  satunya  adalah  berupa  peforma  yang  sangat  menurun  drastis  dibanding  komputer induk  yang  mana  disebabkan  oleh  resource  yang  sebagia n  sudah  terpakai  oleh  komputer induk  sehingga  performa  yang  di  dapatkan  berkurang.  Disisi  lain  banyak  pengemban g aplikasi  virtualisasi  kurang  mengoptimalkan  fiturnya  untuk  penggunaan  kartu  grafis, dimana  kartu  grafis  hanya  berfungsi  sebagai  penampil  dan  tidak  dapat  digunakan peformanya secara penuh. Dengan metode GPU Passtrough memiliki fitur tambahan yan g berbeda dengan virtualisasi pada umumnya. Vritualisasi pada umumnya akan mendeteks i perangkat  keras  induk  serta  akan  memberitahu  sistem  operasi  yang  ada  di  virtualisas i bahwa  mereka  sedang  menjalankan  sistem  diatas  virtualisasi  yang  mana  untuk  sebagian orang tidaklah  ingin  diketahui  jika mereka dalam virtualisasi.
Beberapa  tekhnik  mitigasi  yang  dapat  digunakan  untuk  penurunan  performa  dalam virtualisasi.  Karena  meningkatnya  kebutuhan  akan  performa  tinggi  dalam  komputas i munculah  salah  satu  cara  yang  cukup  populer  yaitu  dengan  Virtual  Machine  (VM). Dengan  virtualisasi  yang  dapat  menggunakan  kartu  grafis  secara  optimal  menggunakan metode  GPU  Passtrough  akan  mencipatan  tidak  adanya  penurunan  performa  dalam virtualisasi.  Tapi  dikarenakan  hanya  CPU  Usage  dan  uptime  saja  yang  terlihat  dalam beberapa virtualisasi, dibutuhkan virtualisasi yang dapat memantau kehandalan dari kartu grafis  yang  digunakan.  Metode  GPU  Passtrough  menawarkan  sistem  virtualisasi  yan g dapat  memantau  performa  kartu  grafis  secara  real  time  sehingga  ke  khawatiran  akan terjadinya  penurunan performa karena penggunaan  jangka  panjang dapat di mitigasi  [3].
Metode  GPU  Passtrough  merupakan  suatu  metode  dimana  pengguna  dapat  langsung menggunakan  kemampuan  kartu  grafis  yang  dimiliki  secara  optimal.  Berbeda  dengan virtualisasi secara umumnya. Penggunaan virtualisasi untuk saat  ini sangatlah  luas, maka permasalahan  performa  merupakan  masalah  baru  dikarenakan  virtualisasi  tidak  hanya sekedar  menjalankan  sistem  operasi,  namun  agar  supaya  sistem  operasi  dapat  dijalankan secara  optimal  dan  juga  secara  aman  untuk  melindungi  privasi  penggguna virtualisasi.Maka  perlu  dilakukan  penelitian  bagaimana  memutakhirkan  dengan  metode GPU  Passtrough  dalam  segi  performa.  berdasarkan  latar  belakan  tersebut  diatas  maka dibuatlah  sebuah  penelitian  dengan  judul  Pemutakhiran  Sistem  Virtualisasi  Penuh (Hypervisor)  Dalam  Segi  Performa Dengan Menggunakan  Metode GPU Passtrough.

## 2. Metodologi Penelitian

## 2.1. Observasi  dan Pengumpulan  Bahan
Pengumpulan  metode  serta  pemahaman  persepsi  yang  digunakan  untuk  metode  ini dilakukanlah  observasi  dan  pengumpulan  bahan.  Observasi  yang  dilakukan  adalah didalam forum forum yang berhubungan dengan metode yang  digunakan, karena metode ini  termasuk  baru  informasi  yang  didapatkan  cukup  sedikit  dan  perlu  dilakukan  untuk pembuatan  lab  virtual  di  komputer  induk.  Beberapa  bahan  yang  digunakan  untuk pembuatan lab virtual  di komputer induk.

## 2.2. Alat Penelitian
Alat  yang  digunakan  untuk  mendukung  Implementasi  GPU Passtrough pada virtualisasi  adalah  PC  dengan  detail processor  Intel  I5-10400F  CPU  @  2.90GHz  (12 CPUs) VGA Nvidia RTX 2060 6GB Ram 16 GB Memory Harddisk 1000GB dan SSD 256 GB 3 Buah Monitor 24 Inch.
Terakreditasi Nomor  204/E/KPT/2022  | Vol. 4, No. 4, Oktober (2023),  pp. 793-799

## 2.3. Metode Pengembangan  Sistem
Pada  pengembangan  sistem  yang  dilakukan,  peneliti  menggunakan  model pengembangan  waterfall.  Dengan tahap-tahap sebagai  berikut  :
a) Analisa
Pada  tahap  ini  penulis  menganalisa  kebutuhan  bahan-bahan  untuk  digunakan  dalam penelitian.  Meliputi  bahan bahan perangkat  lunak maupun perangkat keras.
b) Desain dan Konfigurasi
Setelah  memenuhi  bahan-bahan  dasar,  tahapan  selanjutnya  adalah  mengkonfigurasi ulang  untuk  bahan-bahan  terutama  dibagian  perangkat  keras  serta  perangkat  lunak yang mana butuh desain dan konfigurasi  yang  disesuaikan  untuk kebutuhan.
c) Pengujian
Tahap pengujian dilakukan setelah persiapan dan konfigurasi selesai dilakukan. Pada tahap ini  virtualisasi  sudah dapat dijalankan  dan dapat dilakukan  pengujian.
d) Pemeliharaan
Setelah  pengujian  berhasil  dilakukan,  tahap  selanjutnya  adalah  tahap  pemeliharaan yang mana dibutuhkan dilakukan backup sehingga saat terjadi error dapat di lakukan perbaikan.
Gambar  1. Metode Waterfall

## 3. Hasil Dan Pembahasan
Pada  bagian  ini  dilakukan  pembahasan  implementasi  GPU passtrough pada virtualisasi  yang  mana  telah  di  mutakhirkan  sehingga  memiliki  perbedaan  yan g signifikan.

## 3.1. Performa
Pada  pengujian  performa  dalam  virtualisasi  yang  telah  dimutakhirkan  dengan menggunakan  metode  GPU passtrough salah  satunya  adalah  dengan  ujicoba rendering atau  bermain game .  Hal  tersebut  tidak  dapat  dilakukan  didalam  virtualisasi  biasa  yan g belum  dimutakhirkan  dikarenakan  GPU  beserta hardware tidak  terkoneksi  langsun g kearah  mesin  virtualisasi  sehingga  performa  yang  d idapatkan  sangat  berbeda  signifikan. Dalam  pengujian  performa  ini  dilakukan  menggunakan game  Apex  Legends yang  mana membutuhkan  kemampuan  rendering  yang  cukup  berat.  Tolak  ukur  dalam  pengujian  in i adalah  jumlah  FPS  ( frame  per  second )  yang  didapat  maupun  secara  rata  rata  selama bermain. Selain FPS penggunaan pemanfaatan GPU juga dipantau guna seberapa optima l performa yang berjalan  pada virtualisasi  dengan metode GPU passtrough .

## 3.2. Pemutakhiran  Virtualisasi
Pada  Virtualiasasi  umum  GPU  tidak  dapat  terkoneks i  maupun  terdeteksi  dikarenakan terbatasnya  akses  kearah  kernel.  Hal  tersebut  membuat  performa  virtualisasi  umum sangatlah  buruk  dan  terbatas  dikarenakan  kinerja  terfokus  hanya  pada  CPU  sehingga beban  menjadi  lebih  berat.  Dengan  tidak  dapatnya  virtualisasi  terhubung  langsun g terhadap  GPU  membuat  virtualisasi  umum  tidak  dapat  digunakan  untuk  melakukan

## KESATRIA: Jurnal Penerapan  Sistem Informasi (Komputer  & Manajemen)
kegiatan  bermain game maupun  rendering.Hal  tersebut  dikarenakan  mesin  virtualisas i tidak  dapat  mengakses  langsung  kearah  kernel  yang  mana  bagian  tersebut  berhubungan langsung  dengan hardware .
Gambar  2. Virtualisasi  umum tidak mendeteksi  GPU
Sedangkan pada virtualisasi yang telah dimutakhirkan dengan metode GPU passtrough performa  akan  menjadi  lebih  handal  dan  optimal.  Dikarenakan  mesin  virtualisasi  dapat langsung  mengakses  kernel  sehingga  mesin  virtualisasi  dapat  langsung  menggunakan hardware  seakan  akan  seperti  sistem  operasi  pada  umumnya,  sehingga  kualitas  dan performa tidak mengalami  pengurangan  yang berarti.
Gambar  3. Virtualisasi  dengan  GPU Passtrough

## 3.3. Pengujian Performa
Dengan  menggunakan  metode GPU  Passthrough ,  pengguna  dapat  secara  optimal memanfaatkan GPU untuk menjalankan berbagai kegiatan di dalam komputer. Dalam hal performa, hasil yang diperoleh hampir tidak berbeda dengan menjalankan komputer tanpa menggunakan  mesin  virtual  (VM).  Sebagai  contoh,  ketika  memainkan game  Apex Legends dengan konfigurasi maksimal, pada Task Manager akan terlihat bahwa pengguna sedang  menggunakan  VM.  Pengaturan  grafis  pada  penelitian  ini  dibantu  oleh Nvidia

## KESATRIA: Jurnal Penerapan  Sistem Informasi (Komputer  & Manajemen)
Terakreditasi Nomor  204/E/KPT/2022  | Vol. 4, No. 4, Oktober (2023),  pp. 793-799
GeForce  Experience ,  dan  dalam  uji  coba  grafis,  pengaturan  tersebut  diatur  untuk mencapai kinerja  grafis yang optimal dengan semua aspek diatur pada tingkat high sesuai rekomendasi.
Gambar  4. Setting  grafis  optimal  (high)
Pada uji coba, didapatkan FPS maksimal sebesar 130 FPS, dengan rata-rata sekitar 113 FPS.  Dalam  situasi  ini,  GPU  dapat  dimanfaatkan  hingga  mencapai  96  persen  dar i kapasitasnya,  yang  menunjukkan  performa  yang  sangat  optimal  dan  serupa  dengan penggunaan langsung GPU di dalam sistem operasi utama. Keberhasilan ini dapat dicapa i karena  adanya  akses  langsung  ke  kernel  dari  mesin  virtualisasi,  dan  mesin  virtualisas i dapat mengenali  GPU dengan  menggunakan  ROM yang disediakan.
Gambar  5. Pengujian performa
Tabel 1 . perbandingan  virtualisasi Virtualisasi dengan GPU Passtrough Virtualisasi Umum VM dapat mengakses berbagai macam Bahasa pemrograman secara langsung di berbagai platform. Virtualisasi membutuhkan sebuah penerjemah, dan itu sangat bergantung oleh fitur yang disediakan oleh pengembang  emulator. Didalam virtualisasi, hardware dapat diakses secara langsung Didalam emulasi kita membutuhkan sebuah software yang berjalan diatas sistem operasi untuk menjalankan sebuah emulasi.

## KESATRIA: Jurnal Penerapan  Sistem Informasi (Komputer  & Manajemen)
Terakreditasi Nomor  204/E/KPT/2022  | Vol. 4, No. 4, Oktober (2023),  pp. 793-799
Virtualisasi dengan GPU Passtrough Virtualisasi Umum VM lebih memakan biaya  dikarenakan kita harus menyediakan hardware yang handal. VM memiliki fitur yang dapat berjalan diberbagai macam hardware dan dapat disesuaikan. VM lebih cepat dan handal  didalam pengoperasiannya. Virtualisasi ini berjalan lebih lambat Virtualisasi dapat melakukan backup untuk Sistem Operasi yang sedang berjalan. Sistem backup dalam Virtualisasi ini sangat bergantung oleh penyedia aplikasi, sehingga tidak dapat  diandalkan  karena tidak semua emulator memiliki fitur backup.

## 3.4. Fitur  Tambahan
Virtualisasi penuh dengan metode GPU Passthrough memiliki beberapa fitur tambahan yang  menarik.  Salah  satunya  adalah  pengguna  dapat  menggunakan  virtualisasi  seolah - olah  sedang  menggunakan  sebuah  komputer  baru.  Pada  umumnya,  proses  ini  sulit dilakukan  karena  Sistem  Operasi  biasanya  secara  langsung  mengidentifikasi  perangkat keras melalui kernel. Sistem Operasi juga dapat mendeteksi serial number dari  hardware yang  digunakan.  Namun,  pada  virtualisasi  ini,  pengguna  memiliki  kemampuan  untuk mengubah  serial  number  dari  perangkat  keras  yang  digunakan  sehingga  terlihat  seolah - olah  menggunakan  sebuah  komputer  baru.  Keuntungan  dari  fitur  ini  adalah  ketika komputer terdeteksi hardware ban oleh aplikasi game atau sebagai perangkat yang telah digunakan  dalam aplikasi  lainnya.

## 4. Kesimpulan
Berdasarkan  hasil  penelitian  tentang  Pemutakhiran  Sistem  Virtualisasi  Penuh (Hypervisor) dalam Segi Performa dengan Metode GPU Passthrough, penulis melakukan pengumpulan  jurnal  dan  paper  serta  melakukan  uji  coba.  Prosesnya  dimulai  dengan pemilihan  dan  instalasi  sistem  operasi,  diikuti  oleh  instalasi  mesin  virtualisasi,  serta penerapan metode GPU Passthrough dan pengujian performa. Dalam pengujian performa, dilakukan  perbandingan  antara  virtualisasi  biasa  dan  virtualisasi  dengan  menggunakan metode GPU Passthrough. Hasilnya menunjukkan peningkatan performa yang signifikan, karena  dengan  pemutakhiran  yang  dilakukan,  virtualisasi  biasa  tidak  dapat  mengakses GPU  secara  langsung,  sementara  virtualisasi  dengan  metode  GPU  Passthrough  dapat menggunakan  GPU secara optimal,  sehingga  proses virtualisasi  menjadi  lebih  mutakhir.

## Daftar Pustaka
[1] H  Harfadzi,  D  Irwan  “Perancangan  dan  Implementasi  Virtualisasi  Server Menggunakan  Proxmox  VE 3.4” 2016.
[2] Rusydi  Umar “Review  Tentang Virtualisasi”   2013.
[3] Jihun Kang, Heonchang Yu “Mitigation technique for performance degradation of virtual  machine  owing  to GPU pass-through  in fog computing”  2018.
[4] Strobl, Marius (2013). “Virtualization for Reliable Embedded Systems”. Munich: GRIN Publishing  GmbH. pp. 5–6. ISBN 978-3-656-49071-5.
[5] Simon  M.C.  Cheng  (31  October  2014).  “Proxmox  High  Availability”.  Packt Publishing.  Ltd. pp. 41–. ISBN 978-1-78398-0