SORU
7 Mayıs 2012, PAZARTESİ


Redis tek iş parçacıklı, o zaman nasıl eşzamanlı G/Ç?

Redis bazı temel bilgileri kavramak için çalışıyor blog post bir ilginç geldi .

Yazar Birleşik Devletleri:

Redis süresiz G/Ç eşzamanlılık açısından epoll/kqueue ve ölçek ile tek iş parçacıklı.

Ben bu deyimi şaşırtıcı buluyorum çünkü kesinlikle bütün iş parçacığı şeyi yanlış anlıyor. Eğer bir program tek dişli ise, nasıl her şeyi aynı anda yapmak mı? Redis işlemleri atomik neden bu kadar uygun, sunucu tek dişli ise zaten?

Herkes bu konuda biraz ışık tutmak misiniz?

CEVAP
8 Mayıs 2012, Salı


İyi eşzamanlılık neyi kastettiğinize bağlı.

Sunucu tarafı yazılım, eşzamanlılık ve paralellik genellikle farklı kavramlar olarak kabul edilir. Bir sunucu, eşzamanlı G/Ç destekleyen sunucu birkaç akışları tek bir hesaplama ünitesi ile bu müşteriler için ilgili yürüterek birçok müşterilerine hizmet etmek için mümkün olduğu anlamına gelir. Bu bağlamda paralellik sunucu farklı olan aynı anda birden fazla şeyi (birden çok hesaplama üniteleri ile), gerçekleştirmek mümkün olduğu anlamına gelir.

Örneğin bir barmen, bir seferde sadece tek bir içecek hazırlamak o sırada birkaç Müşteri daha yakındır. Paralellik olmadan eşzamanlılık sağlamak için.

Bu soru tartışma konusu olmuştur: Concurrency vs Parallelism - What is the difference?

Ayrıca Bkz: 2* *Rob Pike.

Tek iş parçacıklı bir program kesinlikle bir G/Ç (de)mekanizması ve olay bir döngü Redis yaptığı (çoklu) kullanarak I/O düzeyinde eşzamanlılık sağlar.

Paralellik bir bedeli vardır: modern donanım bulabilirsin çoklu çekirdek/çoklu prizler ile, iş parçacıkları arasında eşitleme son derece pahalıdır. Öte yandan, Redis gibi verimli bir depolama motoru darboğaz çok sık ağ, CPU önce. Münferit olay döngüler eşitleme gerektirir) bu nedenle verimli, ölçülebilir, sunucular oluşturmak için iyi bir tasarım olarak görülüyor.

Redis işlemleri atomik aslında sadece tek iş parçacıklı olay döngünün bir sonucudur. İlginç olan şu ki hiçbir ekstra maliyet (eşitleme gerektirmez) sağlanır katına çıkar. Kullanıcı tarafından eşitleme yükü ödemeden kilitleme ve diğer iyimser desenleri uygulamak için kullanılabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hudson Music

    Hudson Music

    13 Mart 2007
  • joshsnice

    joshsnice

    28 Kasım 2006
  • Tomas N

    Tomas N

    14 Kasım 2010