Minggu, 23 Juni 2013

MIDDLEWARE

Diposting oleh iEKa Listy di 11.55 0 komentar
Middleware adalah software yang dirancang untuk mendukung pengembangan sistem tersebar dengan memungkinkan aplikasi yang sebelumnya terisolasi untuk saling berhubungan. Dengan bantuan middleware, data yang sama dapat digunakan oleh customer service, akuntansi, pengembangan, dan manajemen sesuai kebutuhan. Middleware dapat juga berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan format data yang dapat mereka proses.
Contoh aplikasi :

1. CORBA (Common Object Request Broker Architecture)


Common Object Request Broker Architecture (CORBA) adalah teknologi yang dipergunakan untuk heterogeneous computing (sistem komputer dengan berbagai macam
lingkungan). CORBA pada dasarnya menggunakan arsitektur client-server dimana klien dan server berupa objek. CORBA mendukung apa yang disebut interoperabilitas, yaitu kemampuan saling bekerjasama antar sistem computer.

CORBA berbeda dengan RMI, berikut perbedaan CORBA dengan RMI:
  1. CORBA adalah dapat diimplementasikan dengan sembarang bahasa pemrograman.
  2. CORBA terdiri dari beberapa mekanisme dimana RMI dapat termasuk di dalamnya.
  3. Pada RMI tidak menggunakan ORB (Object Request Broker).
Kenapa ada CORBA?
  • Dapat menangani keberagaman lingkungan antara klien dan server (dapat diimplementasikan pada bahasa pemrograman yang berbeda). Hal ini karena CORBA menggunakan apa yang disebut antarmuka (interface) untuk menjembatani dua buah lingkungan yang berbeda.
Object Request Broker (ORB) merupakan inti dari CORBA dan bertanggung jawab untuk menjalankan semua mekanisme yang dibutuhkan, yaitu:
  1. Menemukan implementasi objek untuk memenuhi suatu request
  2. Menyiapkan implementasi objek untuk menerima suatu request
  3. Melakukan komunkasi data untuk memenuhi suatu request
Sebuah permintaan (request) yang dikirimkan suatu client ke suatu object implementation akan melewati ORB. Dengan ORB, yang terdiri dari interface, suatu client dapat berkomunikasi dengan object implementation tanpa adanya batasan platform, teknologi jaringan, bahasa pemrograman, dan letak objek. Dengan menggunakan ORB, objek client bisa meminta sebuah method pada sebuah object server yang bisa saja terdapat dalam satu mesin maupun jaringan yang berbeda. ORB menerima panggilan dan menemukan objek yang bisa mengimplementasikan permintaan, mengirim parameter, invoke method, dan mengembalikan hasil yang diperoleh.

Objek-objek CORBA dispesifikasikan menggunakan interface, yang merupakan penghubung anatara client dan server. Interface Definition Language (IDL) digunakan untuk mendefinisikan interface tersebut. IDL menentukan tipe-tipe suatu objek dengan mendefinisikan interface-interface objek tersebut. Sebuah interface terdiri dari kumpulan operasi dan parameter operasi tersebut. IDL hanya mendeskripsikan interface, tidak mengimplementasikannya. Meskipun sintaks yang dimiliki oleh IDL menyerupai sintaks bahasa pemrograman C++ dan Java., perlu diingat, IDL bukan bahasa pemrograman.

CORBA mendefinisikan IIOP (Internet Inter-ORB Protocol) untuk mengatur bagaimana objek berkomunikasi melalui jaringan. IIOP merupakan open protocol yang berjalan diatas TCP/IP.

Pada Java, CORBA merupakan pelengkap untuk menyediakan framework distribusi objek, services pendukung framework itu, dan kemampuan antar operasi dengan bahasa pemrograman lainnya. CORBA untuk client-server menggunakan protokol IIOP (Internet InterORB Protocol) untuk komunikasi antara server dan klien.

Arsitektur CORBA adalah sebagai berikut:



