Senin, 31 Agustus 2009

Apple OS baru multi inti yang disesuaikan untuk masa depan

Apple mulai Macan Tutul Salju pengiriman pada hari Jumat, tetapi benar pentingnya Mac OS X update mungkin akan muncul dengan baik sesudahnya.

Itu karena Mac OS X 10,6 dimulai jangka panjang Apple berusaha untuk maju dengan memecahkan masalah yang dihadapi seluruh industri komputer: meremas pekerjaan yang berguna dari prosesor modern. Alih-alih menjejalkan Macan Tutul Salju dengan segera jelas fitur baru, Apple sedang berusaha untuk menyesuaikan diri dengan kenyataan baru di mana prosesor dapat melakukan banyak pekerjaan secara simultan, bukan dari satu pekerjaan dengan cepat.

"Kami sedang berusaha untuk menetapkan dasar untuk masa depan," kata Wiley Hodges, direktur Mac OS X pemasaran.

Apple titik terang pada proyek, yang disebut Grand Central Dispatch di dalam Worldwide Developer Conference di bulan Juni, namun detail paling nyata adalah hanya dipakai bersama-sama dengan programmer disumpah untuk menjaga rahasia. Sekarang perusahaan telah mulai berbicara lebih terbuka tentang hal itu dan proyek-proyek yang lebih dalam untuk mengambil keuntungan dari chip grafis dan Intel 64-bit prosesor.

Align Apple yang bergerak lebih baik dengan perubahan dalam komputasi. Selama bertahun-tahun, produsen chip seperti Intel dan Advanced Micro Devices telah terus-menerus meningkatkan laju clock prosesor mereka, dan programer harus terbiasa dengan meningkatkan kinerja dengan setiap generasi baru. Tapi sebelumnya dekade ini, masalah yang gigahertz menggelincirkan kereta.

Pertama, keripik sering berakhir dengan hanya memutar-mutar ibu jari mereka lebih karena memori yang lebih lambat tidak bisa chip makan dengan data. Lebih buruk lagi, jumlah kebutuhan chips luar biasa kekuasaan dan diproduksi dalam jumlah yang sesuai sulit menangani limbah panas.

Maka mulai era multicore arus utama, di mana mendapatkan beberapa komputasi prosesor mesin yang disebut core yang bekerja secara paralel. Itu bagus untuk beberapa tugas yang dapat dengan mudah dipecah menjadi bagian-bagian yang independen, tapi programmer sudah terbiasa untuk yang lebih linier cara berpikir di mana melaksanakan tugas-tugas dalam serangkaian langkah-langkah berurutan.

Masukkan Grand Central Dispatch, atau GCD. Macan Tutul Salju komponen ini dirancang untuk meminimalkan banyak kesulitan pemrograman paralel. Sangat mudah untuk memodifikasi perangkat lunak yang ada untuk menggunakan GCD, Apple mengatakan, dan sistem operasi menangani tugas-tugas administrasi yang rumit sehingga pemrogram tidak perlu.

Secara keseluruhan, analis Illuminata Gordon Haff percaya bahwa industri komputasi benar-benar baru mulai sekarang untuk menangani pemrograman paralel dengan sungguh-sungguh. Jika bangunan matang tool pemrograman paralel adalah bab sepuluh buku, industri hanya pada bab dua sekarang, katanya. Tapi dengan tidak ada alternatif lain, buku ini akan ditulis.

"Itu harus terjadi," kata Haff. "Jika anda melihat sejarah teknologi informasi, hal-hal yang harus terjadi benar-benar terjadi."

Memberatkan threads
Salah satu cara pemrogram telah berurusan dengan kedatangan prosesor multicore - dan dengan mesin-mesin multiprosesor yang mendahului mereka - adalah melalui konsep yang disebut benang. Ada berbagai jenis, tetapi secara umum, sebuah benang operasi komputasi yang independen. Untuk pemrogram untuk mengambil keuntungan dari prosesor multi inti, mereka menetapkan satu thread untuk masing-masing inti, dan jauhnya mereka pergi, kan?

Tidak begitu cepat. Threads datang dengan bagasi. Masing-masing membutuhkan memori dan waktu untuk memulai. Program harus dipecah menjadi benang jumlah yang berbeda tergantung pada berapa banyak core prosesor menawarkan. Pemrogram perlu khawatir mengenai "penguncian" isu-isu, menyediakan sebuah mekanisme untuk memastikan satu thread data tidak berubah thread lain sudah menggunakan. Dan salah satu program threaded mungkin langkah pada ujung lain berjalan pada waktu yang sama.

Beberapa alat untuk mempermudah kesulitan seperti Intel Threading Building Blocks yang tersedia, tetapi benang tetap rumit.

"Kami melihat hal ini dan mengatakan itu perlu memikirkan kembali fundamental. Kami ingin membuat aplikasi untuk multi inti yang mengembangkan lebih mudah," kata Hodges. "Kami sedang memindahkan tanggung jawab atas pengelolaan kode ke sistem operasi sehingga pengembang aplikasi tidak perlu menulis dan mempertahankannya."

Pemblokiran dan menanggulangi
Mekanisme inti dalam blok dan GCD adalah antrian. Programmer tandai potongan kode untuk mengkonversi mereka menjadi blok, kemudian memberitahu aplikasi cara menciptakan antrian yang mengatur bagaimana blok tersebut benar-benar dijalankan. Blok eksekusi dapat dikaitkan dengan peristiwa tertentu - kedatangan informasi jaringan, perubahan ke file, klik mouse.
Apple berharap programmer akan seperti blok 'keuntungan: kode lama dengan mudah dapat dipasang dengan blok sehingga programmer dapat mencobanya tanpa rekayasa ulang utama; mereka ringan dan tidak memakan sumber daya ketika mereka tidak berjalan; dan mereka cukup fleksibel untuk merangkum besar atau bagian kecil kode.

"Ada banyak overhead sekitar threading yang berarti istirahat Anda ingin program Anda ke dalam beberapa bagian sebagai mungkin. Dengan Grand Central Dispatch, kita katakan istirahat program Anda ke dalam potongan-potongan kecil sebanyak yang Anda bisa membayangkan," kata Hodges.

Perbedaan lain dengan pendekatan Grand Central Dispatch adalah sentralisasi. Sistem operasi kekhawatiran tentang pengelolaan semua aplikasi "daripada blok setiap aplikasi menyediakan pengawasan sendiri. Itu pandangan pusat berarti sistem operasi yang memutuskan tugas yang mendapatkan sumber daya, Apple mengatakan, dan bahwa sistem secara keseluruhan bisa menjadi lebih responsif bahkan ketika sedang sibuk.

Yayasan-yayasan lain
Ada mekanisme kedua Snow Leopard yang memberikan cara baru bagi programmer memanfaatkan kekuatan perangkat keras: OpenCL, atau Buka Computing Bahasa. Ini memungkinkan komputer menggunakan chip grafis tidak hanya untuk mempercepat grafis tetapi juga beberapa perhitungan biasa.

Untuk menggunakan OpenCL, pemrogram menulis kode modul dalam sebuah variasi dari bahasa pemrograman C disebut OpenCL C. Snow Leopard menerjemahkan kode pada instruksi terbang ke chip grafis dapat memahami dan transfer data yang diperlukan ke dalam memori sistem grafis. Banyak tugas tidak akan menguntungkan, tetapi OpenCL videogame baik untuk simulasi fisika atau algoritma kecerdasan buatan, tugas-tugas komputasi teknis, dan multimedia operasi.

Tiga besar pembuat chip grafis, Intel, Nvidia, ATI dan AMD, telah mendukung OpenCL, dan Khronos Group telah membuat standar. Itu berarti programmer cenderung dapat menggunakan kembali kode OpenCL mereka dengan aplikasi Windows, juga.

Prosesor grafis menggunakan mesin paralel yang sesuai dengan mereka untuk menjalankan tugas pemrosesan yang sama pada banyak elemen data. Untuk komputer tanpa chip grafis, meskipun, OpenCL juga dapat menggunakan strategi pelaksanaan yang paralel pada prosesor multi inti yang biasa.

