Kinerja komputer menggunakan parallel processing

Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software.

Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing


MUTLITASKING

Multitasking adalah kemampuan untuk menjalankan lebih dari satu tugas secara bersamaan. Istilah multitasking dan multiprocessing kadang dipergunakan secara bergantian, meskipun multiprocessing kadang melibatkan lebih dari satu CPU.

Pada multitasking, hanya dipergunakan satu CPU, namun perpindahan antar satu program ke program lainnya dilakukan dengan sangat cepat sehingga jika dilihat akan nanpak bahwa program dijalankan secara bersamaan.

Ada dua jenis multitasking, yaitu preemptive dan cooperative. Pada preemptive multitasking, sistem operasi akan membagi waktu CPU untuk setiap program. Sedangkan pada cooperative multitasking, setiap program dapat mengendalikan CPU selama masih diperlukan. Jika sebuah program tidak mempergunakan CPU, maka program yang lain dapat mempergunakannya.

Contoh sistem operasi yang mempergunakan preemptive multitasking antara lain adalah OS/2, Windows 95, Windows NT dan UNIX. Sedangkan sistem operasi yang mempergunakan cooperative multitasking adalah Windows seri 3.x.(dna)


MULTIPROCESSING

Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.

Multiprocessing juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.

Multiprocessing dapat dibagi ke dalam beberapa kelas, yakni:

Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam
o Asymmetric Multiprocessing (ASMP)
o Symmetric Multiprocessing (SMP)
o Non-uniform memory access (NUMA) multiprocessing
o Clustering

Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (lihat Taksonomi Flynn)
o SISD (Single Instruction on Single Data Stream)
o SIMD (Single Instruction on Multiple Data Stream)
o MISD (Multiple Instruction on Single Data Stream)
o MIMD (Multiple Instruction on Multiple Data Stream)

Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam
o Loosely coupled
o Thightly coupled

Salah satu contoh di atas adalah SIMD

SIMD adalah singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan pada komputer pribadi.

Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green), dan biru (blue).

Untuk melakukan perubahan brightness, nilai R, G, dan B akan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.

Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:
• Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!" (istilah "semua" adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan satu instruksi untuk satu data saja).

• Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.

Sayangnya, beberapa desainer SIMD terbentur dengan beberapa pertimbangan desain yang berada di luar kontrol mereka. Salah satu pertimbangan tersebut adalah harus menambahkan banyak register untuk menampung data yang akan diproses. Idealnya, hal ini dapat dilakukan dengan menambahkan unit SIMD ke dalam prosesor agar memiliki registernya sendiri, tetapi beberapa desainer terpaksa menggunakan register yang telah ada, umumnya yang digunakan adalah register floating-point. Register floating-point umumnya memiliki ukuran 64-bit, yang lebih kecil daripada yang dibutuhkan oleh SIMD agar bekerja secara optimal, meskipun hal ini dapat mendatangkan masalah jika kode hendak mencoba untuk menggunakan instruksi floating-point dan SIMD secara bersamaan.

Pada pendesainan awal SIMD, terdapat beberapa prosesor yang khusus disiapkan untuk melakukan tugas ini, yang seringnya disebut sebagai Digital Signal Processor (DSP). Perbedaan utama antara SIMD dan DSP adalah DSP merupakan prosesor yang komplit dengan set instruksinya sendiri (yang meskipun lebih sulit digunakan), sementara SIMD hanya bergantung pada register general-purpose untuk menangani detail program, dan instruksi SIMD hanya menangani manipulasi data.

Penggunaan instruksi SIMD pertama kali dilakukan dalam superkomputer vektor dan dipopulerkan oleh Cray pada tahun 1970-an. Akhir-akhir ini, SIMD skala kecil (64-bit atau 128-bit) telah menjadi populer dalam CPU yang bersifat general purpose, yang dimulai pada tahun 1994 dengan set instruks MAX yang diaplikasikan pada Hewlett-Packard PA-RISC. Instruksi SIMD, saat ini dapat ditemukan dalam kebanyakan prosesor, seperti halnya AltiVec dalam prosesor PowerPC; Intel MMX, SSE, SSE2, SSE3, SSE4, AMD 3DNow! dalam prosesor Intel x86; VIS dalam prosesor prosesor SPARC; MAX dalam Hewlett-Packard PA-RISC; MDMX serta MIPS-3D dalam MIPS serta MVI dalam prosesor DEC Alpha. Meskipun demikian, perangkat lunak pada umumnya tidak mengeksploitasi instruksi, dan bahkan instruksi ini hanya digunakan dalam aplikasi yang khusus, seperti pengolahan grafik.




AMD PROCESSOR

AMD K10
Processor multi-core sudah menjadi salah satu tren pengembangan processor terkini. Tidak cukup dengan dual-core, quad-core pun mulai dipandang diperlukan bahkan pada sebuah processor desktop PC. K10 adalah kode untuk arsitektur prosesor terbaru dari AMD yang hadir untuk menggantikan arsitektur K8 dan K8L (K8 dengan efisiensi energi) yang sudah terhitung uzur untuk sebuah teknologi prosesor.
Seperti diungkapkan AMD, untuk mengantisipasi perkembangan teknologi serta “menyegarkan” kinerja prosesor agar bisa bersaing dengan kompetitornya, AMD melakukan perubahan. Salah satunya, ya ini. Implementasi K10 pada prosesor terbaru. Asal tahu saja, AMD sendiri tidak pernah merancang arsitektur K9. Setelah K7, dan K8 (serta K8L), mereka langsung lompat ke K10.
Prosesor-prosesor yang menggunakan teknologi K10 adalah dari jajaran prosesor Opteron (untuk server) dan Phenom (untuk desktop). Prosesor tersebut mulai diluncurkan akhir 2007. Inti prosesor Opteron yang mendukung 4 inti asli (native Quad Core).

Era Processor Multi-Core
Sudah kurang lebih satu tahun pengguna komputer disuguhi pilihan untuk menikmati penggunaan quad-core processor. Baik Intel dan AMD memberikan solusi yang berbeda. Tidak ketinggalan dengan Intel yang sudah terlebih dahulu menawarkan pilihan processor untuk desktop PC dengan quad-core. Meskipun sebelumnya AMD juga sudah memberikan solusi penggunaan 4 core pada desktop PC, namun pendekatan 4x4 dengan QuadFX belum dirasakan cukup. Kehadiran processor quad-core yang sebenarnya, menjadi sebuah kewajiban untuk menjawab tantangan yang diberikan oleh pesaingnya.

AMD Phenom
Di pertengahan tahun 2007, AMD mengumumkan akan hadirnya jajaran processor family dengan sebutan AMD Phenom yang memiliki codename “FASN8” (dibaca: “fascinate”). Ditujukan terutama untuk segmentasi enthusiast. Direncanakan akan hadir pada awal Q4 2007 ini. Processor AMD Phenom ini sendiri sudah didemokan, dan dengan menggunakan DSDC (Dual Socket Direct Connect), AMD juga sempat mendemokan 8-core platform pada kesempatan yang sama saat memperkenalkan AMD Phenom. Ini dimung- kinkan dengan penggunaan dua processor quad-core AMD Phenom dalam sebuah platform DSDC. Masih mirip dengan yang ditawarkan pada QuadFX terdahulu
Native Quad-Core Processor
Untuk sebuah produk processor, AMD bukanlah yang memproduksi processor dengan quad-core pertama. Namun klaim AMD untuk menjadi pihak yang memproduksi native quad-core processor, memang ada benarnya. Tidak dengan menghadirkan sebuah processor yang mengemas dua die, masing-masing dengan dual-core processor, dalam satu kemasan processor. Namun AMD melakukan pendekatan yang berbeda, dengan sebuah quad-core processor dalam satu die. Maka, sebutan sebagai native quad-core processor memang pantas disebutkan untuk processor quad-core ini. Selain menghadirkan processor quadcore, tidak hanya itu yang ditawarkan oleh AMD Phenom. AMD Phenom juga tentu saja tidak melupakan penggunaan energy effi cient, yang memungkinkan peningkatan kinerja performance-per-watt yang optimal. Hal ini juga didukung dengan penggunaan teknologi HyperTransport, dan terutama 128-bit Floating Point Unit yang membantu meningkatkan kinerja secara keseluruhan. Juga architecture K10 yang melakukan pendekatan berbeda dalam mewujudkan quad-core. Sedikit banyak hal ini menguntungkan khususnya dalam hal aliran data. Ini juga yang menyebabkan AMD memandang perlu meningkatkan kapasitas L1 dan L2 cache yang digunakan pada generasi processor ini.

AMD Phenom Processor
Tentunya tidak hanya end-user yang menyambut berita ini. Baik pengguna enthusiast, digital content creator, dan pengguna mainstream kebanyakan akan mendapatkan pengalaman baru dalam produktivitas, menggunakan digital media, ataupun kegiatan lain dengan meningkatnya kemampuan multitasking. Namun, untuk enthusiast yang masih menginginkan kinerja yang lebih baik, processor AMD Phenom FX akan memberikan kemampuan yang dijanjikan jauh lebih baik. Selain sekadar memanfaatkan quad-core juga dengan ketersedian octa-core platform memanfaatkan architecture Dual Socket Direct Connect (DSDC). Mirip dengan yang digunakan dalam platform QuadFX terdahulu. Tentunya, hal ini tidak akan terwujud dengan mulus tanpa kerja sama dengan penyedia komponen pendukung lainnya yang akan dibutuhkan platform ini. Katakanlah seperti kalangan produsen chipset ataupun motherboard.
Quad-core processor versi AMD dengan AMD Phenom cukup memberikan kesan yang menjanjikan untuk mendapatkan peningkatan kinerja dengan multitasking penggunaan dengan intensitas yang tinggi dan tentunya aplikasi yang mendukung multi-thread, juga tidak ketinggalan untuk gaming. Tidak ketinggalan beberapa pihak developer game juga menyambut gembira kedatangan quad-core processor ini. Seperti publisher Microsoft Game Studios yang sudah memberikan patch Service Pack1 untuk Microsoft Flight Simulator X. Patch SP1 ini akan membuatnya mampu melakukan proses terrain loading dan texture dalam perintah multi-thread yang akan menguntungkan untuk processor multi-core seperti AMD Phenom ini. Atau seperti pada Unreal Engine 3 yang juga sudah dapat mengoptimalkan penggunaan quad-core processor atau bahkan lebih. Pada engine ini multi-core processor akan meningkatkan percepatan proses kalkulasi untuk physics dan AI(artificial Intelligent). Dan tentu saja ini membantu pihak developer engine tersebut untuk meningkatkan tingkat realistic kemiripan dengan dunia nyata yang dapat disertakan pada game.

Tidak ada komentar: