Selasa, 09 Mei 2017

Parallel Computing

Parallel Computing

Pengertian dan Perkembangan awal dari Parallel Computing (Komputasi Paralel)
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar nodedalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel !
Salah satu middleware orisinal yang dikembangkan di Indonesia adalah openPC[1] yang digawangi oleh GFTK LIPI dan telah diimplementasikan dengan di LIPI Public Cluster.

Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.

Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

Bahasa populer dalam Pemrograman Paralel :

MPI (Message Passing Interface) -> bahasa pemrograman dengan basis pertukaran pesan.
Open MP -> cara kerja nya sama dengan MPI tetapi lebih mudah untuk digunakan.

Pada awalnya pemrograman paralel dilakukan pada CPU (Central Processing Unit) yang memiliki lebih dari 1 Core (Inti), dan pada saat itu hanya super computer saja yang memiliiki CPU dengan lebih dari 1 inti, dan paralelisasi dilakukan dengan melalui jaring komputer.

Perkembangan Komputasi Paralel Pada Masa Kini

Komputasi paralel pada masa kini dapat diimplementasikan pada komputer-komputer rumah (Home User). Karena saat ini komputer-komputer sudah memiliki lebih dari 1 core, sehingga dapat diimplementasikan dengan mudah. Akan tetapi penggunaan CPU pada komputasi paralel dirasa kurang memiliki performance yang optimal, sehingga para developer dari NVIDIA mengembangkan hardware yang diberi nama GPU (Graphical Processing Unit) pada tahun 1999, GPU memiliki performance yang jauh lebih baik daripada CPU karena memiliki Core (Inti) yang lebih banyak daripada CPU, 1 inti dapat memiliki banyak thread (Benang), sehingga program dapat berjalan dengan optimal.

NVIDIA juga mengembangkan sebuah software yang dapat digunakan bersamaan dengan GPU NVIDIA, software tersebut diberi nama CUDA (Compute Unified Device Architecture). CUDA digunakan untuk mengendalikan GPU sehingga dapat berjalan dengan optimal dan dikendalikan dengan mudah.

 NVIDIA memiliki 3 arsitektur GPU yang dapat digunakan untuk komputasi paralel, arsitektur tersebut adalah :

NVIDIA Tesla Architecture
NVIDIA Fermi Architecture
NVIDIA Kepler Architecture
Arsitektur yang pertama kali diproduksi secara massal oleh NVIDIA adalah Tesla. Lalu selanjutnya dioptimalkan dengan Fermi, dan yang saat ini paling banyak digunakan adalah Kepler.

Pemrograman dengan CUDA ditulis dengan bahasa C sehingga dapat diimplementasikan dengan mudah

SUMBER:



Tugas Progjar individu 2

Tugas Progjar individu 2

KONFIGURASI DNS SERVER, WEB SERVER, MAIL SERVER,
FTP SERVER  DENGAN MENGGUNAKAN FEDORA 7

Apa itu FEDORA ?
Fedora  (sebelumnya bernama Fedora Core, kadang-kadang disebut juga dengan Fedora Linux) adalah sebuah distro Linux berbasis RPM dan yum yang dikembangkan oleh Fedora Project yang didukung oleh komunitas pemrogram serta disponsori oleh Red Hat. Nama Fedora berasal dari karakter fedora yang digunakan di logo Red Hat. Pada rilis 1 sampai 6 distro ini bernama Fedora Core yang kemudian berubah menjadi Fedora pada rilis ke-7. Fedora dikenal di dunia Linux sebagai sebuah distro yang menjadi pioneer dalam penggunaan teknologi terkini dan merupakan distro yang digunakan oleh Linus Torvalds.
Salah satu visi utama Fedora tidak hanya mengandung software dibawah lisensi software open source dan gratis, tetapi juga menjadi teknologi yang mutakhir. Pengembang fedora lebih membuat perubahan yang signifikan daripada hanya memperbaiki khususnya untuk bahwa update Fedora dapat digunakan oleh semua Linux.