64-bit transisi
Apple memulai transisi 64-bit tahun yang lalu dengan prosesor PowerPC dulu sebelum beralih ke chip Intel. Dengan Macan Tutul Salju, hampir lengkap dari perangkat lunak - Mail, Safari, Finder, iChat, iPhoto - menjadi 64-bit program.

Intel chip hari ini adalah 64-bit, tapi apa yang membuat Anda lebih dari 32-bit chip? Singkat, dapat membiarkan program untuk tugas berat menggunakan lebih dari 4GB memori, meningkatkan performa dengan menawarkan lebih banyak chip slot memori yang disebut register, dan kecepatan beberapa operasi matematika.

Pindah ke 64-bit desain tidak menjamin percepatan instan, walaupun. Dalam salah satu dokumen pengembang, Apple menyatakan: "Mitos: My aplikasi akan berjalan lebih cepat jika sebuah 'pribumi' aplikasi 64-bit. Fakta: Beberapa 64-bit executable dapat berjalan lebih lambat pada 64-bit arsitektur Intel dan PowerPC." Salah satu isu: yang dua kali lipat panjang referensi alamat memori.

Apple mendorong programmer untuk menguji perangkat lunak mereka untuk melihat apakah 64-bit inkarnasi lebih cepat. Apple sendiri semua aplikasi yang pindah ke versi 64-bit yang lebih cepat, kata perusahaan itu.

32-bit kernel
Namun, komponen inti Mac OS X, kernel, masih 32-bit software secara default pada mesin konsumen seperti MacBook dan iMacs. Apple telah menulis agar aplikasi dapat menangani lebih dari 4GB memori, meskipun, dan kernel dapat mengatur semuanya.

Dalam salah satu dokumen pengembang membongkar mitos 64-bit, Apple menyatakan: "Mitos: perlu kernel 64-bit agar sepenuhnya dioptimalkan untuk prosesor 64-bit. Fakta: kernel biasanya tidak perlu alamat secara langsung lebih dari 4 GB RAM sekaligus. "

Apple 32-bit kernel hits batas dengan jumlah yang sangat besar memori, meskipun. "Jadi, di awal Snow Leopard, kernel adalah pindah ke 64-bit eksekusi pada perangkat keras yang mendukung konfigurasi memory yang besar seperti itu," nya server Xserve baris dan Mac Pro workstation, kata perusahaan itu.

Aspek yang sulit bergerak dari 32-bit kernel untuk kernel 64-bit adalah bahwa driver - software yang membiarkan sistem operasi berkomunikasi dengan perangkat seperti printer, video card, dan hard drive - juga harus 64-bit. Itu tidak terlalu buruk ketika itu perangkat hardware Apple di bawah kendali, tapi lebih sulit untuk memindahkan koleksi penuh pihak ketiga perangkat dengan driver mereka sendiri.

Apple berpendapat itu tidak sulit untuk membuat melompat, walaupun. "Sebagai sopir pengembang, anda harus memperbarui driver anda dengan binari 64-bit. Untungnya ... banyak pembalap 'hanya bekerja' setelah mengubah pengaturan kompilasi," kata perusahaan dalam dokumen referensi.

Ini semua mungkin terdengar sangat rendah tingkat, tapi untuk programmer, Apple benar-benar bekerja pada tingkat yang lebih tinggi daripada kebanyakan. Yang dapat menjadi aset karena banyak usaha untuk merangkul pemrograman paralel yang dikenakan lebih menuntut daripada kebanyakan programer bersedia atau mampu menangani.

Dan menarik pemrogram adalah kunci. Pada akhirnya, teknologi yang lebih dalam Apple bergerak seperti Grand Central Dispatch dan OpenCL akan sukses hanya jika perusahaan dapat memperoleh pengembang lain untuk menggunakannya.

Source : http://www.news.cnet.com

Tidak ada komentar:

Posting Komentar