Anda di halaman 1dari 2

Nama : Bagus Yoga Pradisetya

NIM : 19537144007
Prodi : Teknologi Informasi

Summary Lock-Based Concurrent Data Structures

Concurrent Counters

Menambahkan kunci ke struktur data untuk membuatnya dapat digunakan oleh threads
membuat thread struktur aman. Counter Without Locks ini bersamaan ini sederhana dan
berfungsi dengan benar. Bahkan, ini mengikuti pola desain yang umum untuk konkuren
yang paling sederhana dan paling dasar.
Menambahkan single lock :Thread aman tetapi skalabel, single lock tersbut bisa kita
tambahkan misal pada sebuah counter (struktur data paling sederhana). Masalah yang
muncul adalah scale pada synchronized counter memiliki kemungkinan buruk.
Scale sempurna, meskipun lebih banyak pekerjaan dilakukan, itu dilakukan secara pararel.
Sehingga waktu yang dibutuhkan tidak bertambah.
Sloppy Counter bekerja pada :
- 1 logical counter dan 1 global counter
- Ada locks untuk masing-masing counter

Concurrent Linked List


Satu teknik yang telah dieksplorasi oleh para peneliti untuk memungkinkan lebih banyak konkurensi
dalam daftar sesuatu yang disebut hand-over-hand locking (a.k.a. coupling lock) [MS04]. Idenya
cukup sederhana. Alih-alih memiliki satu kunci untuk keseluruhan daftar, Anda malah menambahkan
kunci per node daftar. Saat melintasi daftar, kode pertama-tama mengambil kunci simpul berikutnya
dan kemudian melepaskan arus kunci simpul (yang menginspirasi nama hand-over-hand).

Concurrent Queues

Seperti yang kita ketahui sekarang, selalu ada metode standar untuk membuat struktur data
bersamaan: tambahkan kunci besar. Jika Anda mempelajari kode ini dengan cermat, Anda akan
melihat bahwa ada dua kunci, satu untuk kepala antrian, dan satu untuk ekor. Tujuan keduanya
kunci adalah untuk memungkinkan concurrency dari operasi enqueue dan dequeue. Di kasus umum,
rutin enqueue hanya akan mengakses kunci ekor, dan hanya kunci kepala dequeue.
Scalling Linked List adalah menambahkan tiap node pada list. Saat menelusuri list, ambil kunci
(Locks) node berikutnya dan lepaskan locks node saat ini.

Concurrrent Hash Table

Alasan untuk kinerja yang baik adalah bahwa alih-alih memiliki satu kunci untuk seluruh struktur,
menggunakan kunci per ember hash (masing-masing diwakili oleh daftar). Melakukannya
memungkinkan banyak operasi bersamaan untuk terjadi. Dibangun menggunakan Concurrent list.
Tabel Hash tidak mengubah ukuran. Menggunakan locks perhash bucket yang masing-masing
diwakili oleh list.

Seperti yang dapat Anda lihat dari grafik, tabel hash bersamaan ini sederhana luar biasa; daftar yang
ditautkan, sebaliknya, tidak.

Anda mungkin juga menyukai