Pejabat Grid Computing menggunakan persekitaran Virtual - Bahagian 5

Dengan Watkin Lloyd Steven , 4 Disember 2009 23:03 Jumaat

Pengantar

Saya bekerja di sebuah syarikat di mana kita menjalankan banyak kerja batch processing berjuta-juta nota data setiap hari dan saya sudah berfikir baru-baru ini tentang semua mesin yang duduk-duduk masing-masing dan setiap hari melakukan apa-apa selama beberapa jam. Bukankah lebih baik jika kita boleh menggunakan mesin-mesin untuk meningkatkan kekuatan pemprosesan sistem kita? Dalam Seri artikel ini saya akan melihat potensi manfaat menggaji pejabat grid menggunakan persekitaran virtualised.

Di Bahagian 4 kita melihat menggunakan alat untuk memastikan bahawa kami menjalankan versi terbaru dan kod sumber data sehingga hasil yang diperolehi selalu up-to-date dengan maklumat perniagaan terbaru dan logik.

Pre-Deployment

Sebelum menyebarkan sistem grid anda jika ada satu hal yang anda lakukan dan satu hal saja itu benchmark sistem anda saat ini! Tidak peduli apa yang anda katakan rakan tentang berapa banyak pekerjaan tambahan sistem anda akan lakukan apabila anda mempunyai beberapa nombor untuk menyokong hal ini menjamin anda apa-apa. Jadi,

  • berapa banyak nota yang boleh anda proses saat ini? Per Hari? Per Jam?
  • Berapa lama biasanya masa yang diperlukan untuk berbalik pekerjaan?
  • Berapa banyak lagi kapasiti yang anda miliki?

Ada juga soalan tambahan:

  • Jika pelayan memproses anda (atau salah satu pelayan pemprosesan anda) turun bagaimana ini akan mempengaruhi keupayaan anda, anda akan lumpuh?
  • Apa keuntungan yang anda inginkan / mengharapkan untuk mendapatkan dari suatu sistem grid?
  • Apakah mesin pejabat anda mampu menjalankan kerja?
  • Adakah anda (atau bisa anda pekerjaan ditukar) untuk bekerja dalam gaya berjalan?

Titik besar terakhir adalah untuk mengambil masa anda pada setiap perubahan besar seperti ini. Update kod pemprosesan anda untuk bekerja dengan menggunakan metodologi baru, patokan lagi. Mungkin proses menyiapkan pelayan anda untuk menjalankan mesin virtual, selepas semua proses pelayan anda hanya akan menjadi pekerja-pekerja lain (hanya satu yang sangat kuat relatif). Biarkan proses baru untuk menetap.

Penyebaran

Saran saya akan pop ke akhir pekan satu pejabat melakukan semua pemasangan dan setup. Lakukan ini sebelum dua minggu cuti dan cuti miskin laki-laki lain sehingga untuk berurusan dengan konsekuensi ... mungkin tidak ...

Penyebaran untuk sistem seperti ini harus lambat. Walaupun itu menjadi relatif sederhana untuk menetapkan sistem ini akan mempengaruhi seluruh pejabat anda infrastruktur (baik satu digital). Pertama, roll ke beberapa mesin sekaligus, memantau lalu lintas rangkaian, bagaimana host pekerja melakukan atas dasar sehari-hari. Anda mungkin perlu mengubah konfigurasi pekerjaan anda dalam menanggapi penemuan-penemuan anda.

Setelah sistem telah diselesaikan dengan beberapa mesin (katakanlah 10% dari semua mesin pejabat, iaitu 5) terus memantau lalu lintas rangkaian dan host mesin benchmark performance. Next lagi, anda sekarang perlu memproses kerja 33% lebih dari benchmark pertama anda. Semak ini begitu, atau bahawa anda sekurang-kurangnya dalam Ballpark ini. Jika tidak, menyelidiki apa yang terjadi sebelum pindah. Ulangi kitaran ini sehingga anda bahagia memiliki semua mesin pejabat berjalan tanpa membunuh prestasi mesin penggiling individu atau rangkaian anda untuk berhenti.