Skeletons adalah bagian kode yang dibangin pada kode implementasi server pada antarmuka (interface). Stub adalah bagian kode yang membuat antarmuka (interface) dapat diakse (available) oleh klien.

Java menyediakan ORB (Object Request Broker) yang mendukung teknologi CORBA. ORB adalah komponen runtime yang dapat digunakan untuk distributed computing menggunakan komunikasi IIOP. OMG (Object Management Group) adalah industri yang membuat spesifikasi dan mempublikasikan CORBA.

Java IDL (Interface Definition Langauge) merupakan sebuah teknologi untuk distribusi
objek yang berinteraksi antar platform. CORBA menggunakan IDL untuk membuat antarmuka (interface). Java IDL adalah implementasi dari teknologi antarmuka pada CORBA. Model pemrograman IDL atau biasa disebut Java IDL terdiri dari ORB CORBA dan kompiler idlj yang memetakan OMG IDL ke Java dengan menggunakan Java CORBA ORB. Aplikasi CORBA dibuat dengan menggunakan IDL untuk mendefinisikan antarmuka objek agar dapat diakses oleh klien maupun server.


2. Distributed Component Object Model (DCOM)


Distributed Component Object Model
 adalah protokol yang berfungsi untuk mengaktifkan komponen pada perangkat lunak (software) agar dapat berkomunikasi langsung dengan jaringan. (Spangler, 2004). Tujuan DCOM adalah agar komponen yang telah dibuat dapat diregister di suatu komputer dan di akses oleh banyak komputer lain.
DCOM sendiri bukan merupakan teknologi beru karena teknologi ini banyak dipakai dalam sistem distribusi pada sistem jaringan TCP/IP. Protokol yang digunakan oleh DCOM dapat meliputi:
  • Protokol TCP/IP 
  • Protokol UDP/IP 
  • Protokol HTTP
  • Protokol RPC
Secara umum DCOM menerapkan sistem Klien-Server sehingga terdapat istilah DCOM klien dan DCOM server. Cara kerja DCOM yang menggunakan Remote Procedure Call dimana Object diletakkan di dalam Back-End (Server) dalam bentuk file Dll (Dynamic Linking Library) dan klien akan mengakses objek tersebut melalaui media jaringan yang ada.

DCOM merupakan ektensi dari Component Object Model (COM). Pada COM kita melihat bagaimana suatu komponen client saling berinteraksi. Interaksi ini dapat didefinisikan sebagai hubungan secara langsung antara komponen (COM Server) dan COM Client. Aplikasi client memanggil method yang ada di komponen COM tanpa perantara apapun dan terjadi dalam suatu proses baik pada aplikasi client maupun komponen itu sendiri.

Sedangkan pada sistem operasi yang baru proses akan dilindungi dari gangguan proses yang lain sehingga aplikasi client tidak akan langsung mamanggil komponen tetapi melalui interproses yang disediakan oleh sistem operasi. Ketika client dan server pada tempat yang berbeda, DCOM akan menggantikan lokal interproses yang berkomunikasi dengan sebuah jaringan protokol. Melalui protokol DCOM ini, aplikasi client dapat mengakses DCOM server. 

DCOM juga menyembunyikan lokasi suatu komponen sehingga aplikasi tinggal langsung memanggil method yang ada di komponen DCOM. Lokasi DCOM yang independen inilah yang membuat penyederhanaan pada penerapan sistem distribusi suatu komponen dan juga meningkatkan performance. Bayangkan kita mempunyai komponen yang banyak dan kemudian dilakukan distribusi ke jaringan LAN, maka hal ini akan meningkatkan laju trafik jaringan sehingga komunikasi data pada jaringan LAN ini akan jauh lebih lambat. 

Dengan adanya DCOM maka semua komponen didistribusikan dalam suatu protokol DCOM dan proses yang sama. Ketika suatu aplikasi mengakses komponen melalui DCOM maka DCOM akan melakukan proses validasi komponen, tujuanya untuk mengakses apakah komponen yang dipanggil ini ada didalam DCOM. 

Arsitektur DCOM

DCOM merupakan ektensi dari Component Object Model (COM). Pada COM kita melihat bagaimana suatu komponen client saling berinteraksi. Interaksi ini dapat didefinisikan sebagai hubungan secara langsung antara komponen (COM Server) dan COM Client. Aplikasi client memanggil method yang ada di komponen COM tanpa perantara apapun dan terjadi dalam suatu proses baik pada palikasi client maupun komponen itu sendiri. Sedangkan pada sistem operasi yang baru proses akan dilindungi dari gangguan proses yang lain sehingga aplikasi client tidak akan langsung mamanggil komponen tetapi melalui interproses yang disediakan oleh sistem operasi. Ketika client dan sever pada tempat yang berbeda, DCOM akan menggantikan local interprosses yang berkomunikasi dengan sebuah jaringan protokol. Malalui protocol DCOM ini, aplikasi client dapat mengakses DCOM server. DCOM juga menyembunyikan lokasi suatu komponen sehingga disis aplikasi tinggal langsung memanggil method yang ada di komponen DCOM. 


Lokasi DCOM yang independen inilah yang membuat penyederhanaan pada penerapan sistem distribusi suatu komponen dan juga meningkatkan performance. Bayangkan kita mempunyai komponen yang banyak dan kemudian dilakukan distribusi ke duatau jaringan LAN, maka hal iini akan meningkatkan laju trafik jaringan sehingga komunikasi data pada jaringan LAN ini akan jauh lebih lambat. Dengan adanya DCOM maka semua komponen didistribusikan dalam suatu protokol DCOM dan proses yang sama. Ketika suatu aplikasi mengakses komponen melalui DCOM maka DCOM akan melakukan proses validasi komponen, tujuanya untuk mengakses apakah komponen yang dipanggil ini ada didalam DCOM.
Arsitektur DCOM

Salah satu kegunaan DCOM adalah distribusi dan remoting suatu objek ke komponen lain dalam suatu jaringan komputer. Ketika akan membuat suatu komponen COM dan komponen yang akan diakses banyak komputer dalam waktu bersamaan, maka harus dilakukan sistem distribusi untuk objek yang dibuat dan akan dilakukan load balancing karena banyaknya objek akses data dari komputer lain. Dengan DCOM ini, maka didapatkan solusi untuk masalah sistem distribusi.

Aplikasi dikatakan berbasis sistem remoting apabila aplikasi itu mengakses suatu objek yang dapat berupa data, suara, informasi dan sebagainya dari suatu komputer yang ada dalam suatu jaringan tertentu. Dalam kasus ini DCOM client akan berfungsi sebagai remoter yaitu objek yang melakukan remote ke komputer server melalui DCOM Server.

Jika diperhatikan, maka akan terlihat bahwa komunikasi antara komputer dilakukan melalui DCOM. Misalkan komputer A meminta data dari database, maka komputer A akan meminta data melalui objek yang ada di DCOM Client. Kemudian DCOM Client akan melakukan validasi mengenai komponen objek yang dieksekusi, jika ditemukan objek yang meminta, maka DCOM Client akan mengecek sumber objek berasal sebagai contohnya sumber objek berasal dari komputer server S, maka DCOM Client akan melakukan remoting ke komputer S melalui DCOM Server yang dimilikinya. 


DCOM Server akan mengecek kepemilikannya yang dimilki oleh komputer A. Jika komputer A mempunyai hak akses maka DCOM Server akan mengeksekusi sesuai permintaan komputer A dan hasilnya dikembalikan ke DCOM Client. Proses ini akan sama untuk setiap komputer yang ingin melakukan remoting melalui DCOM. Berikut gambaran arsitekturnya hubungan antara DCOM Server, DCOM Client dan Server Database.
DCOM Server, DCOM Client dan Server Database

 

Remote Procedure Call (RPC)

Cara kerja DCOM adalah dengan menggunakan Remote Procedure Call dimana Object diletakkan di dalam Back-End (Server) dalam bentuk file Dll (Dynamic linking Library) dan client akan mengakses object tersebut melalaui media jaringan yang ada. Remote Procedure Call (RPC)adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah  server harus menyediakan layanan  remote procedure.Pendekatan yang dilakuan adalah sebuah  server membuka  socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu haruS menghubungi  port yang mana,  client bisa me-request kepada sebuah  matchmaker pada sebuah RPC  port yang tetap.  Matchmaker akan memberikan  port apa yang digunakan oleh prosedur yang diminta client.


RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak  remote procedure. RPC menggunakan  socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter-install kedalam sistemnya, biasanya RPC  ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan. 


Cara Kerja Remote DCOM

Salah satu kegunaan DCOM adalah distribusi dan remoting suatu objek kekomponen lain dalam suatu jaringan komputer. Ketika kita akan membuat suatu komponen COM dan komponen ini akan diakses banyak komputer bahkan dalam waktu bersamaan, maka kita harus melakukan sistem distribusi untuk objek yang kita buat belum lagi kita akan menghadapi load balancing karena banyaknya yang mengakses data objek oleh komputer lain. Dengan DCOM ini,kita akan mendapatkan solusi untuk masalah sistem distribusi.
Kita telah ketahui bahwa apliaksi dikatakan berbasis sistem remoting bila apabila aplikasi itu mengakses suatu onjek yang dapat berupa data, suara, informasi dan sebagainya dari suatu komputer yang ada dalam suatu jaringan tertentu. Dalam kasus ini DCOM client akan berfungsi sebagai remoter yaitu objek yang melakukan remote ke komputer serer melalui DCOM Server.


Jika kita perhatikan, kita akan melihat bahwa komunikasi antara computer dilakukan dan melalui DCOM. Misalkan komputer A meminta data dari database, maka komputer A akan merequest data melalui objek yang ada di DCOM Client. Kemudian DCOM client akan melakukan validasi mengenai komponen objek yang dieksekusi, jika ditemukan objek yang meminta, maka DCOM client akan mengecek sumber objek berasal sebagai contohnya suber objek berasal dari komputer server S, maka DCOM client akan melakukan remoting ke komputer S melalui DCOM server yang dimilikinya.

DCOM serve akan mengecek authorisasinya yang dimilki oleh komputer A. Jika komputer A mmpunyai hak akses maka DCOM server akan mengeksekusi sesuai permintaan komputer A dan hasilnya dikembalikan ke DCOM Client. Proses ini akan sama untuk setiap komputer yang ingin melakukan remoting melalui DCOM. Berikut gambaran arsitekturnya hubungan antara DCOM Server, DCOM Client dan Server Database .

3. RIM ( Remote Method Invocation )

Remote Method Invocation (RMI) adalah sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan.
Aplikasi RMI sering kali terdiri dari dua program terpisah yaitu server dan client. Aplikasi server semacam ini biasanya membuat beberapa objek remote menyediakan referensi terhadap objek-objek tersebut sehingga dapat diakses serta menunggu client menginvoke/memanggil method dari objek-objek remote tersebut. Aplikasi client mendapatkan referensi remote ke satu atau lebih objek remote di server dan menjalankan method dari objek tersebut.
RMI menyediakan mekanisme dimana server dan client berkomunikasi dan memberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi. Aplikasi objek terdistribusi seringkali melakukan hal berikut:
• Melokasikan objek remote
  Aplikasi dapat menggunakan satu dari dua mekanisme untuk mendapatkan referensi ke objek remote. Aplikasi dapat mendaftarkan objek remote dengan fasilitas penamaan RMI (naming facility)yaitu rmiregistry atau aplikasi dapat mem-pass dan mengembalikan referensi objek remote sebagai bagian dari operasi normal.

• Berkomunikasi dengan objek remote
  Detail dari komunikasi antara objek remote ditangani oleh RMI, bagi programmer komunikasi remote tampak seperti invokasi method Java standar.

• Memanggil (load) bytecode untuk objek yang di-pass
  Karena RMI mengizinkan pemanggil (caller) untuk mem-pass objek ke objek remote, RMI menyediakan mekanisme yang diperlukan objek me-load kode objek, sebagaimana juga mentransmisikan datanya.

Ilustrasi berikut menggambarkan aplikasi RMI terdistribusi yang menggunakan registry untuk mendapatkan referensi ke objek remote. Server memanggil registry untuk mengasosiasikan (mengikat) suatu nama dengan objek remote. Client mencari objek remote dengan namanya pada registry server dan meng-invoke method dari objek.

Ilustrasi ini juga menunjukkan sistem RMI menggunakan Web server untuk memanggil class bytecodes, dari server ke client dan dari client ke server, untuk objek-objek yang diperlukan.

Langkah-Langkah Pembuatan Program dengan RMI
Dalam RMI, semua informasi tentang satu pelayanan server disediakan dalam suatu definisi remote interface. Dengan melihat pada definisi interface, seorang pemrogram dapat memberitahukan method apa yang dapat dikerjakan oleh server meliputi data apa yang diterima dan data apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote interface menentukan karakteristik methods yang disediakan server yang dapat dilihat oleh client. Client programmer harus dapat mengetahui methods apa yang disediakan server dan bagaimana memanggilnya langsung dengan melihat ke remote interface. Client mendapatkan referensi ke remote object melalui RMI registry.

Membangun suatu aplikasi terdistribusi menggunakan RMI meliputi 6 langkah. 
Keenam langkah tersebut adalah:
1. Mendefinisikan remote interface
2. Implementasi remote interface dan server
3. Pengembangan client (atau applet) yang menggunakan remote interface
4. Mengkompilasi source files dan mem-buat stub and skeletons
5. Memulai (start) RMI registry
6. Menjalankan server dan client


 Model RMI – Remote Interface
● Remote interface – mendefinisikan method apa saja yang dapat diakses oleh client
● Pada contoh gambar slide 8, objek B dan F harus memiliki remote interface
● Contoh :
    – CORBA menggunakan IDL untuk definisi Interface objek server
    – RMI menggunakan interface Java untuk definisi objek server

Protokol Request/Reply untuk RMI

Masalah Perancangan untuk RMI
● Semantik Pemanggilan RMI
  – doOperation() dapat diterapkan dalam beberapa cara untukmenyediakan jaminan pengiriman yang berbeda
● Retry request message : pengiriman ulang requestwalaupun reply diterima atau server diasumsikan gagal
● Duplicate filtering : apakah dilakukan filtering terhadaprequest yang sama atau tidak
   – Ketika semua request yang dikirim ulang diterima server, ada dua kemungkinan yang dilakukan objek server
● Retransmission of result : apakah mampu menyimpan (caching) hasil reply, sehingga jika memang perlu melakukan retransmisi ulang tidak perlu melakukan eksekusi kembali
● Repeated execution prosedur
    – Dari dua kemungkinan-kemungkinan dua operasi tersebut, memunculkan beberapa semantik invocation.


Implementasi RMI

Remote Reference Module
– Translasi antara lokal dan remote objek reference menggunakan remote object table
   ● Berisi data semua remote object dan proxy yang dipelihara oleh server
   ● Digunakan ketika marshaling dan unmarshaling remote object reference


RMI Sublayer terdiri dari
– Proxy (di client), tempat penyimpan lokal untuk remote objek
– Dispatcher (di server), menerima request dan menggunakan methodID untuk memilih message di skeleton
– Skeleton (di server), menerapkan method dalam remote interface
   ● Argumen-argument unmarshaling
   ● Memanggil method yang sesuai pada remote objek
   ● Menunggu selesainya pemanggilan
   ● Melakukan marshaling hasil



Keuntungan RMI
•  Salahsatu keuntungan RMI adalah kemampuan untuk download bytecodes (code) dari suatu object’s class, jika class tsb tidak terdefinisikan di VM-nya penerima.
•  Type-type dan metode-metode object (class), yang terletak dalam satu VM, dapat dikirim ke VM yang lain, yang mungkin saja remote.
•  Sifat-sifat object yang terkirim ini tidak berubah sama sekali



Kelemahan RMI
proses pembukaan socket yang kadang-kadang tidak dapat diimplementasikan lewat jaringan internet, tapi hal ini bisa diatasi dengan menggunakan Spring HttpInvoker, sama persis dengan RMI tapi lewat protokol HTTP.


Supported by : blogerahman.staff.unisbank.ac.id
                      www.unisbank.ac.id

Selasa, 04 Juni 2013

PROXY SERVER

Diposting oleh iEKa Listy di 01.47 0 komentar
Apa itu Proxy Server?
Proxy server adalah komputer server yang digunakan sebagai perantara antara user dengan internet.sebuah komputer yang menyediakan layanan jaringan komputer untuk mengizinkan client agar dapat mengirimkan request terhadap content dari Internet atau intranet. Untuk analoginya proxy sebagai perantara antara pihak pertama (user) dalam berhubungan dengan pihak kedua (internet), jadi pada saat user melakukan akses internet maka proxy sebagai perantara yang menyampaikan request dari user tersebut ke internet atau sebaliknya. Di sini user tidak langsung berhubungan dengan internet tetapi dengan menggunakan perantara proxy server user bisa terhubung dengan akses internet.
Bagaimana Proxy Server Bekerja ?
Cara kerja proxy server adalah client yang tersambung dengan proxy server dan meminta layanan tertentu seperti file, koneksi, akses web page, ataupun lainnya. Proxy server yang digunakan akan mengevaluasi permintaan layanan tersebut sesuai dengan aturan filternya. Sebagai contoh, proxy server dapat menyaring traffic berdasarkan IP (Internet Protocol) address. Jika permintaan itu divalidasi oleh fiternya, maka proxy akan menyediakan apa yang diminta dengan menyambung ke server yang diminta dan meminta layanan dari server tersebut untuk clientnya.
Penggunaan proxy yaitu dengan menggunakan suatu PC server yang telah diinstall Sistem Operasi dan aplikasi proxy, seperti MS Proxy Server, WinGate pada Sistem Operasi Windows Server. Dan Squid, OOPS, Privoxy, Paco padaSistem Operasi Linux Server. Kemudian proxy server tersebut  dihubungkan dengan jaringan lokal dan internet.
Gambar di atas menjelaskan hubungan proxy server dengan jaringan lokal pada ethernet 1 (eth1) ip address 192.168.1.1 dan hubungan antara  ethernet 0 (eth0) ip address 82.12.20.42 dengan internet.
Cara Kerja
Pada saat user/client dari jaringan lokal (192.168.1.3) mengakses internet (http://www.facebook.com) lewat browser maka PC client tersebut akan menghubungi proxy server melalui eth1 (192.168.1.2) kemudian proxy server meneruskan request tersebut melalui eth0 (82.12.20.42), kemudian diteruskan ke alamat server yang direquest user, setelah mendapat respon balik ke proxy server akan diteruskan kembali ke user. Dan terbukalah tampilanhttp://www.facebook.com pada browser user.
Kemudian agar user dapat menggunakan proxy server maka dilakukan beberapa pengaturan pada aplikasi yang dipakai user, misalnya pada browser Mozilla Firefox pengaturan ada di Tools – Options – Advanced – Network – Settings, kemudian pilih Manual proxy configuration, dan isi IP proxy yang dipakai dan port yang digunakan.
Pengaturan tersebut juga dilakukan pada aplikasi-aplikasi yang mmbutuhkan koneksi internet, misal Internet download manager, Yahoo messanger, Antivirus untuk melakukan update online, dll.
Manfaat dari proxy itu sendiri adalah :
* Menghemat Bandwidth yang ada pada jaringan tsb
* Koneksi pada jaringan tersebut seakan-akan terasa lebih cepat.
* Dapat memblokir situs2 yang kita inginkan, mis : situs porno, judi dll.


Supported by : blogerahman.staff.unisbank.ac.id
                      www.unisbank.ac.id

Selasa, 02 April 2013

Implementasi Bus-Based Multiprocessor

Diposting oleh iEKa Listy di 03.00 0 komentar
Ika Sulistyaningsih
10.01.53.0156


Implementasi Bus-Based Multiprocessor


Fig. 6-2. (a) A multiprocessor. (b) A multiprocessor with caching

Jika kita melihat secara dekat Gambar6-2 (a), kita melihat bahwa hubungan antara CPU dan memori adalah seperti kumpulan kabel paralelbeberapa memegang alamat CPU yg bs membaca atau menulissebagian untuk mengirim atau menerima datadan sisanyauntuk mengendalikan transferAtau sering disebut dengan busBus ini adalah on-chip,tetapi dalam kebanyakan sistembus tergolong eksternal dan digunakan untuk menghubungkan mainboard yang mengandung CPUmemoridan I / O controllerPada komputer desktopbus biasanya bergantung pada papan utama (main-board), yang memegang CPU dan beberapa memoridan ke mana I / O kartu terpasangPadaminicomputer bus biasanya beroperasi pd rute antara prosesormemoridan I / Ocontroller.

Sebuah cara sederhana namun praktis untuk membangun multiprosesor adalah denganmendasarkan pada sebuah bus yang lebih dari satu CPU yang terhubungGambar6-2 (a)menggambarkan sebuah sistem dengan tiga CPU dan memori bersama di antara mereka semuaKetika salah satu dari CPU ingin membaca sebuah kata dari memori,menempatkan alamat dari kata yang diinginkan di bus dan menegaskan (menempatkansinyal padajalur bus kontrol menunjukkan bahwa ia ingin dibacaKetika memori telahdiambil kata yang dimintamenempatkan kata pada bus dan 
mengambil garis kontrol yglain untuk mengumumkan bahwa itu siapCPU kemudian membaca itu dalam sebuahkataMenulis dengan cara analog.

Untuk mencegah dua atau lebih CPU dari percobaan untuk mengakses memori pada saat yang sama, semacam arbitrase/pengaturan bus diperlukan. Berbagai skema sedang digunakan. Misalnya, untuk mendapatkan bus, CPU pertama mungkin harus meminta itu dengan menegaskan garis permintaan khusus. Hanya setelah menerima izin akan hal itu diperbolehkan untuk menggunakan bus. Pemberian izin ini dapat dilakukan dengan cara terpusat, dengan menggunakan perangkat arbitrase bus, atau dengan cara desentralisasi, dengan CPU meminta pertama sepanjang bus memenangkan konflik apapun.

Kerugian dari memiliki sebuah bus tunggal adalah bahwa dengan sesedikit tiga atau empat CPU bus kemungkinan akan menjadi kelebihan beban. Pendekatan yang biasa dilakukan untuk mengurangi beban bus adalah untuk membekali setiap CPU dengan cache snooping (kadang-kadang disebut cache snoopy), disebut demikian karena "snoops" di bus. cache ditunjukkan pada Gambar. 6-2 (b). Mereka telah menjadi subyek dari sejumlah besar penelitian selama bertahun-tahun (Agarwal et al, 1988;. Agarwal dan Cherian, 1989; Archibald dan Baer, ​​1986; Cheong dan Veidenbaum, 1988; Dahlgren et al, 1994;. Eggers dan Katz , 1989a, 1989b, Nayfeh dan Olukotun, 1994; Przybylski et al, 1988;. Scheurich dan Dubois, 1987; Thekkath dan Eggers, 1994; Vernon et al, 1988;. dan Weber dan Gupta, 1989). Semua makalah ini menyajikan protokol konsistensi persediaan yang sedikit berbeda, yaitu, aturan untuk memastikan bahwa cache yang berbeda tidak mengandung nilai yang berbeda untuk lokasi memori yang sama.

KELEBIHAN :
    mencegah dua atau lebih CPU untuk mengakses memori pada saat yang sama,
KEKURANGAN :
    dengan sesedikit tiga atau empat CPU bus kemungkinan akan menjadi kelebihan beban.
 

iEKa bLog Copyright © 2012 Design by Antonia Sundrani Vinte e poucos