Design: Memori dan atom bersama

Dibuat pada 20 Jul 2016  ·  5Komentar  ·  Sumber: WebAssembly/design

Menurut Agenda pertemuan ke-53 Ecma TC39 Memori dan atom bersama akan ke tahap 3. Itu berarti API mereka akan dibekukan. Jadi Selasa, 26 Juli bisa menjadi batas waktu untuk melakukan perubahan spesifikasi jika visi Grup Komunitas WebAssembly berbeda dengan visi TC39.

Proposal ES: https://github.com/tc39/ecmascript_sharedmem

Komentar yang paling membantu

@chicoxyzzy , ada diskusi panjang tentang sab+wasm di sini: https://github.com/tc39/ecmascript_sharedmem/issues/59

@taisel , sekarang saya sedang bertele-tele, tapi tetap saja: "Keterbatasan utas utama" secara teknis bukan bagian dari spesifikasi itu. Spesifikasi memungkinkan beberapa utas menolak untuk diblokir (berdasarkan kriteria yang dipilih oleh implementasi), dan jelas bahwa fasilitas tersebut dimotivasi oleh utas utama browser, tetapi penggunaan memori bersama JS+ di pengaturan lain selain browser tidak perlu memiliki keterbatasan itu. Saya tidak melihat bagaimana wasm dalam situasi yang berbeda. Selain itu, saya dapat melihat beberapa jenis pekerja, seperti SharedWorkers, menggunakan memori bersama, tetapi tidak diizinkan untuk memblokir.

Memang, bagi TC39 untuk meminta browser mengizinkan pemblokiran pada utas utama tidak akan menghasilkan sesuatu yang bermanfaat, hanya untuk perselisihan, dan mungkin akan membahayakan implementasi seluruh proposal memori bersama. Apa yang kami miliki sekarang adalah ekstensi yang cukup konservatif untuk bahasa dan browser yang cocok dengan ekosistem web yang ada. Kami tahu proxy dapat memecahkan beberapa masalah; kita tahu pemblokiran "asimetris" (pemblokiran pekerja tetapi utas utama tidak) dapat memecahkan masalah lain; kita perlu mendapatkan beberapa pengalaman dengan ini untuk mencari tahu di mana titik-titik rasa sakit yang sebenarnya, dan kemudian kita dapat melihat bagaimana mengatasinya. Mencoba menerapkan pemblokiran pada utas utama adalah opsi nuklir, pada tahap ini.

Semua 5 komentar

Pertanyaan saya adalah: Apakah semua orang setuju dengan menyalin batasan utas utama dalam spesifikasi itu ke WASM?

@chicoxyzzy , ada diskusi panjang tentang sab+wasm di sini: https://github.com/tc39/ecmascript_sharedmem/issues/59

@taisel , sekarang saya sedang bertele-tele, tapi tetap saja: "Keterbatasan utas utama" secara teknis bukan bagian dari spesifikasi itu. Spesifikasi memungkinkan beberapa utas menolak untuk diblokir (berdasarkan kriteria yang dipilih oleh implementasi), dan jelas bahwa fasilitas tersebut dimotivasi oleh utas utama browser, tetapi penggunaan memori bersama JS+ di pengaturan lain selain browser tidak perlu memiliki keterbatasan itu. Saya tidak melihat bagaimana wasm dalam situasi yang berbeda. Selain itu, saya dapat melihat beberapa jenis pekerja, seperti SharedWorkers, menggunakan memori bersama, tetapi tidak diizinkan untuk memblokir.

Memang, bagi TC39 untuk meminta browser mengizinkan pemblokiran pada utas utama tidak akan menghasilkan sesuatu yang bermanfaat, hanya untuk perselisihan, dan mungkin akan membahayakan implementasi seluruh proposal memori bersama. Apa yang kami miliki sekarang adalah ekstensi yang cukup konservatif untuk bahasa dan browser yang cocok dengan ekosistem web yang ada. Kami tahu proxy dapat memecahkan beberapa masalah; kita tahu pemblokiran "asimetris" (pemblokiran pekerja tetapi utas utama tidak) dapat memecahkan masalah lain; kita perlu mendapatkan beberapa pengalaman dengan ini untuk mencari tahu di mana titik-titik rasa sakit yang sebenarnya, dan kemudian kita dapat melihat bagaimana mengatasinya. Mencoba menerapkan pemblokiran pada utas utama adalah opsi nuklir, pada tahap ini.

@lars-t-hansen Yup, dan saya mengulangi batasan lunak itu untuk mendorong diskusi.

Masih ada sekelompok orang yang saya pikir mungkin ingin porting semudah mungkin, dan saya tidak tahu banyak konsesi yang mungkin ingin diberikan oleh komite WASM.

Untuk menambah di atas, Bagian WebAssembly Discussion.md memiliki ringkasan yang baik dari diskusi sab+wasm.

Proposal threading awal dirancang agar sesuai dengan perilaku pekerja SAB+, jadi sepertinya tidak akan mengguncang perahu di sini. Kami telah berbicara tentang memiliki utas "murni wasm", yang tidak memiliki konteks JavaScript, tetapi memutuskan bahwa lebih baik ditangani setelah kami mencapai paritas fitur dengan JavaScript + SAB.

Selain itu, spesifikasi html kini telah terintegrasi dengan pemblokiran WRT Atomics.wait ).

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

jfbastien picture jfbastien  ·  6Komentar

badumt55 picture badumt55  ·  8Komentar

thysultan picture thysultan  ·  4Komentar

Thaina picture Thaina  ·  8Komentar

spidoche picture spidoche  ·  4Komentar