Pada setiap waktu terus perbandingan, bahkan selepas semua penyebaran dilakukan. Semak bagaimana kemas kini kod baru mempengaruhi kelajuan sistem anda, semak semua pekerja laporan dan pekerjaan pemprosesan. Perlahan (sangat lambat) kenaikan tatarajah pekerjaan anda untuk mendapatkan yang terbaik dari pekerja anda dan rangkaian.

Stop!

Bagaimana jika anda ingin menghentikan pekerja anda daripada berjalan pada beberapa waktu? Mereka semua ada berjalan, regenerasi, dan cuba yang terbaik untuk memproses data seperti serangga lapar. Jawapannya mungkin tampak jelas tapi nilainya menambah hanya dalam kes yang diabaikan. Cukup mengedit script pemprosesan anda dengan exit (0) atau mati () atau beberapa kenyataan lain untuk membunuh tugas pemprosesan anda. Sebuah alasan penting mengapa kita selalu cuba untuk update ke skrip pemprosesan terkini sebelum menjalankan!

Sistem Demonstrasi

Dalam rangka untuk menulis artikel ini set pendek saya membuat sebuah tempat yang sangat kecil untuk menunjukkan teknologi dan metodologi. Saya membaca banyak artikel, tutorial, dan digunakan pelbagai alat untuk setup dan memantau apa yang berlaku. Dengan tidak bermaksud aku pergi keluar dan jenuh pejabat keseluruhan dengan lalu lintas dan juga tidak pernah saya mempunyai akses ke PC ahli kakitangan biasa untuk melihat bagaimana prestasi host terjejas.

demonstrasi sistem saya sangat sederhana memang. Saya menggunakan desktop biasa saya set sebagai pelayan kawalan pekerjaan. Pada ini saya telah dipasang mySQL server dipasang ditetapkan sebagai master dalam replikasi, PHP , Â dan SVN dihubungkan melalui apache (anda akses melalui pekerja VM).

Saya kemudian membuat sebuah mesin pekerja CentOS pada VirtualBox pada laptop berusia 6 tahun windows XP. Aku setup dijadualkan tugas seperti yang ditetapkan selepas menyalin VM ke mesin dan membiarkannya pergi.

Mesin virtual ditubuhkan dengan PHP, subversi, dan mySQL. Aku menyemak cabang bernama 'pekerja' dari pelayan repositori kawalan pekerjaan saya dan membuat yakin itu dapat dikemaskini dengan menggunakan 'svn update'. Kemudian setup Aku mySQL sebagai budak dan memeriksa bahawa data replikasi dari mySQL di server kawalan kerja ke VM pekerja. Setelah semua ini saya setup script bash dan cron job.

pemprosesan script pada dasarnya saya pergi sepanjang garis ini (hal yang sangat sederhana):

  • Baca di bidang nama
  • Menghitung jumlah nama yang mirip dalam jadual dari sumber data yang diadakan pada VM
  • Menghitung jumlah nama-nama seperti di atas tapi membelah nama dengan ruang (nama kecil, iaitu tengah, nama keluarga)
  • Mengulangi proses ini 1,000 kali

Setiap pekerjaan masa sekitar 20 minit untuk menjalankan. Pada satu titik saya membuka beberapa salinan dari VM pekerja pada laptop jendela dan mengawasi pekerjaan diperiksa off oleh masing-masing alamat IP pekerja. Pada titik ini saya juga menegaskan replikasi yang secara automatik restart.

Meninggalkan laptop untuk idle menghasilkan pekerja mula proses kerja dari pelayan kawalan pekerjaan. Ketika meneruskan penggunaan laptop ada penangguhan daripada 30-60 saat, ini adalah cukup banyak masa dan kakitangan akan perlu dibuat sedar bahawa mesin mereka boleh menghentikan untuk sementara waktu ketika kembali ke mesin. mesin yang lebih baru mungkin tidak mempunyai jeda selama ini. Manfaat dari jumlah pemprosesan yang dilakukan oleh mesin-mesin selama tempoh idle akan lebih yang lebih besar daripada ahli kakitangan perlu menunggu jangka waktu yang singkat (katakanlah 1 minit) pada mesin mereka tiba di suatu pagi (aku sering menunggu lebih lama bahawa ini untuk Windows Defender update untuk mengambil tempat) asalkan mereka dibuat sedar kali ini (berguna untuk mengambil kopi pagi!).

Semuanya saya merasa yakin bahawa saya telah menunjukkan teknologi yang boleh digunakan untuk membuat sistem tersebut. Saya telah menunjukkan bahawa sistem seperti ini tidak bekerja pada skala (sangat) kecil dan lebih bereksperimen dengan beberapa boleh dipertingkatkan memanfaatkan sumber daya dari mesin-mesin pejabat itu. Jika saya tidak bisa sampai ke titik melakukan hal ini saya akan sangat tertarik untuk mengetahui / melihat bila orang lain tidak.

Kesimpulan / Evaluasi

Langkah pasti yang berikutnya adalah untuk benar-benar mendapatkan contoh dalam dunia nyata dan mula untuk menggelar sebuah sistem seperti ini dalam persekitaran pejabat dan melihat apa yang terjadi. Meminta perniagaan untuk melakukan ini tanpa sebuah syarikat jejak bernyala untuk membuktikan teknologi dan keberkesanan mungkin sedikit sukar. Grid / pengkomputeran teragih yang sangat popular adalah beberapa kalangan dan mempunyai beberapa aplikasi besar (BIONC, SETI @ Home, Folding @ Home, dll). Aku tidak, bagaimanapun, mencari skala yang lebih kecil dan sistem sederhana seperti ini dalam carian saya yang boleh dilancarkan dalam lingkungan kantor.

Saya mencipta sistem pada dasarnya tidak menggunakan perisian sumber terbuka dan sebahagian besar alat yang terdapat di hampir setiap pejabat. Teknologi pada dasarnya menunjukkan dan menunjukkan untuk melakukan dan bekerja seperti yang diharapkan. Mudah-mudahan saya telah menunjukkan bahawa dengan tidak bekerja banyak dan dengan setup yang sangat sederhana anda boleh menyebarkan sebuah sistem pengkomputeran grid pejabat yang sangat kuat, murah, "dan scalable semua pada masa yang sama.

Setelah sebuah sistem dan berjalan hampir tidak ada akhir untuk jumlah penyesuaian dan perbaikan Anda boleh membuat. Untuk statistik contoh / benchmarking dengan mudah dapat ditambah menunjukkan nilai dari sistem tersebut setiap hari. mesin baru boleh ditambah dengan cepat dan mudah dan ketika mereka tiba dengan upgrade ke hardware yang ada menguatkan daya proses anda.

Saya berharap anda menikmati membaca rangkaian artikel dan yang memberi anda makanan untuk berfikir untuk menjalankan sistem grid pejabat. Penyelesaian yang disajikan di sini tidak akan selalu bekerja dalam segala situasi tetapi harus disesuaikan untuk membolehkan anda untuk mendapatkan pemprosesan data dilakukan dengan menggunakan penyelesaian sendiri.

Sila hantar komen, pembetulan, atau pembaikan dan saya akan melakukan yang terbaik untuk menjaga artikel ini dikemaskini untuk mencocokkan.

3 Responses to "Pejabat Grid Computing menggunakan persekitaran Virtual - Bahagian 5"

  1. [...] Bahagian akhir dari siri ini, aptly bernama Bahagian 5, kita akan membicarakan menyebarkan sistem ini. Aku akan meringkaskan apa yang telah dipelajari dan [...]

  2. Roland Gorychka berkata:

    Howdy sana, dude rencana Great! i am Lelah menggunakan RSS feed dan yang anda gunakan twitter sehingga saya dapat mengikuti kamu di sana:? D.
    PS: Adakah anda dianggap meletakkan video ke blog anda untuk menjaga para pembaca lebih banyak dinikmati saya pikir itu bekerja, Roland Gorychka?.

  3. Lihat twitter di sisi kanan dari tiap halaman. Terima kasih!

Tinggalkan Balasan













Panorama Tema oleh Themocracy

6 tetamu online sekarang
4 tetamu, 2 bots, 0 ahli
Max pengunjung hari ini: 13 jam 05:44 UTC
Bulan ini: 26 jam 2011/07/05 00:35 UTC
Tahun ini: 130 pada 28-03-2011 10:40 UTC
Sepanjang masa: 130 pada 28-03-2011 10:40 UTC