Rabu, 07 Desember 2011

HYPER-THREADING & DISPATCHING ALGORITHM

1. Teknologi Hyper Threading 






 
 
 
 
 
 
Teknologi Hyper-Threading adalah teknik yang memungkinkan sebuah CPU tunggal dapat bertindak seperti beberapa CPU. Sebuah CPU (single thread) terdiri dari banyak komponen kecil. Pada saat menjalankan proses, beberapa komponen mungkin sibuk memproses instruksi, sedangkan komponen lainnya sedang menuggu untuk dimanfaatkan. Sehingga hal ini mengakibatkan CPU bekerja tidak maksimal.

Hyper-threading memungkinkan bagian-bagian yang berbeda dari CPU untuk bekerja pada tugas yang berbeda secara bersamaan. Dengan cara ini, sebuah komputer dengan CPU Hyper-Threading tampaknya lebih dari satu CPU.

Sebuah CPU dengan Hyper-Threading memiliki dua set sirkuit yang melacak keadaan CPU. Sirkuit ini mencakup sebagian besar register dan petunjuk instruksi. Sirkuit ini berfungsi sebagai fasilitas penyimpanan sementara untuk melacak dimana CPU saat ini bekerja. Bagian dari CPU yang tidak direpleksi adalah L1 dan L2 cache. Hyper-Threading meduplikat sekitar 5% sirkuit dari CPU. Tergantung pada aplikasi perangkat lunak yang digunakan, Hyper-Threading dapat meningkatkan performa hingga enam kali lipat.

Perangkat Lunak Yang Mendukung
Manfaat kinerja Hyper-Threading  hanya dapat dijalankan dengan menggunakan sistem operasi yang mendukung beberapa CPU. Pada sistem operasi, Hyper-Threading akan terlihat seperti dua CPU. Sistem operasi yang mendukung Hyper-Threading diantaranya Microsoft Windows NT 4.0, Microsoft Windows 2000, Microsoft XP Profesional, dan sebagian besar varian Unix.

Cara Kerja Teknologi Hyper-Threading
Pada saat CPU (tanpa Hyper-Threading) memproses instruksi, hanya sekitar 35% unit CPU saja yang terpakai. Sisanya menganggur dan menunggu instruksi sebelumnya selesai. Hal ini disebabakan karena 1 CPU, instruksi-instruksi dikirimkan dalam bentuk single thread. Sehingga instruksi-instruksi tersebut mengantri secara berurutan.
Sedangkan pada CPU Hyper-threading, urutan instruksi dikirim secara multithread (dalam 2 thread secara paralel/bersamaan), sehingga sebuah instruksi tidak harus mengantri dulu instuksi didepannya, tapi dapat langsung diproses oleh Execution Unit yang semula menganggur.

Perbandingan Dengan CPU biasa
Seberapapun besar GHz sebuah CPU, apabila Execution Unitnya sedang memproses instruksi yang belum selesai, maka CPU tersebut akan tetap terhambat untuk menerima instruksi berikutnya, ini karena instruksi harus mengantri berurutan pada jalur single-thread.
Oleh karena itu Tomshardware pernah menyatakan bahwa performa P4 3.06 GHz dengan HT sanggup mengalahkan P4 4GHz tanpa HT. Situasi seperti itu bisa saja terjadi terutama bila dalam pengujiannya Tomshardware menjalankan aplikasi secara bersamaan.
Untuk pemakaian sehari-hari kita seringkali menjalankan banyak aplikasi bersamaan, disaat itulah kita makin sadar bahwa 2 akan lebih baik dari 1. Petinju profesional sekalipun, tapi bila hanya memiliki 1 tangan, maka akan dengan mudah dikalahkan oleh tukang becak yang mempunyai 2 tangan.


OK, diatas sudah dijelaskan secara umum tentang Hyper-Threading itu apa??? Sekarang kita ulas lebih dalam lagi si Hyper-Threading ini...

Teknologi Hyper-Threading (HT) adalah sebuah teknologi yang dikembangkan oleh Intel agar dapat meningkatkan kinerja prosesor, dengan cara memberikan instruksi melalui software untuk membelah diri (spliting) menjadi beberapa aliran (thread). Teknologi Hyper-Threading menyediakan thread-level secara paralel pada setiap processor, sehingga penggunaan sumber daya processor menjadi lebih efisien, memungkinkan beberapa thread untuk berjalan pada setiap inti (core). Teknologi Hyper-Threading dapat dapat diaktifakn melalui kombinasi antara :
  • Processor Intel® dan chipset yang mendukung Teknologi Hyper-threading
  • Sistem Operasi (OS) untuk optimalisasi Teknologi Hyper-Threading
  • BIOS (Basic Input Output System) yang support Teknologi Hyper-Threading

Dengan aktifnya Teknologi Hyper-Threading pada processor maka sebuah komputer akan mampu :
  • Menjalankan aplikasi berat secara bersamaan dengan tetap mempertahankan respon sistem
  • Menjaga sistem lebih aman, efisien dan meminimalkan dampak terhadap produktivitas
  • Mengaktifkan grafis menjadi lebih baik, sehingga penggemar multi media dapat  membuat, mengedit, menjalakan encoding file grafis, pada saat yang sama komputer juga menjalankan aplikasi dibelakang layar seperti program anti virus tanpa mengorbankan kinerja sistem

Teknologi Hyper-Threading jika digabungkan dengan Teknologi Intel® Turbo Boost ataupun Intel® Turbo Boost 2.0 memungkinkan processor untuk mengolah data secara simultan pada beberapa thread, menyesuaikan beban kerja dan secara otomatis akan mematikan core yang tidak aktif, serta processor akan meningkatkan frekuensi pada core yang sibuk untuk menambah kinerja lebih besar.

Perlu diketahui bahwa fungsi Hyper-Treading ini bisa bekerja optimal bila didukung oleh sistem operasi yang sesuai, misalnya wnidows XP, selain bergantung pada dukungan sistem operasi, juga bergantung pada :
  • Dukungan Chipset yang digunakan pada motherboard
  • Dukungan BIOS untuk mengatur aktif tidaknya fungsi HT dari BIOS
  • Dukungan Aplikasi software yang digunakan

Teknologi Hyper-Threading adalah teknologi Eksklusif milik Intel, tidak dimiliki oleh processor-processor yang bukan produksi Intel.
 
2. Dispatching Algorithm 
Dispatching adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short term scheduling. Fungsi-fungsi yang terkandung didalamnya meliputi :
  • Switching Context
  • Switching ke User Mode
  • Melompat ke lokasi tertentu pada user program untuk memulai program

Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai untuk menjalankan proses yang lainnya disebut dispatch latency.

Beberapa algoritma penjadwalan CPU dispatching :
  • First-Come First-Served Scheduling (FCFS)
  • Shortest Job First Scheduler (SJF)
  • Priority Scheduling
  • Round-Robin Scheduling



3. Sistem Operasi Yang Mendukung 
    Teknologi Hyperthreading

Pengelompokan ke dalam Multi Threading :
  • one-to-one Model           : Windows NT/XP/2000, solaris 9
  • many-to-many Model  : Windows NT/2000, IRIX, Digital UNIX dan Solaris
  • two-level Model              : IRIX, HP-UX, Tru64, UNIX, Solaris 8

Tidak ada komentar:

Posting Komentar