Dibandingkan dengan kebanyakan sistem operasi Non-Linux, Fedora memiliki siklus kehidupan yang singkat. Versi X dipertahankan hanya satu bulan sampai versi X+2 diluncurkan. Dengan hanya 6 bulan selisih, dan periode perawatan hanya 13 bulan setiap versinya. Ini dapat membawa permasalahan yang mungkin menggunakan versi Fedora tertentu untuk pengembangan produknya (ex, embedded systems) di mana dukungan jangka panjang lebih penting daripada memelihara software revisi termukhtakir.
Konfigurasi DNS Server
Berikut langkah-langkah membuat DNS server :
1. Setting IP di Fedora
Pilih eth sesuai lancard.
# vi /etc/sysconfig/network-script/ifcfg-eth0
Isi seperti di bawah ini:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.21.255
HWADDR=00:0c:29:d3:65:4b
IPADDR=192.168.21.1      (Ip anda)
NETMASK=255.255.255.0
NETWORK=192.168.21.0  (Ip network anda)
ONBOOT=yes
DNS1=192.168.21.1   (DNS anda)
NM_CONTROLLED=
 
Restart network
# service network restart
Shutting down interface eth0:                           [  OK  ]
Shutting down loopback interface:                   [  OK  ]
Bringing up loopback interface:                       [  OK  ]
Bringing up interface eth0:                                [  OK  ]
2. Install paket yaitu bind dengan perintah
# yum -y install bind


3. Buat direktori named.conf dan konfigurasi :
#  vi /var/named/chroot/etc/named.conf
atau
# vim /var/named/chroot/etc/named.conf

Setting seperti dibawah :
Tekan tombol Insert.

options {
directory "/var/named/";
};

zone "zainul.com" IN {  (Nama Domain anda)
        type master;
        file "forward";  (Nama file penyimpanan zona foraward anda silahkan anda ganti dengan nama terserah anda)
};

zone "21.168.192.in-addr.arpa" IN {  (IP DNS anda)
        type master;
        file "reverse";  (Nama file penyimpan zona reverse anda silahkan anda ganti dengan nama terserah anda)
};

Kemudian Simpan dengan tekan ESC ketik :wq Enter

4. Buat file zone forward dan reverse dengan nama sama dengan yang di set di named.conf.

Jika Bind di install pada saat menginstall fedora 7 :
# cd /var/named/chroot/var/named/   (Masuk ke direktori named)
# cp localhost.zone forward  (Kemudian copy localhost.zone dengan nama zona forward anda)
# cp named.local reverse (Copy named.local dengan nama zona reverse anda)

Bind di install selesai menginstall fedora 7 :
# cd /usr/share/doc/bind-9.4.0/sample/var/named/
# cp localhost.zone /var/named/chroot/var/named/forward  (forward nama file direktori sama dingan di named.conf)
# cp named.local /var/named/chroot/var/named/reverse    (reverse nama file direktori sama dingan di named.conf)

5. Setting zona forward dan reverse
# cd /var/named/chroot/var/named/
Setting zone forward
# vi forward
$TTL    86400
@               IN SOA  zainul.com. (domain anda.)       root.zainul.com. (   (root.domain anda.)
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

@               IN NS           zainul.com.      (nama domain anda.)
ns              IN A            192.168.21.1     (Ip DNS anda)
@               IN A            192.168.21.1     (Ip DNS anda)
www             IN A            192.168.21.1     Subdomain www (Ip DNS anda)
                IN AAAA        ::1
Setting zone reverse
# vi reverse
$TTL    86400
@       IN      SOA     zainul.com. (domain anda.) root.zainul.com.  (   (root.domain anda.)
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
@                IN      NS      zainul.com.     (nama domain anda.)
1  (IP DNS anda)     IN      PTR     zainul.com.     (nama domain anda.)


6. Jangan Lupa di chmod zone forward dan reverse # chmod 777 /var/named/chroot/var/named/forward -R
# chmod 777 /var/named/chroot/var/named/reverse -R


7. Setting resolv
# vi /etc/resolv.conf
Tambahkan :
nameserver 192.168.21.1 (IP DNS anda)
8. Restart Named
# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

9. Cek dengan perintah : # nslookup
> zainul.com
Server:         192.168.21.1
Address:        192.168.21.1#53

Name:   zainul.com
Address: 192.168.21.1
> www.zainul.com
Server:         192.168.21.1
Address:        192.168.21.1#53

Name:   www.zainul.com
Address: 192.168.21.1
> exit

Konfigurasi WEB Server
Berikut langkah-langkah setting Web server :
1. Install paket httpd terlebih dahulu
# yum -y install httpd

2. Masuk konfigurasi httpd
# vi /etc/httpd/conf/httpd.conf
ServerAdmin zainul@zainul.com
ServerName 192.168.21.1:80               (IP DNS anda:80)DirectoryIndex index.php index.html index.html.var    (Tambahkan index.php)
NameVirtualHost 192.168.21.1:80        (IP DNS anda:80)

#    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html      (Tempat penyimpanan web anda)
    ServerName www.zainul.com     (Domain anda)#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
Kemudian simpan dengan tekan tombol ESC ketik :wq Enter.
3. Buat file index.php ditempat penyimpanan yang di setting di httpd.
# vim /var/www/html/index.php
Tekan Insert dan tambahkan script :


Kemudian simpan dengan tekan Esc ketik :wq Enter.

4. Restart httpd
# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
5. Cek di Web browser www.zainul.com (domain anda).

Konfigurasi MAIL Server
2. Buat DNS
Pada zona forward tambahkan script dibawah :
mail    A                     192.168.21.1
        IN MX 10           mail.zainul.com.

3. Restart named
#service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

4. Cek subdomain mail :
# nslookup
> mail.zainul.com
Server:         192.168.21.1
Address:        192.168.21.1#53 

Name:   mail.zainul.com
Address: 192.168.21.1
> exit

5. Install paket dovecot dan postfix
#yum -y install dovecot
#yum -y install postfix
6. Setting postfix :
#vi /etc/postfix/main.cf
Edit atau tambahkan dengan tekan INSERT seperti di bawah :

myhostname = zainul.zainul.com (localhost.domain anda)

mydomain = zainul.com  (domain anda)

myorigin = $mydomain

inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#mail.$mydomain, www.$mydomain, ftp.$mydomain 

mynetworks_style = subnet

mynetworks = 192.168.21.0/24 (Ip anda / subnet mask), 127.0.0.0/8

Kemudian simpan dengan tekan tombol ESC ketik :wq Enter.
7. Setting dovecot :
# vim /etc/dovecot.conf
Hilangkan tanda pagar pada :
protocols = imap imaps pop3 pop3s

Kemudian simpan dengan tekan tombol ESC ketik :wq Enter.

8. Biasanya sudah terinstall sendmail matikan sendmail terlebih dahulu dengan perintah :
#service sendmail stop
Shutting down sm-client:                                   [  OK  ]
Shutting down sendmail:                                    [  OK  ]

9. Restart dovecot :
#service dovecot restart
Stopping Dovecot Imap:                                     [  OK  ]
Starting Dovecot Imap:                                     [  OK  ]

10. Restart Postfix :
#service postfix restart
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]

11. Buat User :
#useradd -m arema
#passwd arema
New UNIX password:
Retype new UNIX password:

Untuk membuat lagi user ikuti langkah di atas karena kalau mail harus memiliki minimal 2 user untuk mengecheck apakah berhasil atau tidaknya.

12. Cek mengirim email :
#telnet mail.zainul.com 25   (mengirim email)
Trying ::1...
Connected to mail.zainul.com.
Escape character is '^]'.
220 zainul.zainul.com ESMTP Postfix
mail from: zainul      (mail dari user)
250 2.1.0 Ok
rcpt to: arema          (user yang menerima email)
250 2.1.5 Ok
data   (data yang dikirim)
354 End data with .
Salam Satu Jiwa   (isi data yang dikirim)
.
250 2.0.0 Ok: queued as C1FCD50072
quit   (keluar dari telnet 25)
221 2.0.0 Bye
Connection closed by foreign host.

13. Cek email ditrima atau tidak :
#telnet mail.zainul.com 110
Trying ::1...
Connected to mail.zainul.com.
Escape character is '^]'.
+OK Dovecot ready.
user arema   (user yang dikirimi email)
+OK
pass arema   (password user)
+OK Logged in.
list          (untuk melihat dapat pesan atau tidak)
+OK 1 messages:
1 453
.
retr 1         (melihat isi email)
+OK 453 octets
Return-Path:
X-Original-To: arema
Delivered-To: arema@zainul.com
Received: from localhost6.localdomain6 (localhost6.localdomain6 [IPv6:::1])
        by zainul.zainul.com (Postfix) with SMTP id C1FCD50072
        for ; Fri, 10 Dec 2010 04:07:41 +0700 (WIT)
Message-Id: <20101209210748.C1FCD50072@zainul.zainul.com>
Date: Fri, 10 Dec 2010 04:07:41 +0700 (WIT)
From: zainul@zainul.com
To: undisclosed-recipients:;

Salam Satu Jiwa  (isi email yang di kirim)
.
quit   (keluar dari telnet 110)
+OK Logging out.
Connection closed by foreign host.

Setting Webmail dengan menggunakan squirrelmail
Install Squirrelmail
Misal dari flash disk :
1. Masuk Flashdisk
# mount /dev/sdb1 /media
# cd /media
# ls (melihat isi direktori)
2. Install Squirrelmail
# tar xvfz squirrelmail-1.4.19.tar.gz -C /var/www/
3. Ganti nama squirrelmail..... dengan nama yang tidak terlalu panjang agar mudah menulisnya.
# cd /var/www/ (tempat penyimpanan direktori squrrelmail)
# ls (melihat isi direktori)
# mv squirrelmail-1.4.19/ webmail (mengganti nama squirrelmai dengan webmail agar mudah pengaturannya)

4. Setting Squirrelmain
# /var/webmail/configure
Pada Menu Squirrelmail pilih no 2 yaitu Server Setting
Command >> 2 Enter

Ganti nama domain dengan pilih Command
Command >> 1

ganti dengan zainul.com (Dns anda)
Kemudian ganti IMAP Setting dengan Command >> A
Command >> 4 (ganti Imap server)
Ganti dengan zainul.com (Dns anda)

Ganti Update SMTP Setting dengan cara Command >> B
Pilih Command >> 4
Ganti dengan zainul.com


Kemudian Simpan dengan
Command >> S

Kembali ke menu squirrelmail
Command >> D

Kemudian Command >> dovecot


Kembali ke menu squirrelmail
Setting General Options Command >> 4
Ganti Data Directory Command >> 1
Ganti dengan ../data/ 

Kemudian Simpan dengan Command >> S

Masuk pada konfigurasi httpd : #vi /etc/httpd/conf/httpd.conf
Tambahkan dengan tekan INSERT :

#    ServerAdmin admin@zainul.com
    DocumentRoot /var/webmail
    ServerName mail.zainul.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common

Restart httpd
# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]


Kemudian
# chmod 777 /var/webmail/ -R 

Cek di komputer client
Buka browser mail.zainul.com (Dns mail anda)

Kemudian coba login dengan menggunakan salah satu user

Coba kirim email ke user lain


Kemudian keluar
Login dengan user yang anda kirimi email

Kemudian cek apakah sudah masuk



Membuat alias mail
Masuk pada konfigurasi httpd : #vi /etc/httpd/conf/httpd.conf
Tambahkan dengan tekan INSERT :


alias /webmail "/var/webmail"

Restart httpd
# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

Kemudian
# chmod 777 /var/webmail/ -R 
Cek di komputer client
Buka browser zainul.com/webmail (DNS anda)

Konfigurasi FTP Server
1. Install Fedora terlebih dahulu
2. Buat DNS
Dan tambahkan script dibawah pada zone forward dns :
ftp     A       192.168.21.1   (ip FTP anda)
Restart DNS
# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]
 
Cek Domain FTP yang tadi dibuat :
# nslookup
> ftp.zainul.com
Server:         192.168.21.1
Address:        192.168.21.1#53

Name:   ftp.zainul.com
Address: 192.168.21.1
> exit
3. Install Paket vsftpd dengan perintah :
# yum -y install vsftpd
4. Setting FTP
# vi /etc/vsftpd/vsftpd.conf
atau 
# vim /etc/vsftpd/vsftpd.conf

Setting seperti dibawah :
anonymous_enable=NO     (jika yes berarti langsung masuk atau tidak pakek authentifikasi)
local_enable=YES
write_enable=YES
local_umask=022
Kemudian Simpan dengan tekan ESC ketik :wq Enter.

5. Restart FTP
# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

6. Buat user jika belum ada.
# useradd -m zainul
# passwd zainul
New UNIX password:
Retype new UNIX password:

7. Cek FTP di browser. Misal : ftp.zainul.com
Masukkan User dan Password.

Akan Tampil Seperti gambar dibawah.

 8. Mengisi file FTP agar bisa di dowload misal : software, game, OS dll.
Masuk Explorer pada Windows lewat client. Buka di address bar alamat ftp misal : ftp.zainul.com


 9. Copy file ke folder FTP.

10. Coba cek di browser dan Download File nya.



Kamis, 04 Mei 2017

Processor Multicore


                                                                Processor Multicore

Processor Multi-core untuk Mengikuti Hukum Moore
Para insinyur mencoba melakukan pendekatan yang berbeda untuk meningkatkan performa dari komputer dengan memanfaatkan ekstra processor. Proses ini berkembang dan populer digunakan pada server pada periode awal 1990an. Di saat yang sama, para pengembang processor mendapatkan tantangan serius untuk menciptakan processor dengan performa yang sejalan dengan hukum Moore. Processor multi-core merupakan solusi masalah ini dimana sebuah chip tunggal dapat terdiri lebih dari satu unit microprocessor. Setiap processor dapat bekerja secara simultan untuk menangani instruksi secara paralel. Cara ini secara efektif melipatgandakan performa processor berbanding lurus dengan jumlah core yang terdapat di dalamnya.


Pada 2005, AMD merilis processor dual-core pertama dengan nama Athlon X2. Dalam beberapa minggu, Intel meluncurkan Intel Pentium D yang menerapkan konsep multi-core pada processor. Selain dua pemain utama ini, Sun Microsystems juga meluncurkan Niagara dan Niagara 2 yang dirancang menggunakan delapan inti processor. Komputer desktop modern saat ini mendukung sistem yang menggunakan multi-core. Baik Intel maupun AMD menawarkan microprocessor yang terdiri dari 4 dan 6 inti processor. Saat ini, AMD sedikit lebih maju dengan meluncurkan jenis microprocessor dengan delapan inti lewat seri FX-8xxx.
Sejak kemunculan era multi-core processor, AMD dan Intel bergantian menawarkan lini processor terdepan untuk menawarkan pengalaman komputasi terbaik. Dalam pangsa pasar processor, Intel mengungguli AMD dengan seri Sandy Bridge dan Ivy Bridge. Sementara pada pasar server, AMD dikenal mampu mencapai performa superior dengan harga yang lebih baik.

A.      Multicore Processor
Multicore menyediakan 4-arah multitask pengolahan dengan Intel HT Technology dan dua core fisik berdedikasi membantu untuk memberikan performa tambahan di berbagai jenis aplikasi dan beban kerja. Di bawah ini akan dijelaskan beberapa jenis core, single core sampai multicore

1.      Single Core
Single core atau tradisional CPU eksekusi instruksi string harus dengan memesan, jalankan, lalu simpan dalam cache secara selektif dan pencarian cepat. Ketika data yang diperlukan di luar cache, maka akan diambil melalui sistem bus dari random access memory (RAM) atau dari perangkat penyimpanan.

2.      Dual Core
Pada prosesor dual core ini akan terjadi pengabungan dua prosesor beserta cache, namun dalam satu kemasan chip atau integrated circuit (IC). Keuntungan dual core terutama pada cache coherency. Dengan dual core, komunikasi antara kedua die dapat dilakukan pada clock rate yang lebih tinggi dibandingkan jika memanfaatkan bus di luar chip.
Dalam sebuah prosesor dual core masing-masing inti menangani string data masuk secara bersamaan untuk meningkatkan efisiensi. Seperti halnya dua kepala lebih baik dari satu. Sekarang ketika salah satu mengeksekusi, yang lain dapat mengakses sistem bus atau mengeksekusi kode sendiri. Menambahkan skenario ini sangat menguntungkan, baik AMD dan Intel sebagaimana terlihat pada dual-core adalah 64-bit.
Untuk menggunakan prosesor dual core, sistem operasi harus dapat mengenali multi-threading dan perangkat lunak harus memiliki simultaneous multi-threading technology (SMT) yang ditulis dalam kodenya. SMT memungkinkan paralel multi-threading dimana core melayani instruksi multi-threaded secara paralel. Tanpa SMT software hanya akan mengenali satu inti. Adobe ® Photoshop ® merupakan contoh perangkat lunak yang menanggapi SMT dengan sangat baik. TPS juga digunakan dengan sistem multi-prosesor seperti umumnya diterapkan pada server.
a.       Prosesor ”dual core” AMD
Untuk prosesor berbasis deskstop pada model dual core ini, AMD pertama kali meluncurkan prosesor dengan nama Athlon 64 X2. Dengan masing-masing core diperkuat 64K L1 intruction cache dan 64 K L1 data cache.
Untuk komunikasi kedua core AMD X2 tersebut akan berkomunikasi secara langsung melalui system request queue dan crossbar yang akan menghubungkannya dengan onchip memory controller dan Hyper-Transport I/O. Dengan desain arsitektur seperti ini, lebih memungkinkan kedua prosesor pada masing-masing core dapat secara optimal memanfaatkan resource yang tersedia. Tanpa terhambat oleh batasan, seperti katakanlah sistem bus. Ini juga akan memperkecil latency karena semua yang disebut tadi masih terletak dalam satu chip.
b.      Prosesor “dual core” Intel


Prosesor dual core dari Intel untuk desktop diluncurkan dengan nama kode Smithfield yang memiliki kecepatan 3.2 GHz dengan masing-masing core dilengkapi dengan L2 cache sebesar 1 MB. Chip yang dinamai Pentium D tersebut memiliki kecepatan clock jauh lebih rendah dari CPU core tunggal 3.8 GHz, seperti seri 570 dan 670.
Untuk itu, pada Intel Pentium D juga dilakukan peningkatan branch prediction unit. Dengan memperbaiki kinerja branch prediction unit, akan membuat prosesor dapat bekerja secara optimal dan memperkecil kemungkinan kesalahan.

Fungsi hyper-threading tidak ditinggalkan begitu saja untuk prosesor Smithfield ini. Namun, ini hanya akan tersedia untuk prosesor desktop versi high end dari Intel dan tidak akan menemukannya pada setiap prosesor Smithfield, yakni Intel Pentium D 840 (3,2 GHz), Intel Pentium D 830 (3,0 GHz), dan 820 (2,8 GHz).

3.      Core 2 Dou
Secara garis besar kan Core 2 Duo itu secara fisik masih satu prosesor hanya saja, didalam prosesor tersebut terdapat 2 core(atau 2 otak), walau begitu proses kerja bukan berarti 2 kali lipat, tidak.. Tapi menggunakan sistem pembagian, misalnya kernel dan aplikasi background lainnya akan dikerjakan di core 1, tapi jika core 1 dirasa terlalu berat kerjanya maka sebagian pekerjaan akan dipindahkan atau dialokasikan ke core 2.

4.      Multi-Core
Multi-core menyediakan 4-arah multitask pengolahan dengan Intel HT Technology dan dua core fisik berdedikasi membantu untuk memberikan performa tambahan di berbagai jenis aplikasi dan beban kerja
Sebuah prosesor multi-core adalah sebuah sistem pengolahan yang terdiri dari dua atau lebih inti independen. Hal ini dapat digambarkan sebagai sebuah sirkuit terintegrasi ke dua atau lebih individu prosesor (disebut core dalam pengertian ini) telah terpasang. Inti biasanya terintegrasi ke dalam satu sirkuit terpadu (dikenal sebagai chip multiprosesor atau CMP), atau mereka mungkin diintegrasikan ke beberapa dalam satupaket chip. Prosesor dengan banyak-inti adalah salah satu di mana jumlah core yang cukup besar multi-prosesor tradisional teknik tidak lagi efisien – batas ini adalah suatu tempat dalam jangkauan puluhan core – dan mungkin memerlukan jaringan chip.
Sebuah prosesor dual-core berisi dua core, dan quad-core prosesor berisi empat core. Sebuah prosesor multi-core mengimplementasikan multiprocessing dalam satu paket fisik. Core dalam perangkat multi-core dapat digabungkan bersama-sama dengan erat. Sebagai contoh, core mungkin atau mungkin tidak berbagi cache, dan mereka dapat mengimplementasikan pesan lewat atau memori bersama antar-metode komunikasi inti. Umum topologi jaringan untuk menghubungkan core termasuk bus, cincin, 2-dimensi mesh, dan palang. Semua core adalah identik dalam homogen sistem multi-core dan mereka tidak identik dalam heterogen sistem multi-core. Seperti halnya dengan sistem prosesor tunggal, core dalam sistem multi-core dapat mengimplementasikan arsitektur seperti superscalar , VLIW , pengolahan vektor , SIMD, atau multithreading.
a.      Fungsi Multi Core-Processor
Untuk memproses data yang diterima dari masukkan (input), seterusnya akan menghasilkan keluaran (output). Semasa kerja memproses data tersebut, processor juga akan senantiasa berhubungan dengan komponen komputer yang lain, terutamanya hard disk dan RAM. Ia juga digambarkan sebagai “otak” kepada komputer dimana setiap data akan melalui processor bagi menghasilkan keluaran (output) yang sepautnya. Sesuai dengan fungsinya, ia juga dikenal sebagai CPU. Apabila processor tidak berfungsi, maka komponen – komponen komputer yang lain juga tidak dapat berfungsi.

b.      Pengaruh Multi Core-Processor Terhadap Software
Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara paralel. Dalam sistem operasi, kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah. Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi paralel akan mendapatkan keuntungan dari arsitektur multicore.
Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent karena kesulitan dalam pembuatannya. Concurrency memegang peranan utama dalam aplikasi paralel yang sebenarnya.
Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut:
1)      Partitioning. Tahap desain ini dimaksudkan untuk membuka peluang awal pengeksekusian secara paralel. Fokus dari tahap ini adalah mempartisi sejumlah besar tugas dalam ukuran kecil dengan tujuan menguraikan suatu masalah menjadi butiran-butiran kecil.
2)      Communication. Tugas-tugas yang telah terpartisi diharapkan dapat langsung dieksekusi secara paralel tapi tidak bisa, karena pada umumnya eksekusi berjalan secara independen. Pelaksanaan komputasi dalam satu tugas membutuhkan asosiasi data antara masing-masing tugas. Data kemudian harus berpindah-pindah antar tugas dalam melangsungkan komputasi. Aliran informasi inilah yang dispesifikasi dalam fase communication.
3)      Agglomeration . Pada tahap ini kita pindah dari sesuatu yang abstrak ke yang konkret. Kita tinjau kembali kedua tahap diatas dengan tujuan untuk mendapatkan algoritma pengeksekusian yang lebih efisien. Kita pertimbangkan juga apakah perlu untuk menggumpalkan ( agglomerate) tugas-tugas pada fase partition menjadi lebih sedikit, dengan masing-masing tugas berukuran lebih besar.
4)      Mapping . Dalam tahap yang keempat dan terakhir ini, kita menspesifikasi dimana setiap tugas akan dieksekusi. Masalah mapping ini tidak muncul padauniprocessor yang menyediakan penjadwalan tugas.

c.       Kelebihan
Kedekatan core CPU ganda yang sama memungkinkan koherensi cache sirkuit untuk beroperasi pada clock rate jauh lebih tinggi daripada yang jika harus melakukan perjalanan sinyal off-chip. Menggabungkan setara CPU secara signifikan meningkatkan performa cache snoop (alternatif: Bus mengintai) operasi. Secara sederhana, ini berarti bahwa sinyal antara CPU yang berbeda perjalanan jarak pendek, dan karena itu sinyal yang menurunkan kurang. Sinyal berkualitas lebih tinggi ini memungkinkan lebih banyak data yang akan dikirim dalam jangka waktu tertentu karena sinyal individu dapat menjadi lebih pendek dan tidak perlu sering diulang.
Terbesar dalam kinerja meningkatkan kemungkinan akan melihat dalam waktu respon ditingkatkan saat menjalankan proses CPU-intensif, seperti antivirus scan, merobek / pembakaran media (yang membutuhkan konversi file), atau mencari folder. Sebagai contoh, jika scan virus otomatis memulai sementara film sedang dimainkan, aplikasi yang berjalan di film jauh lebih cenderung tidak kekurangan daya prosesor, seperti program antivirus tersebut akan diarahkan ke core prosesor yang berbeda dari yang menjalankan film.
Asumsi bahwai bisa masuk ke dalam paket, secara fisik, multi-core CPU desain membutuhkan jauh lebih sedikit Printed Circuit Board (PCB) ruang dari multi-chip SMP desain. Juga, sebuah prosesor dual-core menggunakan lebih sedikit daya dari dua ditambah prosesor single-core, terutama karena penurunan daya yang diperlukan untuk mengarahkan sinyal luar chip. Selanjutnya, core berbagi beberapa sirkuit, seperti L2 cache dan antarmuka ke front side bus (FSB). Bersaing dalam hal teknologi yang tersedia silikon daerah mati, desain multi-core dapat memanfaatkan perpustakaan inti CPU terbukti desain dan menghasilkan produk dengan risiko rendah kesalahan desain daripada merancang sebuah desain inti baru yang lebih luas. Selain itu, penambahan cache menderita semakin berkurang.
Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara parallel. Dalam system operasi kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah. Setiap aplikasi system berjalan pada prosesnya sendiri sehingga aplikasi parallel akan mendapatkan keuntungan dari arsitektur multicore. Setiap aplikasi harus tertulis secara spesifik untuk memaksimalkan penggunaan dari banyak thread. Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent karena kesulitan dalam pembuatannya. Concurrency memegang peranan utama dalam aplikasi parallel yang sebenarnya.

