Bab 12
Vertikal Beban Distribusi untuk Cloud Computing
melalui Beberapa Pilihan Implementasi
Thomas Phan dan Wen-Syan Li
Vertikal Beban Distribusi untuk Cloud Computing
melalui Beberapa Pilihan Implementasi
Thomas Phan dan Wen-Syan Li
Abstrak Cloud computing terlihat untuk memberikan perangkat lunak sebagai layanan ditetapkan
untuk pengguna akhir, tetapi infrastruktur dasar harus cukup terukur dan kuat. Dalam pekerjaan kami, kami fokus pada skala besar sistem awan perusahaan dan meneliti bagaimana perusahaan
dapat menggunakan arsitektur
berorientasi layanan (SOA)
untuk menyediakan efisien antarmuka untuk proses bisnis
mereka. Untuk meningkatkan proses bisnis, masing-masing SOA lapis biasanya menyebarkan beberapa server untuk distribusi beban dan toleransi kesalahan, skenario yang kita istilah distribusi beban horisontal. Salah
satu keterbatasan dari pendekatan ini adalah bahwa beban tidak dapat didistribusikan lebih
lanjut ketika semua server di tingkat yang sama dimuat. Dalam
sistem yang kompleks SOA
multi-tier, proses
bisnis tunggal sebenarnya bisa dilaksanakan oleh beberapa jalur
perhitungan yang berbeda
antara tingkatan,
masing-masing dengan komponen
yang berbeda, dalam rangka
memberikan ketahanan dan
skalabilitas. seperti beberapa
Pilihan implementasi memberikan kesempatan untuk distribusi beban vertikal di seluruh tingkatan. Dalam bab ini, kita melihat sebuah novel permintaan perutean kerangka kerja untuk perusahaan berbasis SOA
komputasi dengan beberapa pilihan
implementasi yang memperhitungkan Pilihan distribusi beban horisontal dan vertikal.Pilihan implementasi memberikan kesempatan untuk distribusi beban vertikal di seluruh tingkatan. Dalam bab ini, kita melihat sebuah novel permintaan perutean kerangka kerja untuk perusahaan berbasis SOA
12.1
Pendahuluan
Cloud computing terlihat memiliki perhitungan dan penyimpanan data menjauh dari pengguna akhir dan ke server yang berlokasi di pusat data, sehingga menghilangkan pengguna beban aplikasi provisioning dan manajemen (Dikaiakos, Pallis, Katsaros, Mehra, & Vakali, 2009; Cloud Computing, 2009). Software kemudian dapat dianggap sebagai murni layanan yang diberikan dan dikonsumsi melalui Internet, menawarkan pengguna fleksibilitas untuk memilih aplikasi on-demand dan memungkinkan penyedia layanan untuk skala keluar kapasitas mereka sesuai. Sebagai kemerahan karena gambar ini tampaknya, infrastruktur server-side yang mendasari harus cukup kuat, kaya fitur, dan terukur untuk memfasilitasi komputasi awan. dalam hal ini bab kita fokus pada skala besar sistem awan perusahaan dan meneliti bagaimana isu-isu provisioning scalable dapat dipenuhi dengan menggunakan sistem distribusi beban baru. Dalam sistem perusahaan awan, arsitektur berorientasi layanan (SOA) dapat digunakan untuk menyediakan antarmuka efisien untuk proses bisnis yang mendasari yang ditawarkan melalui awan. Seperti SOA dapat bertindak sebagai program front-end untuk berbagai komponen bangunan-blok dibedakan sebagai layanan individu dan mereka mendukung server (mis. (DeCandia et al., 2007)). Permintaan yang masuk ke layanan yang disediakan oleh komposit ini SOA harus diteruskan ke komponen yang benar dan masing-masing server, dan Routing tersebut harus terukur untuk mendukung sejumlah besar permintaan. Dalam rangka untuk meningkatkan proses bisnis, setiap tingkatan dalam sistem biasanya menyebarkan beberapa server untuk distribusi beban dan toleransi kesalahan. Distribusi beban seperti di beberapa server dalam tingkat yang sama dapat dilihat sebagai distribusi beban horisontal, seperti ditunjukkan pada Gambar. 12.1. Salah satu batasan dari distribusi beban horisontal adalah bahwa
Cloud computing terlihat memiliki perhitungan dan penyimpanan data menjauh dari pengguna akhir dan ke server yang berlokasi di pusat data, sehingga menghilangkan pengguna beban aplikasi provisioning dan manajemen (Dikaiakos, Pallis, Katsaros, Mehra, & Vakali, 2009; Cloud Computing, 2009). Software kemudian dapat dianggap sebagai murni layanan yang diberikan dan dikonsumsi melalui Internet, menawarkan pengguna fleksibilitas untuk memilih aplikasi on-demand dan memungkinkan penyedia layanan untuk skala keluar kapasitas mereka sesuai. Sebagai kemerahan karena gambar ini tampaknya, infrastruktur server-side yang mendasari harus cukup kuat, kaya fitur, dan terukur untuk memfasilitasi komputasi awan. dalam hal ini bab kita fokus pada skala besar sistem awan perusahaan dan meneliti bagaimana isu-isu provisioning scalable dapat dipenuhi dengan menggunakan sistem distribusi beban baru. Dalam sistem perusahaan awan, arsitektur berorientasi layanan (SOA) dapat digunakan untuk menyediakan antarmuka efisien untuk proses bisnis yang mendasari yang ditawarkan melalui awan. Seperti SOA dapat bertindak sebagai program front-end untuk berbagai komponen bangunan-blok dibedakan sebagai layanan individu dan mereka mendukung server (mis. (DeCandia et al., 2007)). Permintaan yang masuk ke layanan yang disediakan oleh komposit ini SOA harus diteruskan ke komponen yang benar dan masing-masing server, dan Routing tersebut harus terukur untuk mendukung sejumlah besar permintaan. Dalam rangka untuk meningkatkan proses bisnis, setiap tingkatan dalam sistem biasanya menyebarkan beberapa server untuk distribusi beban dan toleransi kesalahan. Distribusi beban seperti di beberapa server dalam tingkat yang sama dapat dilihat sebagai distribusi beban horisontal, seperti ditunjukkan pada Gambar. 12.1. Salah satu batasan dari distribusi beban horisontal adalah bahwa
12.2 Ikhtisar
Pada bagian ini kita memberikan gambaran arsitektur sistem dan mendiskusikan istilah yang akan digunakan dalam tulisan ini. Pertimbangkan awan contoh komputasi disederhanakan (ditampilkan pada Gambar. 12.3) di mana proses analitik berjalan pada Web dan Aplikasi Server (WAS), Database Server (DB), dan Analytic Server khusus (AS).
12.3 Penjadwalan Layanan Komposit
12.3.1 Solusi Space
Pada bagian ini, kami secara resmi mendefinisikan masalah dan menggambarkan bagaimana kita memodelkan nya kompleksitas. Kami mengasumsikan elemen skenario berikut:
• Permintaan eksekusi alur kerja disampaikan kepada agen penjadwalan.
• alur kerja dapat diwujudkan oleh salah satu dari beberapa implementasi, sehingga masing-masing
permintaan ditugaskan untuk salah satu dari implementasi tersebut oleh agen penjadwalan.
• Setiap pelaksanaan memanggil beberapa jenis layanan, seperti aplikasi web
Server, DBMS, atau server analisis komputasi.
• Setiap jenis layanan dapat diwujudkan oleh salah satu dari beberapa contoh layanan
jenis, di mana setiap contoh dapat memiliki kebutuhan komputasi yang berbeda. Sebagai contoh,
satu implementasi mungkin memerlukan perhitungan DBMS berat (seperti melalui
prosedur yang tersimpan) dan analisis komputasi ringan, sedangkan implementasi lain
mungkin memerlukan cahaya DBMS query dan analisis komputasi berat.
Kami berasumsi bahwa implementasi ini ditetapkan oleh administrator atau insinyur.
• Setiap jenis layanan dijalankan pada server dalam kolam server yang didedikasikan untuk
bahwa jenis layanan.
12.3.1 Solusi Space
Pada bagian ini, kami secara resmi mendefinisikan masalah dan menggambarkan bagaimana kita memodelkan nya kompleksitas. Kami mengasumsikan elemen skenario berikut:
• Permintaan eksekusi alur kerja disampaikan kepada agen penjadwalan.
• alur kerja dapat diwujudkan oleh salah satu dari beberapa implementasi, sehingga masing-masing
permintaan ditugaskan untuk salah satu dari implementasi tersebut oleh agen penjadwalan.
• Setiap pelaksanaan memanggil beberapa jenis layanan, seperti aplikasi web
Server, DBMS, atau server analisis komputasi.
• Setiap jenis layanan dapat diwujudkan oleh salah satu dari beberapa contoh layanan
jenis, di mana setiap contoh dapat memiliki kebutuhan komputasi yang berbeda. Sebagai contoh,
satu implementasi mungkin memerlukan perhitungan DBMS berat (seperti melalui
prosedur yang tersimpan) dan analisis komputasi ringan, sedangkan implementasi lain
mungkin memerlukan cahaya DBMS query dan analisis komputasi berat.
Kami berasumsi bahwa implementasi ini ditetapkan oleh administrator atau insinyur.
• Setiap jenis layanan dijalankan pada server dalam kolam server yang didedikasikan untuk
bahwa jenis layanan.
12.3.2 Algoritma Genetik
Mengingat ruang solusi dari MR · ST, tujuannya adalah untuk menemukan tugas terbaik
permintaan untuk implementasi dan contoh jenis layanan ke server untuk
12
Vertikal Beban Distribusi untuk Cloud Computing 285
meminimalkan waktu berjalan dari
beban kerja, sehingga
memberikan vertikal yang
diinginkan dan balancing
horisontal. Untuk
mencari melalui ruang solusi,
kami menggunakan genetik
algoritma (GA) heuristik pencarian global yang memungkinkan
kita untuk menjelajahi bagian dari ruang dengan cara dipandu yang menyatu menuju solusi optimal (Holland, 1992; Goldberg,
1989). Kami
mencatat bahwa GA adalah hanya salah satu dari
banyak kemungkinan pendekatan
untuk heuristik pencarian, yang lainnya termasuk tabu search, simulated annealing, dan curam-pendakian
mendaki bukit. Kami
menggunakan GA hanya
sebagai alat. Sebuah GA adalah
simulasi komputer seleksi
alam Darwin yang iterates melalui berbagai generasi konvergen ke solusi terbaik
dalam masalah ini ruang.
Sebuah solusi potensial untuk
masalah ini ada sebagai kromosom, dan dalam
kasus kami, kromosom adalah pemetaan spesifik permintaan-to-implementasi
dan instancesto- server bersama dengan beban kerja terkait waktu pelaksanaannya. algoritma
genetika biasanya digunakan untuk mencari solusi yang tepat
yang optimal atau perkiraan dekat-optimal dalam
masalah pencarian kombinatorial seperti yang kita alamat. Hal ini
diketahui bahwa GA
menyediakan tradeoff yang sangat baik antara eksplorasi
ruang solusi dan eksploitasi ditemukan maxima (Goldberg,
1989). Selanjutnya,
algoritma genetika memang
memiliki keuntungan optimasi
progresif sehingga solusi adalah tersedia setiap
saat, dan hasilnya terus membaik karena lebih banyak
waktu yang diberikan untuk optimasi.
12.3.2.1
Kromosom Representasi
Solusi
Kami menggunakan dua struktur data dalam kromosom untuk mewakili masing-masing dua penjadwalan tahap. Pada tahap pertama, permintaan R ditugaskan untuk implementasi M, jadi struktur perwakilan hanyalah sebuah array ukuran R, di mana setiap elemen dari array adalah dalam kisaran [1, M], seperti ditunjukkan pada Gambar. 12.5.
Kami menggunakan dua struktur data dalam kromosom untuk mewakili masing-masing dua penjadwalan tahap. Pada tahap pertama, permintaan R ditugaskan untuk implementasi M, jadi struktur perwakilan hanyalah sebuah array ukuran R, di mana setiap elemen dari array adalah dalam kisaran [1, M], seperti ditunjukkan pada Gambar. 12.5.
Tahap kedua dimana kasus ditugaskan ke server yang lebih kompleks. Dalam Gambar. 12.6 kita menunjukkan contoh kromosom yang mengkode satu tugas penjadwalan. Representasi
adalah matriks 2-dimensi yang
memetakan {pelaksanaan,
Gambar.
12.6 Contoh kromosom mewakili tugas penjadwalan (pelaksanaan, jenis layanan misalnya) → penyedia layanan.
Setiap baris mewakili sebuah
implementasi, dan masing-masing Kolom merupakan contoh jenis layanan. Di sini ada alur kerja M dan jenis layanan T contoh. Dalam alur kerja 1, setiap permintaan untuk jenis
layanan 3 pergi
ke server 9
12.3.2.2
Kromosom Rekombinasi
Dua kromosom induk bergabung kembali untuk menghasilkan kromosom anak yang baru. harapannya adalah bahwa anak mengandung kromosom terbaik bersebelahan daerah dari orang tuanya. Mengkombinasikan kromosom dari tahap penjadwalan pertama adalah sederhana sejak chromsomes sederhana array 1 dimensi. Dua titik potong dipilih secara acak dan diterapkan untuk kedua orang tuanya. Elemen array antara titik potong di orangtua pertama diberikan kepada anak, dan elemen array di luar titik potong dari orang tua kedua yang ditambahkan ke elemen array pada anak. Hal ini dikenal sebagai crossover 2-point dan ditunjukkan pada Gambar. 12.7.
Dua kromosom induk bergabung kembali untuk menghasilkan kromosom anak yang baru. harapannya adalah bahwa anak mengandung kromosom terbaik bersebelahan daerah dari orang tuanya. Mengkombinasikan kromosom dari tahap penjadwalan pertama adalah sederhana sejak chromsomes sederhana array 1 dimensi. Dua titik potong dipilih secara acak dan diterapkan untuk kedua orang tuanya. Elemen array antara titik potong di orangtua pertama diberikan kepada anak, dan elemen array di luar titik potong dari orang tua kedua yang ditambahkan ke elemen array pada anak. Hal ini dikenal sebagai crossover 2-point dan ditunjukkan pada Gambar. 12.7.
12.3.2.3
GA Evaluasi Fungsi
Fungsi evaluasi mengembalikan dihasilkan beban kerja waktu eksekusi diberikan kromosom. Perhatikan fungsi tersebut dapat diterapkan untuk mengevaluasi beban kerja dengan cara apapun asalkan diterapkan secara konsisten terhadap semua kromosom di semua generasi. Fungsi evaluasi kami ditunjukkan pada Algoritma 2. Di baris 6-8, itu Menginisialisasi eksekusi kali untuk semua server dalam kromosom. Pada baris 11-17, akan menetapkan permintaan untuk implementasi dan contoh jenis layanan ke server dengan menggunakan dua pemetaan dalam kromosom. Hasil akhir dari tahap ini adalah bahwa contoh yang sesuai enqueued server. Pada baris 19-21 kali menjalankan server dihitung. Pada baris 24-26, hasil dari server yang digunakan untuk menghitung Hasil dari implementasi. Fungsi ini mengembalikan waktu eksekusi maksimum antara implementasi.
12.3.3 Penanganan online Permintaan Sesampainya
Seperti disebutkan sebelumnya, masalah domain kita anggap adalah bahwa batch-tiba meminta routing. Kami mengambil keuntungan penuh dari skenario seperti melalui penggunaan GA, yang memiliki pengetahuan penduduk permintaan. Kita dapat lebih memperluas ini pendekatan permintaan tiba online, diskusi panjang yang kita menghilangkan sini karena dengan batas ruang. Pendekatan yang khas adalah untuk agregat permintaan yang masuk ke dalam.
Fungsi evaluasi mengembalikan dihasilkan beban kerja waktu eksekusi diberikan kromosom. Perhatikan fungsi tersebut dapat diterapkan untuk mengevaluasi beban kerja dengan cara apapun asalkan diterapkan secara konsisten terhadap semua kromosom di semua generasi. Fungsi evaluasi kami ditunjukkan pada Algoritma 2. Di baris 6-8, itu Menginisialisasi eksekusi kali untuk semua server dalam kromosom. Pada baris 11-17, akan menetapkan permintaan untuk implementasi dan contoh jenis layanan ke server dengan menggunakan dua pemetaan dalam kromosom. Hasil akhir dari tahap ini adalah bahwa contoh yang sesuai enqueued server. Pada baris 19-21 kali menjalankan server dihitung. Pada baris 24-26, hasil dari server yang digunakan untuk menghitung Hasil dari implementasi. Fungsi ini mengembalikan waktu eksekusi maksimum antara implementasi.
12.3.3 Penanganan online Permintaan Sesampainya
Seperti disebutkan sebelumnya, masalah domain kita anggap adalah bahwa batch-tiba meminta routing. Kami mengambil keuntungan penuh dari skenario seperti melalui penggunaan GA, yang memiliki pengetahuan penduduk permintaan. Kita dapat lebih memperluas ini pendekatan permintaan tiba online, diskusi panjang yang kita menghilangkan sini karena dengan batas ruang. Pendekatan yang khas adalah untuk agregat permintaan yang masuk ke dalam.
Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer