Peningkatan OKEx Lightning 2.0

Sistem perdagangan generasi seterusnya yang memberikan prestasi yang lebih pantas

I. Pembangunan Sistem Perdagangan Elektronik

Keperluan yang semakin meningkat pada teknologi teras perdagangan aset mencerminkan pertumbuhan pesat industri kewangan global pada separuh pertama abad ke-20. Pada tahun 50-an, pembeli dan penjual berdagang secara rundingan, dan harga permintaan dicatat secara manual di atas kertas. Dengan latar belakang pelbagai jenis sekuriti dan jumlah dagangan yang meningkat, cara menangani sebut harga secara beransur-ansur menimbulkan krisis kertas kerja pada tahun 60-an-70an kerana kecekapan dan kos yang tinggi. Bursa Saham New York (NYSE) tidak mempunyai pilihan selain menangguhkan perdagangan setiap hari Rabu dan memotong jam pada hari perdagangan lain untuk membatasi aktivitinya. Dengan kemampuan mereka yang tak tertandingi untuk memproses sejumlah besar transaksi secara serentak, komputer mula beroperasi. Proses tanpa kertas, atau revolusi elektronik, merupakan titik perubahan penting dalam sejarah kewangan global. Transaksi telah berpindah ke platform perdagangan elektronik, menawarkan operasi yang lebih cepat dan lebih murah tanpa masa atau halangan geografi.

Krisis Tanpa Kertas AS pada tahun 70-an

Sistem perdagangan elektronik telah muncul di seluruh dunia, termasuk State Street Currenex, HKEX’s INET, ICAP’s EBS Spot Ai dan LIFFE’s LIFE CONNECT. Oleh kerana aset crypto hanya wujud dalam bentuk elektronik, aset tersebut secara semula jadi berkaitan dengan platform perdagangan elektronik, tetapi syarat untuk perdagangan crypto dan sistem perdagangan tradisional sedikit berbeza. Secara keseluruhan, sistem perdagangan crypto harus mempunyai ciri-ciri berikut:

a. Latensi rendah dan throughput tinggi

Latensi dan throughput adalah petunjuk utama untuk mengukur prestasi sistem perdagangan. Objektif utama kami adalah untuk mencapai latensi rendah dan throughput tinggi ketika merancang sistem perdagangan.

Dalam konteks perdagangan, latency merujuk pada selang waktu antara permintaan yang diterima oleh dan respons yang dibuat oleh sistem perdagangan. Kenaikan jumlah perdagangan frekuensi tinggi, sebahagian besarnya, mendorong permintaan pasaran untuk kependaman rendah. Untuk membolehkan peniaga frekuensi tinggi melakukan perdagangan silang di bursa kripto, sistem perdagangan mereka harus dilengkapi dengan mesin perdagangan latensi rendah untuk menangani pesanan dengan cepat dan mencerminkan realiti pasaran di pasaran kripto yang sangat kompetitif.

Throughput adalah jumlah permintaan atau peristiwa yang dapat diproses oleh sistem perdagangan dalam beberapa saat. Throughput secara langsung dapat mempengaruhi kecekapan perdagangan, sehingga sistem perdagangan crypto harus dirancang untuk menahan senario yang ekstrem dan menggunakan unit pemprosesan.

b. Kekalkan dan skalabiliti

Berbanding dengan aset tradisional, harga kripto lebih mudah berubah dan terdedah kepada kejutan global. Oleh kerana sistem perdagangan kripto terus menangani permintaan 24/7, mereka dirancang untuk menjalani penyelenggaraan luar talian sesedikit mungkin. Di samping itu, jelas bahawa sektor crypto mengalami transformasi yang cepat kerana perkhidmatan derivatif digital yang berbeza-beza seperti margin, perdagangan niaga hadapan dan opsyen telah dilancarkan hanya dalam satu dekad sejak ia meningkat. Perkembangan perkhidmatan inovatif telah meningkatkan syarat untuk mengekalkan dan meningkatkan skal sistem perdagangan crypto.

II. OKEx Lightning System 2.0: Prestasi Lightspeed

Sebagai salah satu pertukaran aset digital global teratas, OKEx melayani puluhan ribu pengguna dengan produk aset dan derivatif crypto yang komprehensif, dengan jumlah dagangan harian purata berbilion USD. Sebagai peneraju industri, kami menetapkan standard yang sangat tinggi untuk sistem perdagangan kami. Sebagai tambahan kepada peningkatan sistem perdagangan kami pada bulan Ogos 2018, kami telah menerapkan sistem Lightning 2.0 generasi akan datang kami dengan prestasi terkemuka di dunia setelah beberapa peningkatan. Ciri utama peningkatan Lightning 2.0 adalah seperti berikut:

Rangka kerja peningkatan Lightning 2.0

1. Menghafal

Pada peringkat awal pengembangan sistem perdagangan crypto, platform biasanya mengambil perincian pesanan tawaran rakan niaga dengan memadankannya secara automatik dalam pangkalan data sehingga pesanan tamat atau diisi. Sistem kemudian mengira jumlah yang diperdagangkan dan menghasilkan entri transaksi selepas pemadanan. Kaedah ini dapat memastikan konsistensi data tetapi gagal menangani banyak permintaan pasaran pada masa yang sama kerana masa pemprosesan yang panjang.

Sistem perdagangan generasi seterusnya kami, Lightning 2.0, telah mengadopsi teknik pencocokan dalam memori terkini, di mana sistem kami menyimpan data pesanan dalam memori dalam mesin padanan pesanan semasa pemadanan automatik, dan akses yang kurang kerap ke pangkalan data semasa perdagangan. Semua hasil pencocokan dan data perantaraan juga disimpan dalam memori, yang dapat mengurangi jumlah input dan output yang terlibat, sehingga meningkatkan kecepatan pencocokan pesanan secara signifikan.

Walaupun penghafalan dapat mengurangkan kependaman perdagangan, sistem perdagangan kripto mungkin berisiko kehilangan data kerana penangguhan bekalan kuasa. Untuk menyelesaikan masalah ini, kami menggunakan pendekatan sumber untuk mempertahankan keadaan entiti perniagaan dan menyimpan data dengan cara yang berpusat pada peristiwa. Sistem perdagangan secara tradisional menyimpan data keadaan semasa dalam pangkalan data, tetapi acara disimpan untuk mencerminkan perubahan keadaan dalam pendekatan sumber peristiwa, yang memungkinkan sistem untuk membangun kembali keadaan. Sistem secara berkala mengambil gambar negara, dan menyusun semula peristiwa setelah gambar dibuat ketika membina semula diperlukan.

Lebih-lebih lagi, unit pemprosesan pusat moden (CPU) mengakses data dalam memori pada kelajuan yang lebih perlahan daripada yang dijangkakan. Menurut a ujian, hanya memerlukan 1/7 masa untuk mengambil data dari L2 Cache CPU berbanding dengan teknik pencocokan dalam memori. Untuk mengurangkan lagi latensi, penting untuk memahami bagaimana memanfaatkan cache CPU dengan baik. Unit pemindahan data adalah baris cache, yang biasanya 64 bait. Walaupun CPU memuatkan data dalam memori, ia memindahkan data bersebelahan dalam 64 byte ke dalam cache. Oleh itu, kami telah membuat penambahbaikan berikut pada sistem Lightning kami dengan mengawal pengedaran data dalam memori:

  • Kawal sebaran dalam memori dengan mengemas data yang diperlukan untuk diproses secara berterusan. Setelah semua data disatukan, hanya diperlukan pemuatan pertama dari penyimpanan dalam memori ke cache semasa membaca banyak potongan data. Selepas itu, bacaan seterusnya dapat memukul cache untuk meningkatkan prestasi sistem.
  • Kawal pengedaran dalam memori dengan meletakkan data yang mungkin berubah pada kadar yang lebih tinggi (seperti data di kaunter) pada baris cache yang berbeza. Apabila beberapa CPU mengubah bait yang berbeza dalam satu baris cache pada masa yang sama, perkongsian palsu berlaku. Sebagai contoh, setelah CPU1 mengubah datanya sendiri, CPU2 harus memuat ulang seluruh baris cache ketika membaca datanya sendiri lagi kerana data di baris cache telah diperbarui. Akibatnya, kedua-dua CPU perlu saling menunggu. Itulah sebabnya kami menyimpan data dalam baris cache yang berlainan dengan menggunakan padding untuk mengelakkan masalah ini.

2. Terbitkan –langgan model dan protokol binari

Dua jenis model pesanan utama adalah seperti berikut:

Perbandingan Lightning 1.0 dan Lightning 2.0

Dalam model penerbitan-langganan, barisan digunakan untuk pesanan. Apabila perkhidmatan perlu meminta perkhidmatan lain, informasi mengenai permintaan tersebut dimasukkan ke dalam pesan dan ditempatkan di barisan. Perkhidmatan lain akan melanggan barisan mesej untuk mendapatkan maklumat dan memproses permintaan.

Dalam model permintaan-respons, pelanggan dan pelayan digabungkan dengan kuat. Mereka mesti tersedia pada masa yang sama. Pelanggan hanya boleh menunggu sehingga pelayan selesai memproses permintaan, yang menurunkan kelajuan pemprosesannya. Namun, dalam model penerbitan-langganan, pemprosesan permintaan selesai setelah penerbit meletakkan pesan ke dalam barisan. Penerbit dipisahkan dari pelanggan. Sebaliknya, jika perkhidmatan pelanggan terganggu, mesej tersebut berterusan dalam barisan dan pemprosesan diteruskan apabila perkhidmatannya disambung semula tanpa perlu penerbit menghantar semula mesej, sehingga meningkatkan kebolehpercayaan komunikasi sistem. Oleh itu, corak ini diguna pakai dalam hampir semua senario untuk meningkatkan ketersediaan dan throughput sistem Lightning 2.0 kami.

Setelah kami memilih corak respons-permintaan, langkah seterusnya adalah memilih format pertukaran maklumat yang sesuai. Inti komunikasi adalah untuk menukar mesej, biasanya termasuk data. Format pertukaran yang berbeza mempunyai kelajuan penghantaran dan tahap evolvabilitas komunikasi yang berbeza, serta menggunakan bahasa pengaturcaraan yang berbeza. Oleh itu, ini adalah pertimbangan utama dalam merancang sistem perdagangan.

Dua jenis format mesej biasa: berasaskan teks & binari

Kekurangan protokol komunikasi berasaskan teks jelas. Ini dengan mudah menghasilkan kesilapan dan memakan lebar jalur apabila penghuraian fail teks besar berlaku, yang tidak berfungsi dengan baik untuk sistem perdagangan yang sangat sensitif terhadap masalah kecekapan dan prestasi. Protokol binari, bagaimanapun, dapat digunakan dengan mudah untuk menghuraikan, sehingga menghasilkan prestasi yang lebih baik. Oleh itu, kami telah menggunakan protokol binari dalam sistem Lightning 2.0 kami.

3. Penskalaan mendatar

Untuk meningkatkan dan memperluas keupayaan pemprosesan sistem perdagangan, skala mendatar dan skala menegak keduanya diinginkan. Penskalaan menegak merujuk kepada peningkatan pelayan, sementara penskalaan mendatar bermaksud penambahan pelayan. Prestasi perkakasan pelayan bergantung kepada keupayaan pengeluaran manusia. Walaupun konfigurasi perkakasan (prestasi perkakasan) pelayan mencapai tahap (had) tertentu, ia tidak dapat ditingkatkan lagi, oleh itu skala mendatar adalah satu-satunya pilihan. Walau bagaimanapun, pendekatan penskalaan mendatar mungkin menyebabkan pengimbangan beban. Cara mengagihkan jumlah keseluruhan sistem secara wajar ke pelayan yang berbeza?

Pertimbangan pertama adalah perlumbaan data. Walaupun penambahan pelayan dapat meningkatkan kemampuan sistem untuk memproses data secara selari, kapasiti pemprosesannya tidak dapat ditingkatkan dengan berkesan jika berlaku pengedaran yang tidak masuk akal kerana pengkomputeran selari dapat membuat pelayannya sering berlumba untuk mendapatkan data yang sama.

Sistem perdagangan pada dasarnya menyimpan data pesanan, dana, dan kedudukan. Untuk menurunkan jumlah perlumbaan data, pemisahan beban dilakukan untuk membagi data tersebut menjadi pecahan sesuai dengan jumlah pengguna kami yang tersedia. Data pesanan, dana, dan kedudukan pengguna diproses secara bebas, yang membantu mengelakkan perlumbaan data. Lebih-lebih lagi, kami terus mengoptimumkan sistem kami dengan menambahkan satu pusingan pemprosesan kumpulan untuk setiap pecahan untuk meningkatkan kapasiti pemprosesan sistem kami. Sebaliknya, data margin pasangan perdagangan derivatif adalah sasaran lain untuk menjalani pengurangan beban. Bagi pengguna, setiap pasangan perdagangan bebas sepenuhnya. Dengan cara ini, kita menggunakan sharding beban dalam dua fasa. Apabila sistem kami memerlukan lebih banyak pelayan, pengimbangan semula beban digunakan berdasarkan sharding untuk mencapai fleksibilitas pengembangan sistem.

4. Penskalaan Sistem

Cara asas untuk meningkatkan tahap pemeliharaan dan skalabiliti sistem perdagangan adalah dengan memisahkan fungsinya. Dalam peningkatan ini, kami memisahkan fungsi sistem kami menjadi 3 modul, iaitu padanan pesanan, kaunter, dan kawalan risiko. Setiap modul mengandungi data dan status dalamannya sendiri. Secara khusus, modul pemadanan pesanan bertanggungjawab untuk menyelenggarakan buku pesanan dan modul kaunter menyimpan data mengenai kedudukan dan baki akaun, sementara modul kawalan risiko menjalankan fungsi pengurusan risiko.

Oleh kerana modul saling bekerjasama untuk membolehkan fungsi keseluruhan sistem perdagangan, diperlukan mekanisme untuk komunikasi mereka. Terdapat dua pilihan untuk komunikasi antara perkhidmatan: perkongsian data dan pemesejan.

Perkongsian data adalah kaedah paling asas yang dijalankan dengan cara modul mengemas kini datanya, dan modul lain memperoleh data baru setelah pertanyaan. Walau bagaimanapun, pendekatan ini mempunyai dua kelemahan yang ketara. Pertama, jika beberapa modul membuat perubahan dan bertanya pada data yang sama, biasanya akan menghasilkan perlumbaan data, di mana masa tindak balas pangkalan data akan jauh lebih lama. Kedua, sukar untuk mendapatkan pemahaman masa nyata mengenai perubahan modul lain, dan kita hanya dapat mengetahui perubahan tersebut setelah pertanyaan.

Hasilnya, modul sistem Lightning 2.0 kami dirancang untuk menyimpan data mereka sendiri dan tidak saling berkongsi data antara satu sama lain. Sekiranya keadaan dalaman modul berubah, perubahan akan dimasukkan ke dalam acara dan ditempatkan ke gelung acara. Ini dapat mengurangkan gandingan dan persaingan antara modul sistem, dan mereka dapat berkomunikasi antara satu sama lain dengan kecepatan yang optimum setelah acara tersebut dikemas, yang sangat meningkatkan kecepatan komunikasi sistem kami.

III. Prestasi Data Kilat 2.0

Kami telah menyelesaikan peningkatan komprehensif sistem Lightning 2.0 kami pada separuh kedua tahun 2019. Bagaimana prestasinya bertambah baik berbanding Lightning 1.0?

Berikut adalah statistik terkini ujian pelayan Hong Kong kami pada bulan November:

Dari segi kapasiti pemprosesan pesanan, sistem kami mempunyai kapasiti pemprosesan pesanan puncak 100,000 txn / s, setanding dengan sistem perdagangan arus perdana di pasaran ekuiti global.

Tiga petunjuk berikut digunakan untuk menguji kependaman sistem:

Tiga petunjuk umum untuk menguji kependaman: ACK, Langsung, dan Batal

Kami menggunakan data ujian dari bulan September dan November untuk membandingkan prestasi pra-peningkatan dan pasca peningkatan sistem perdagangan kami (lihat di bawah). Seperti yang ditunjukkan di bawah, latensi ACK rata-rata menurun dari 50 ms menjadi 25 ms, latency langsung rata-rata berubah dari 134 ms menjadi 63 ms, dan latency Batal rata-rata berkurang dari 230 ms menjadi 180 ms.

Ini menunjukkan bahawa sistem perdagangan Lightning 2.0 kami mempunyai kependaman yang lebih rendah.

Sebelum Peningkatan / Selepas Peningkatan

IV. Peneraju Industri dalam Teknologi

Skalabiliti, kebolehulangan, dan fleksibiliti blockchain yang tidak terhad bermaksud terdapat banyak aset baru yang menunggu untuk ditemui. Perkembangan teknologi blockchain yang berterusan akan mengubah peningkatan harta intelek, hak cipta, dan aset kreatif menjadi crypto pada masa akan datang. Kita akan melihat pasaran dan pengguna mencari kebolehpercayaan dan prestasi yang lebih tinggi dalam sistem perdagangan.

Sebagai pertukaran cryptocurrency terkemuka di dunia dengan perkhidmatan perdagangan C2C, spot, dan derivatif yang komprehensif, kami sentiasa meningkatkan produk perdagangan kami, sistem pengurusan risiko, mesin padanan pesanan, perkhidmatan penyimpanan aset crypto, dan perkhidmatan pelanggan, kami telah menjadi crypto terbesar di dunia platform perdagangan derivatif mendapat populariti hebat dengan pengguna global. Ini adalah matlamat utama kami untuk berkembang dengan sektor blockchain dan crypto dengan memberikan sumber tambahan untuk mendapatkan keselamatan dan kecekapan perdagangan yang lebih tinggi untuk terus mendorong perkembangan dunia yang didorong oleh blockchain yang diimpikan oleh semua orang di ruang crypto.

Ikuti OKEx pada:

Steemit: https://steemit.com/@okex-official

Laman web: https://www.okex.com

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me