d.      Kekurangan
Selain sistem operasi (OS) dukungan, penyesuaian perangkat lunak yang ada diwajibkan untuk memaksimalkan pemanfaatan sumber daya komputasi yang disediakan oleh prosesor multi-core. Selain itu, kemampuan multi-core untuk meningkatkan kinerja aplikasi tergantung pada penggunaan benang dalam beberapa aplikasi. Situasi membaik: misalnya Valve Corporation ‘s Sumber mesin, menawarkan dukungan multi-core, dan Crytek telah mengembangkan teknologi serupa untuk CryEngine 2, yang kekuatan permainan mereka, Crysis .Emergent Game Technologies’ Gamebryo mesin teknologi termasuk pintu air mereka yang menyederhanakan multicore permainan di platform pengembangan.
Integrasi multi-core chip drive hasil produksi turun dan mereka lebih sulit untuk mengelola termal dari kerapatan rendah desain chip tunggal. Intel telah sebagian balas Masalah pertama ini dengan menciptakan quad core dengan desain dengan menggabungkan dua dual-core pada satu die dengan cache yang bersatu, maka setiap dua dual-core yang bekerja mati dapat digunakan, berlawanan dengan memproduksi empat core pada satu mati dan mengharuskan semua empat untuk bekerja untuk menghasilkan sebuah quad-core. Dari sudut pandang arsitektur, pada akhirnya, desain CPU tunggal dapat membuat lebih baik menggunakan permukaan silikon dari core multiprocessing, sehingga komitmen pembangunan arsitektur ini dapat membawa risiko keusangan. Akhirnya, kekuatan pemrosesan mentah bukan satu-satunya kendala pada kinerja sistem. Dua core berbagi sama bus sistem dan bandwidth memory membatasi kinerja dunia nyata keuntungan. Jika satu inti adalah dekat untuk menjadi terbatas bandwidth memory, pergi ke dual-core mungkin hanya memberikan 30% sampai 70% perbaikan. Jika memori bandwidth bukan masalah, 90% peningkatan dapat diharapkan rujukan. Akan mungkin untuk suatu aplikasi yang menggunakan dua CPU berakhir berjalan lebih cepat pada satu dual-core jika komunikasi antara CPU adalah faktor pembatas, yang akan dihitung sebagai lebih dari 100% peningkatan.