Showing posts with label Tugas Mahasiswa. Show all posts
Showing posts with label Tugas Mahasiswa. Show all posts

Wednesday, September 9, 2009

Link for Blog of Mercu INFO 2007 & Sisfo 2007


DEPARTMENT OF INFORMATION SYSTEM
[ M O N D A Y    08.00   C l a s s ]


• Rizky Afandi Rozan - Sisfo 05-025
• M.Budi Ilham - Sisfo 05-090
• Dwi Kusumo Hanindito Sisfo 06-070
• Kristanti - Sisfo 07-004
• Alexander Martinus A.M - Sisfo 07-006
• Sri Nurani Setiawati - Sisfo 07-007
• Mohammad Indrawan T. - Sisfo 07-008
• Permana Kurniawan - Sisfo 07-012
• Ahmad Ferdian - Sisfo 07-013
• Davit Yusfian - Sisfo 07-014
• Ismail Heri Wijaya - Sisfo 07-016
• Hanny Oktaviani - Sisfo 07-017
• Melyana Nurfitriana - Sisfo 07-018
• Anggri Pringgo Yulianto - Sisfo 07-020
• Endra Dwi Sugiarto - Sisfo 07-021
• Pipih Prihandini - Sisfo 07-022
• Gayus Narwastu - Sisfo 07-023
• Jefri Rosanto - Sisfo 07-025
• Joko Setiawan - Sisfo 07-026
• Riad Sahara - Sisfo 07-027
• Didi Hadiyanto - Sisfo 07-028
• Priya Iman Utomo - Sisfo 07-029
• Singgih Prastyo - Sisfo 07-030
• Helmy Firdaus Putra - Sisfo 07-0031
• Rudy Wicaksono - Sisfo 07-035
• Nursobah - Sisfo 07-036
• Anggi Pratama - Sisfo 07-037
• Khairul Insan Kamil - Sisfo 07-040
• Syafrizal - Sisfo 07-042
• Prasetio - Sisfo 07-043
• Hasan Makki - Sisfo 07-045
• Aldio Rodwisyah - Sisfo 07-046
• Okhri Windi Hastuti - Sisfo 07-048
• Arief Faddilah Cahyadi - Sisfo 07-049
• Yodi Sutanto - Sisfo 07-053
• Inneke Dwi Rahmawati - Sisfo 07-054
• Bima Banjarawan - Sisfo 07-055
• Edi Supriyono - Sisfo 07-059
• Raymonnd Alexander - Sisfo 07-060
• Dhoni Perman Putra - Sisfo 07-061
• Aris Afriandi - Sisfo 07-064
• Farhan Mubarok - Sisfo 07-065
• Rendy Prabancono - Sisfo 08-016
• Dwi Setyani Rahardjo - Sisfo 08-029
• Alen Boby Hartanto - Sisfo 08-038
• Inieke Satria - Sisfo 08-097
• Agnes Winarni - Sisfo 08-114

------------------------------------------------------------------------------------

DEPARTMENT OF INFORMATICS ENGINEERING
[ T U E S D A Y    08.00   C l a s s ]


• Chandra Kharisma Putra - Info 05-014
• Muhamad Rizky - Info 06-073
• Okta Tri Heriyanto - Info 07-011
• Langgeng Kurniawan - Info 07-025
• Adam Nur Deni - Info 07-030
• Ronny Anggriawan - Info 07-034
• Rizky Ramadhian Akbar - Info 07-043
• Juni Eko Prasetyawan - Info 07-052
• Bahrudin - Info 07-058
• Dwi Candra - Info 07-076
• Ali Akbar - Info 07-080
• Deni Martadiansyah - Info 07-091
• Muhamad Rifki - Info 07-094
• Hari Murdiyanto - Info 07-115
• Gigih Ginanjar - Info 07-125


[ T U E S D A Y    10.45   C l a s s ]

• Deni Muliawan - Info 03-015
• Fery Sarjono Manik - Info 03-072
• Sukanto - Info 03-076
• Angga Fatwa Eka Putra - Info 03-085
• Irawansyah - Info 05-023
• Singgih Siswaji - Info 07-003
• Ismail Budiarto - Info 07-008
• Nukhran - Info 07-009
• Tony Hardie - Info 07-015
• Loka Nahta - Info 07-020
• Chris Widya Angga - Info 07-027
• Eko Cahyono - Info 07-031
• Agus Triono - Info 07-033
• Halimatu Sadiah - Info 07-037
• Deni Prasetiyo - Info 07-038
• Satria Angga Wijaya - Info 07-044
• Ronni Faty Marunduri - Info 07-045
• Dwi Irianto - Info 07-049
• Ika Nursetiawati - Info 07-051
• Anggi Rusmaji - Info 07-053
• Karina Maurena - Info 07-057
• Ahmad Maulana - Info 07-059
• Tri Sulistio - Info 07-060
• Ari Setiyawan - Info 07-061
• Umar Buwang - Info 07-065
• Haryanto - Info 07-066
• Muhamad Soleh - Info 07-067
• Agus Susanto - Info 07-077
• Achmad Qurais - Info 07-079
• Dhodi Stiawan - Info 07-084
• Elvin Puji Lastari - Info 07-088
• Agus Tiyanto - Info 07-090
• Rian Ade Chandra - Info 07-098
• Andy Rusdiyanto - Info 07-100
• Ali Saogi Yusuf - Info 07-103
• Wisnu Wardana - Info 07-105
• Dhika Mahesa - Info 07-107
• Tri Agung Laksono - Info 07-109
• Rangga Wenaas Azhiim Mariis - Info 07-112
• Andi Prima Wijaya - Info 07-113
• Mohammad Djamaluddin Fardan - Info 07-122
• Bagus Surya Purmana Putra - Info 07-127


[ W E D N E S D A Y   08.00   C l a s s ]

• Abdul Hafidz A - Info 06-015
• Denni Maulana - Info 07-010
• Syukur Nugraha - Info 07-012
• Arlan Ardianto - Info 07-021
• Dada Nandagiri - Info 07-023
• Muhamad Choirudin - Info 07-028
• Achmad Zulfikar Fauzi - Info 07-029
• David Indrayana - Info 07-032
• Silvia Amir - Info 07-041
• Arie Junaedi - Info 07-048
• Dwiki Jatikusumo - Info 07-055
• Hery Derajat Wijaya - Info 07-062
• Indra Aditya - Info 07-064
• Tia Astiyah Hasan - Info 07-069
• Nadilah Edison - Info 07-095
• Yuniar Andini - Info 07-096
• Endah Suswanti - Info 07-099
• Rosi Oktaviani - Info 07-101
• Yanuari Brilianto - Info 07-102
• Nike Dewi Agustin - Info 07-104
• Havis Reza Saputra - Info 07-106
• Ranti Utami - Info 07-128
• Ari Zakaria - Info 07-129
• Diah Retno Wulandari - Info 07-122

-------------------------------------------------------------------------------------

Monday, July 27, 2009

Komputer & Masyarakat STTI NIIT ITech 2009

Mahasiswa STTI NIIT I-TECH peserta matakuliah Komputer dan Masyarakat, Semester Ekstensif Tahun Akademik 2008/2009, harus membuat blog dengan ketentuan sebagai berikut:
  • Membuat sebuah blog yang dilengkapi : shoutbox, visitor counters, link ke site I-Tech (http://www.i-tech.ac.id) dan link ke blog IT-Society (http://it-society.blogspot.com).
  • Tugas-tugas matakuliah ditulis di blog tersebut.
  • Informasikan url dan nama blog anda ke : shoutbox di blog ini
  • Blog agar dipublikasikan agar mendapatkan banyak pengunjung
  • Penilaian meliputi : bobot isi tulisan (originalitas, kesesuaian, keluasan dan kedalaman), tingkat kunjungan pada blog dan respons/coments visitors terhadap tulisan.
Link terhadap blog anda akan ditambahkan dalam daftar mahasiswa ITech.

Daftar Tugas Tulisan

Tugas I : sebanyak 6 topik, dan harus sudah dipublikasi sebelum 5 Oktober 2009
  1. Kemana setelah menjadi sarjana IT? (harapan/cita-cita/rencana)
  2. Membuat paparan tentang perkiraan perkembangan IT dimasa depan (dari sudut pandang mahasiswa IT/komputer)
  3. Pendapat/paparan/penilaian tentang profesional IT
  4. Penilaian kritis anda sebagai mahasiswa IT tentang keberadaan LSP Telematika
  5. Fraud (kecurangan) dalam dunia IT
  6. Pilihlah 5 istilah populer dalam IT dan berikan paparan


Tugas II : 4 topik dan harus dipublikasi sebelum 30 Oktober 2009
  1. Kasus IT yang menarik seperti : ( IT Pemilu, masalah Hak Cipta dan Pembajakan, keberadaan software free ware, keberadaan google apps atau sejenisnya, outsourcing pengolahan data, dan sebagainya)
  2. Ulasan/pendapat tentang Sistem Informasi Nasional
  3. Andaikan oleh Presiden terpilih 2009 anda diberi tanggung jawab untuk membenahi Sistem Informasi Nasional, dan negara menyediakan anggaran awal 1 triliyun : apa yang akan anda lakukan
  4. Kempanye kepedulian tehadap data (GO DATA)


Thursday, July 16, 2009

PERBANDINGAN ANTARA HARDWARE RTU RTOS DENGAN HARDWARE/SOFTWARE RTOS

Oleh :

Kriswanto Purwoko (41508120035)


Dalam ruang lingkup ini, masalah yang akan diangkat adalah bagaimana meminimalisasi rentang waktu atau respon pada interprocess yang terjadi di dalam internal kernel OS. Maka dari itu dalam hal ini para peneliti menggunakan suatu teknologi sistem operasi yang disebut RTOS (Real-Time Operating System). Modifikasi RTOS Atalanta di atas menjadi 3 wujud yaitu:

a. Software RTOS Atalanta, yaitu sistem operasi berupa software murni RTOS, seperti pada software sistem operasi pada umumnya, yang berupa sekumpulan instruksi-instruksi yang berada di dalam kernelnya.

b. Hardware RTU RTOS Atalanta, yaitu sistem operasi berupa chip RTU (Real-Time Unit), dengan cara mengubah sekumpulan modul-modul dalam sistem operasi menjadi Logic Gates dalam chip RTU. Beberapa modul-modul dalam sistem operasi yang diubah menjadi unit fungsional dalam chip RTU seperti Scheduler unit, MsgQLib (Message Queue Library), RTC (Real-Time Control), IRQ (Intellegent Interrupt Handler) dan Accelerator Interface. Kemudian interface dalam internal chip RTU yaitu GBI (Generic Bus Interface) dan interface yang menghubungkan chip RTU dengan Eksternal Bus.

c. Hardware/software SoCLC (System-on-a-chip Lock Cache) Atalanta, yaitu sistem operasi yang sebagian modul-modul dari kernel diubah menjadi chip dan sebagian lagi berupa software. Modul-modul yang diubah menjadi hardware adalah modul-modul yang menangani rutin-rutin instruksi permanen yang tidak perlu adanya perubahan terhadap modul itu, seperti instruksi-instruksi dalam penanganan Mutex (Mutual Exclusion) yaitu semaphore. Selebihnya yaitu sebagian modul-modul yang kemungkinan masih mengalami perubahan-perubahan untuk pemutakhiran sistem operasi. Sebagian berupa hardware (Lock Unit, yang terdiri dari beberapa processor dan Lock Variable), kemudian bagian yang berupa software yaitu Decoder dan Control Logic.

Dalam software RTOS murni seperti halnya sistem operasi pada umumnya, terdapat tiga lapisan yang saling terintegrasi, yaitu lapisan paling atas (application layer) yaitu untuk menangani layanan-layanan proses aplikasi end user, kemudian lapisan kedua adalah internal dari sistem operasi itu sendiri atau disebut kernel (kernel layer), yang merupakan rutin-rutin dasar dari sebuah sistem operasi untuk menangani penjadwalan seperti semaphore, dan lapisan yang ketiga untuk menangani komunikasi sistem operasi terhadap hardware (hardware layer).


Skema di atas adalah struktur dari sebuah software sistem operasi murni, terlihat dalam menangani sebuah request dari aplikasi user, sistem operasi harus melalui 3 tahapan seperti di atas, sehingga membutuhkan waktu tanggap yang cukup besar.

Berbeda dengan sistem SoCLC yang sebagian modul-modul dari sistem operasi ada yang diubah menjadi hardware (chip) dan yang sebagian lagi menjadi software.


Dapat terlihat pada skema di atas, bahwa sistem SoCLC membagi dua internal kernel sistem operasinya, sebagian tetap berupa software, sebagian lagi diubah menjadi hardware yang diinterasikan pada chip. Hal ini dilakukan untuk memperingan tugas sistem operasi dalam melayani request-request dari aplikasi dengan membagi dua job-job yang diterima. Sedangkan untuk sistem hardware RTU, yaitu dengan merubah instruksi-instruksi dalam sistem operasi menjadi logic-logic dalam sebuah chip.


Seperti gambar di atas, dengan struktur sistem operasi seperti itu maka dapat memperkecil waktu tanggap karena sistem operasi dapat memperkecil angka siklus dalam melayani permintaan dari aplikasi, karena kernel sistem operasi itu sendiri langsung diintegrasikan ke dalam hardware.


Kesimpulan :

a. Sistem RTU memang dapat menghasilkan performa yang cukup baik, namun apabila dibutuhkan suatu perubahan terhadap instruksi-instruksi atau variabel-variabel dala sistem operasi maka, pengguna harus membongkar chip RTU untuk merubah logic-logic dalam chip dan membuat sistem yang baru, dengan kata lain dalam hal konfigurasi ulang sangatlah sulit dan untuk sistem RTU dinilai kurang efisien.

b. Sistem software RTOS murni, di sisi lain memang sangat mudah untuk mengkonfigurasi ulang sistem, namun dapat dibuktikan juga mengenai performance sistem yang buruk.

c. Sistem SoCLC, memang apabila dibandingkan dengan performa sistem RTU tidaklah lebih baik, namun dilihat dari kekurangan RTU itu sendiri, SoCLC diciptakan untuk mengatasi masalah itu. Dengan membuat modul-modul sistem operasi menjadi software, yaitu modul-modul sewaktu-waktu membutuhkan konfigurasi ulang, selebihnya adalah modul-modul yang mengandung rutin-rutin penjadwalan seperti semaphore, di mana modul-modul seperti itu sangat jarang sekali mengalami suatu perubahan, maka diubahlah menjadi suatu logic pada unit hardware.

Monday, July 6, 2009

SW VM MANAGEMENT FOR MMU-LESS EMBEDDED SYSTEM

Ringkasan 1. M. AMINUL LAILI K (4150412-054)

Sebuah perangkat lunak yang menggantikan fungsi dari Memory Management Unit (MMU) yang ditanamkan di OS (embedded system). Perangkat lunak ini disebut Virtual Memory Management (VMM) atau dikenal dengan nama “VM Assembler”. Tugas dari VM Assembler adalah mengkonversi kode assembly menjadi binary dan memetakannya pada VM library, kemudian menterjemahkan alamat – alamat yang di panggil untuk di proses di memori fisik.

Aplikasi VMM ini mendukung :
• Transparan untuk semua programmer
• Dapat dijalankan pada aplikasi khusus
• Menyempurnakan konstruksi
• Serba otomatis

Selain bisa memberikan tampilan ukuran memori yang besar kepada programmer, VMM juga mnyediakan skema keamanan, multitasking, dan pembagian alokasi memori yang adil. Percobaan sudah dilakukan dan berjalan dengan baik pada prosessor MIPS dengan compiler MIPS GCC yang dijalankan oleh VM Assembler.

Secara umum proses yang terjadi pada percobaan di mesin MIPS adalah sbb :
  • Dari Library alamat yang sudah diterjemahkan termasuk header file, bersama dengan parameter ukuran page dan ram, dan aplikasi, dimasukkan dalam compiler MIPS GCC
  • Setelah di compile di MIPS GCC hasilnya diterjemahkan di VM Assembler yang kemudian menghasilkan binary
  • Binary inilah yang kemudian akan di baca dan di proses di mesin prossesor MIPS dan memori fisik

Ada 3 pendekatan yang bisa dilakukan dalam menggantikan fungsi MMU oleh software VMM, yaitu :

1. Pure Virtual Memory

Pada pendekatan ini semua alamat yang dibutuhkan oleh proses akan di kirim dari Virtual Memori ke Memori fisik. Pada kasus ini jika halaman/page di memori fisik penuh, sedangkan ada alamat yang akan masuk yang dibutuhkan oleh proses, maka VM Assembler akan mencarikan page yang berisi alamat yang menunggu untuk di proses tetapi masih menunggu alamat yang lainnya, alamat ini akan dipindahkan sementara ke secondary storage, dan page yang kosong tersebut di isi oleh alamat yang dibutuhkan oleh proses, jika proses kemudian membutuhkan alamat yang tadi dipindahkan ke secondary storage, maka VM Assembler akan memanggil kembali alamat tersebut dan mencarikan kembali page yang kosong.


2. Fixed Address Virtual Memory

Pada pendekatan yang kedua ini, alamat-alamat yang berada pada virtual memori dibagi-bagi berdasarkan region, misalnya VM dibagi menjadi 3 region, maka memori fisik juga di bagi menjadi 3 region. Pengiriman dan pemanggilan alamat disesuaikan dengan sesama nomor region, misalnya region 1 di VM hanya bisa mengakses page pada region 1 di memori fisik. Dengan adanya pembagian perkelompok/region ini maka tugas VM Assembler menjadi lebih ringan dalam menterjemahkan alamat yang dibutuhkan oleh proses di memori fisik.

3. Selective Virtual Memory

Pada pendekatan ini secara prinsip hampir sama dengan Fixed Address tVirtual Memory, yaitu pembagian wilayah/region, tetapi di sini lebih di permudah dengan mengalokasikan page pada memori fisik untuk alamat-alamat yang sering di minta oleh proses. Page yang berisi alamat – alamat yang sering di akses ini di buat tetap dan tidak untuk di swap out. Jadi dengan penetapan page untuk alamat – alamat khusus ini maka proses terjemahan yang dilakukan oleh VM Assembler dari Virtual Memory ke Memori fisik menjadi lebih sedikit, sehingga hal ini akan mengoptimalkan proses karena menurunnya proses terjemahan oleh VM Assembler.

KESIMPULAN

Virtual Memory Management (VMM) yang disampaikan di sini menggunakan VM Assembler dan VM Library. Pada presentasi di atas pendekatannya adalah dengan memberikan tampilan memori yang besar kepada Programmer, bisa dijalankan pada aplikasi khusus, sangat kuat, otomatis, dan berjalan dengan menyesuaikan 2 parameter konfigurasi yaitu RAM size dan Page size. Tetapi pada waktu eksperimen VMM, digunakan konfigurasi yang berbeda pada mesin powerstone dengan aplikasi drawn, hasilnya adalah sebuah konfigurasi yang ideal untuk sebuah system Memori Virtual yang bergantung pada aplikasi. Eksperimen ini terbukti bisa dijalankan oleh system VMM. Recana kerja kedepan adalah memfokuskan pada optimalisasi terjemahan dari Virtual Memori ke Memori Fisik yang dapat mengutamakan pada penurunan perputaran waktu eksekusi. Rencana kedepannya juga akan fokus pada teknik penambahan cache seperti skema asosiatif.

--------------------------------------------------------------------------------------------------------------------

Ringkasan 2 : Dwiwanto Saputro (0150311-115)

Isi dari jurnal : sebuah software virtual memory management yang akan menggantikan memory management unit (MMU/berupa hardware), pada MMU-less embedded system.

1. Embedded Systems adalah suatu sistem khusus yang dirancang untuk melakukan satu atau beberapa fungsi khusus, dan biasanya sudah menjadi satu bagian dari perangkat yang lengkap, termasuk perangkat keras dan bagian mekanis.
Karena embedded system didedikasikan untuk tugas-tugas tertentu maka dapat memberi keuntungan dari segi produksi seperti optimalisasi desain, mengurangi ukuran dan biaya produk, atau meningkatkan kinerja dan kehandalan. Salah satu contoh dari embedded system adalah seperti jam digital, MP3 player, kamera digital, dan lain sebagainya.

2. MMU biasanya membagi Virtual Address Space (rentang alamat yang digunakan oleh prosesor) ke beberapa pages (halaman), yang masing-masing memiliki ukuran beberapa kilobyte. Penerjemahan alamat tersebut biasanya melalui cache yang disebut Translation Lookaside Buffer (TLB). TLB juga mencakup informasi tentang apakah pages telah ditulisi, kapan terakhir pages digunakan, dan proses seperti apakah yang menulisi dan membaca pages (user mode atau supervisor mode). Terkadang TLB melarang akses ke virtual pages, mungkin dikarenakan tidak ada memori fisik yang dialokasikan ke virtual pages. Jika tidak ada memori fisik yang kosong maka akan dilakukan algoritma penggantian, dan disimpan ke disk (secondary storage). Algoritma penggantian tersebut disebut paging. Dalam beberapa desain awal microprocessor, management memory dilakukan oleh sebuah Integrated Circuit (IC) yang terpisah. Tetapi pada zaman Intel 80286 sudah menjadi satu.

3. Software Virtual Memory Management adalah sebuah perangkat lunak komputer yang bertanggung jawab untuk menangani akses ke memori yang diminta oleh Central Processing Unit (CPU). Pada Software Virtual Memory Management ini terdapat 3 (tiga) pendekatan yang ditawarkan untuk menangani akses ke memori yang diminta oleh CPU.

Pure Virtual Memory
Cara kerjanya sama dengan cara kerja sistem memori management yang berupa perangkat keras (hardware), yaitu MMU. Jadi setiap akses memori yang diterjemahkan dari alamat virtual memori ke alamat fisik memori dilakukan selama runtime.

Fixed Virtual Memory
Sebagian wilayah memori ditandai dulu sebagai virtual memori. Setiap ada akses ke wilayah memori yang ditandai akan langsung diterjemahkan. Tetapi untuk menerapkan fixed virtual memory ini diperlukan vm-assembler yang akan memberi tahu kalau wilayah memori yang akan diakses adalah virtual memori.

Selective Virtual Memory
Cara kerja mirip dengan fixed virtual memory yang akan melakukan pemeriksaan apakah alamat memori yang dituju adalah virtual memori atau bukan dengan bantuan vm-assembler. Pada selective virtual memory, pemeriksaan melalu vm-assembler akan dihindari. Dimana untuk itu setiap ada akses ke memori akan dijelaskan melalui deklarasi variable apakah virtual memori atau bukan.

Setelah dilakukan perbandingan antara pure VM, fixed VM, dan selective VM. Didapatkan data perbandingan yang menyatakan bahwa, perbedaan siklus proses yang dilakukan dengan menggunakan pure VM dan Fixed VM hampir tidak jauh berbeda. Tetapi dengan selective VM, akan didapatkan perbedaan siklus proses. Dimana siklus proses yang mengunakan selective VM lebih kecil dibandingkan menggunakan pure VM dan fixed VM.

-------------------------------------------------------------------------------------------

Ringkasan 3 : Rizka Rubbyanti Rivera 41506110018

Tiga pendekatan virtual memori pada system yang tidak menggunkan MMU ( Memory Management Unit ) :

Virtual Memory Murni
Pada pendekatan ini data yang belum memiliki virtual address dapat memperolehnya dengan cara jika ada proses yang sudah memiliki virtual address tetapi belum mendapatkan physical address dapat dipindahkan ter;ebih dahulu ke extended area. Sehingga data yang tadinya tidak memiliki virtual address sudah dapat menempati tempat tersebut. Karena letak alamat yang tidak beraturan maka akan lebih banyak dilakukan pengecekan data agar dapat diketahui mana saja virtual address dan physical address yang sudah terisi.

VM yang telah ditentukkan

Pada pendekatan ini data yang akan masuk ke virtual address sudah di tentukan sehingga tempat di physical address juga sudah ditentuka. Misalnya, virtual address yang sudah disiapkan untuk data adalah 1 s/d 5, yang artinya data boleh dimasukan ke alamat antara 1 sampai dengan 5 yang nantinya akan menempati physical address 1.

VM Selektif
Pendekatan ini lebih mirip dengan pendekatan sebelumnya. Letak perbedaannya pada letak data pada virtual address dan physical address yang sudah teratur. Misalnya, jika data sudah memiliki virtual address 1 maka letak physical addressnya pun sudah pasti 1. Perbedaan lainnya adalah adanya pengecekkan routine tambahan dimana hanya struktur data yang berukuran besar saja yang di cek routine-nya sedangkan untuk struktur data yang berukuran kecil akan langsung masuk ke physical address

--------------------------------------------------------------------------------------------------------------------

Ringkasan : Saryani (41508110023)

Pada perancangan sistem embedded, microcontroller telah berperanan penting dalam meningkatkan kecepatan dan penerapan aplikasi data. Dari sisi memory, terdapat kebutuhan yang sama untuk melakukan proses running yang lebih besar. Hal ini biasanya dilakukan oleh MMU (Memory Management Unit) dimana MMU merupakan perangkat keras berupa chip khusus yang berfungsi untuk memetakan dari alamat virtual ke alamat fisik.

Memory Virtual merupakan sebuah skema yang menyediakan untuk layer software berupa sebuah ilusi tentang ruang alamat memory yang sangat besar. Ide dasar dibalik skema memori virtual adalah bahwa compiler bisa menghasilkan kode dengan operasi memori (Write/Save) untuk sebuah ruang alamat virtual. Sebuah alamat virtual, menghasilkan kode keluaran dari prosesor pada waktu runtime kemudian diterjemahkan menjadi alamat fisik yang valid.
Disini akan dibahas mengenai perangkat lunak tentang menejemen memori virtual untuk system embedded tanpa MMU (MMU-less). Tujuan pendekatannya adalah untuk menjelaskan kepada programmer dengan sebuah abstraksi memory virtual dengan sedikit modifikasi yang dibutuhkan untuk memogramnya. Perangkat lunak yang digunakan disini adalah vm-assembler dan library vitual memory.

Dalam table berikut adalah pendekatan yang dapakai untuk menyediakan memory virtual:

















Dari ketiga pendekatan tersebut, kita bisa bandingkan bahwa pendekatan Memory Virtual Selektif adalah yang paling efektif untuk dilakukan.

Dari semua itu bisa kita tarik kesimpulan bahwa memory virtual bisa diterapkan untuk Sistem Embedded tanpa MMU (MMU-less).

Saturday, January 31, 2009

Modeling and Analysis of Message-Queue in Multi-Tasking System

Ringkasan
Oleh : Erwan R.

Pada garis besarnya, jurnal ini menitikberatkan pada penganalisaan pengiriman pesan (message) dalam sebuah antrian pada real-time multitasking system, dengan membandingkan suatu simulasi dimana akan dihitung distribusi dari waktu eksekusi (execution time), periode tugas (task period), waktu tanggap (response time) dan sebagainya, sehingga pada akhirnya dapat diketahui banyaknya pesan pada antrian saat periode sibuk (busy period)


Formulasi dan Model


Diasumsikan menggunakan skenario Produser-Konsumer (Produser pembuat pesan, Konsumer pengguna pesan), menggunakan mode preemptive fixed priority task, awalnya menggunakan FIFO yang nantinya akan diperluas menggunakan model antrian prioritas (priority queue).
Konsumen mempunyai sifat :
While(1){
…….
Receive(……); //blocking
…….
}
Selama menerima pesan (kondisi = 1), konsumen tetap bekerja, namun bila sudah tidak ada pesan terkirim (kondisi = 0), maka konsumen akan terhalang (di block). Produser diasumsikan sebagai pekerjaan berkala dimana pada akhir eksekusinya menghasilkan pesan.



Pada saat task produser A selesai dieksekusi, akan mengirimkan pesan, pesan tersebut diterima ke dalam antrian karena antrian menyediakan tempat untuk pesan tersebut, kemudian task produser B selesai dieksekusi, juga mengirimkan pesan, antrian menyediakan tempat untuk pesan produser B. Pesan produser A dikerjakan terlebih dahulu baru pesan produser B, karena pada antrian ini menggunakan mode FIFO, demikian seterus juga pada task produser C.


Terminologi dibawah digunakan pada makalah ini:

  • T – Periode Tugas (task period)
  • C – Waktu eksekusi (execution time) terlama (worst case)
  • J – jitter dari pekerjaan, J = Rmax – Rmin, dimana R berhubungan dengan waktu relative pada permulaan dengan waktu pada masing-masing pekerjaan. Jika Rmin = 0 maka J = Rmax dimana ini diasumsikan sebagai berikut
  • P – Prioritas dari tugas (task priority)
  • r – waktu yang digunakan (release time)
  • #p – Sekumpulan aturan pada produser
  • #c – Sekumpulan aturan pada konsumer
  • Queque size – Maksimum buffer yang diperlukan untuk antrian
  • R – Respon waktu (response time) end-to-end yang terburuk terkait antara produser – antrian – transaksi konsumer.
  • Rc{0...n} – Waktu tanggap (response time) untuk mengendalikan sejumlah n pesan pertama pada kondisi sibuk (periode sibuk adalah periode selama antrian tersebut terus menerus ada dan tidak pernah kosong)

Analisa Message-Queue


Produser Tunggal – Single Producer

Sebuah produser yang diketahui periode T, besaran jitter J, waktu eksekusi C dan sebuah prioritas P., konsumer akan mengkonsumsi n-pesan,



maka dapat diketahui :





Waktu yang digunakan (release time) untuk n-pesan :


Menghitung waktu tanggap (response time) konsumer :


Menentukan waktu tanggap dengan n-pesan :

Kondisi untuk menghitung ukuran Queue adalah jika :


Menentukan ukuran maksimum Queue :

Produser Jamak - Multiple Producers


Skenario pertama, dimana semua task produser mempunyai prioritas yang sama yaitu lower priority :


Skenario kedua, dimana produser mempunyai prioritas yang berbeda, task Produser A dan task produser B mempunyai lower priotrity sedang task produser C mempunyai higher priority :


Skenario ketiga,
dimana semua task produser mempunyai higher priority :



Untuk mendapatkan waktu tanggap (response time), menjalankan langkah - 1 hingga langkah – 5, kemudian melakukan perubahan pada langkah - 6 :

Jika memenuhi syarat pada kondisi langkah – 7, maka penghitungan ukuran maksimum Queue adalah :


Kesimpulan


Di dalam percobaan penganalisaan Message-Queue ini termasuk pada modeling dan analisa penjadwalan, mengindikasikan bahwa tidak mudah membangun skenario worst-case, khususnya mengumpulkan response time worst-case end-to-end yang menghubungkan ke tiap produser. Pengembangan model termasuk message dengan prioritas yang berbeda.
Setelah mendapatkan metoda analisa yang baik, kemudian dibandingkan dengan hasil simulasi dan hasil simulasi ini akan diintegrasikan pada teori reliability dengan analisa penjadwalan.


Friday, January 30, 2009

Preemptive Scheduling for Distributed Systems


Penjadwalan Preemptive pada Sistem Terdistribusi
Ringkasan oleh : Nurul Huda (41508110133)

Umumnya sistem operasi multitasking menggunakan penjadwalan preemptive. Banyak sistem multiprosessor juga menggunakan penjadwalan preemptive intertask ketika melakukan komputasi paralel. Namun, penjadwalan preemptive pada sistem terdistribusi sangat jarang, bahkan hampir tidak ada.

Penjadwalan Preemptive adalah kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Melibatkan mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem untuk menentukan proses mana yang akan dieksekusi selanjutnya.

Contoh Penjadwalan Preemptive : Penjadwalan CPU yang dijalankan ketika proses dalam keadaan:
  • Berubah dari running ke ready state.
  • Berubah dari waiting ke ready state.
Sedangkan Sistem Terdistribusi adalah Kumpulan komputer yang terhubung melalui sistem jaringan komputer dan dilengkapi dengan sistem software terdistribusi untuk membentuk fasilitas komputer terintegrasi.
Kendala Implementasi Penjadwalan Preemptive pada sistem terdistribusi adalah dibutuhkan proses migrasi yang tepat, panjang task yang bervariasi, kecepatan dan beban kerja prosesor bervariasi, sehingga diperlukan algoritma penjadwalan yang tepat.
Pusat implementasi dari protokol penjadwalan preemptive adalah mekanisme dari migrasi proses. Mekanisme Migrasi : Anggap sebuah worker sedang mengeksekusi task T1 pada mesin M1. Sekarang penjadwal ingin memindah T1 ke mesin M2. Untuk memperoleh keadaan ini perlu migrasi proses. Jika ada sebuah worker sudah running pada M2, hanya context pada thread aplikasi (yang mewakili context pada task yang sedang dieksekusi) yang perlu di transfer dari M1 ke M2. Jadi, migrasi task mencapai penjadwalan preemptive.
Pada contoh diatas, pertama kali, penjadwal (pada manajer) memberitahukan thread asinkron (pada worker) di M1 untuk membekukan T1. Thread asinkron kemudian memberitahukan thread kontrol, yang akan mensuspend thread aplikasi yang sedang berjalan pada T1. Thread kontrol kemudian mengambil context pada thread aplikasi dan memaketkannya dan mengirimnya ke manajer. Manajer kemudian mengirim context dari T1 ke thread kontrol pada M2. Thread kontrol pada M2 mengumpulkan context dari thread aplikasinya untuk menerima context dan me-resume-nya. Sekarang T1 di-resume pada M2.
Implementasi yang kami lakukan untuk pengujian Penjadwalan Preemptive pada Sistem Terdistribusi menggunakan :
  • Pemrosesan paralel menggunakan Sistem Chime
  • Tiga sistem komputer Prosesor Pentium II 266, memori 128Mbyte, terkoneksi menggunakan kartu Ethernet 100Mb/s.
  • Sistem operasi : Windows NT 4.0.
  • Kompiler : Visual C++ 4.0.
  • Menggunakan 4 algoritma penjadwalan.
  • Aplikasi yang dipakai untuk menguji algoritma : Ray Tracing dan Perkalian Matrix.
4 algoritma penjadwalan yang diujicobakan untuk menjalankan aplikasi :
  1. Penjadwalan optimal : penjadwalan yang diperhitungkan sebelumnya, secara teoretis waktu runtime paling pendek, dengan jumlah penjadwalan yang paling sedikit. Setiap mesin, dan setiap task harus identik. Bekerja paling baik ketika jumlah task lebih banyak daripada jumlah mesin.
  2. Penjadwalan Eager Setiap mesin m mendapat satu task n. ketika satu task selesai, mesin mendapat penugasan dari task lain. Ketika satu task selesai, mesin mendapat task lain yang belum ditugaskan. Jika semua task selesai ditugaskan, task-task yang belum selesai ditugaskan kembali ke mesin ini.
  3. Penjadwalan Round Robin : dari sejumlah n task, sebanyak m task akan ditugaskan ke sejumlah m mesin. Setelah satu quantum waktu, semua m task di preempt dan kemudian m task berikutnya ditugaskan (secara berulang).
  4. Task Bunching : sejumlah n task dibagi (bunched) kedalam sekumpulan m mesin. Setiap mesin menjalankan satu bunch task secara sekuensial. Ketika satu bunch task selesai, setiap bunch task dipreempt lagi, task-task tersebut dibagi-bagi lagi ke mesin-mesin dan eksekusi diulang.
Untuk menjamin perbandingan yang adil, pertama kali kami menjalankan program paralel ini secara sekuensial menggunakan C++ . Program sekuensial membutuhkan 540 detik pada single prosesor. Hasil performa ditampilkan pada gambar 1.
Program menjalankan program paralel very coarse grained, dimana perkalian matrix dikerjakan oleh 5 task. Sebuah coarse grain mengeksekusi 10 task, medium grained mengeksekusi 20 task dan very fine grain mengeksekusi 1500 task. Quantum waktu Round Robin diset 15 detik.
Ketika melibatkan perhitungan 5 task pada 3 mesin. Penjadwalan Eager bekerja sangat buruk. Namun, penjadwalan Optimal dan Round Robin berjalan dengan baik. Task bunching tidak berjalan, karena tidak ada yang bisa di bunch. Pada pengujian selanjutnya Penjadwalan Optimal tidak dipakai karena tidak sesuai untuk jumlah task yang jauh lebih besar daripada jumlah mesin.
Untuk coarse grain, digunakan 10 task. Bagus pada Round Robin dan Task Bunching namun sedikit buruk pada penjadwalan Eager karena penjadwalan Eager adalah non-preemptive dan jumlah task bukan perkalian dari jumlah mesin.
Untuk level lapangan, digunakan 21 task. Penjadwalan Eager bekerja dengan baik seperti yang lain – namun Round Robin agak sedikit buruk, karena mempunyai lebih banyak overhead preemption dibanding yang lain.

Gambar 1. Performa penjadwalan preemptive


Pada task fine grained – menggunakan 1500 task. Round Robin dan Eager menjadi sama, dimana quantum waktu tidak pernah expired. Namun, overhead dari penugasan task pada worker mendominasi waktu komputasi, sehingga performa menjadi buruk. Tetapi total waktu yang didapat masih lebih pendek daripada waktu sekuensial (540 detik). Untuk komputasi fine-grained, task bunching digunakan bersama preemption menghasilkan performa yang bagus pada beberapa range ukuran.

Kesimpulan : Optimal bekerja bagus jika informasi waktu eksekusi diketahui terlebih dahulu, dan jumlah task tidak jauh lebih banyak daripada jumlah mesin. Round Robin bagus pada jumlah task yang tidak terlalu besar. Task Bunching memberikan performa paling baik pada beberapa ukuran komputasi.


SPINE: An Operating System for Intelligent Network Adapters

Ringkasan Jurnal 6
(gabungan)

SPINE adalah sebuah system operasi yang diterapkan pada intelligent network adaptor, dimana di dalam intelligent network adapter tersebut memiliki Processor. Sistem ini memanfaatkan kelebihan yang pada network adapter.

Contoh dari network adapter itu sendiri adalah: Router.



Pada gambar diatas dapat dilihat bahwa sebuah SPINE yang di terapkan pada Intelligent network adapter.Sebagian job yang ada pada aplikasi akan di kirim ke dalam Intelligent network adapter dan job tersebut akan diproses oleh SPINE Extention untuk kemudian hasil pemrosesan tersebut akan dikirim ke host / users. Sama dengan halnya sebagian job yang ada pada host juga (terutama yang behubungan dengan network ) akan di limpahkan ke SPINE Extention.

VIDEO CLIENT EXTENTION

Dengan menggunakan SPINE kita dapat membuat video client application
Aplikasi menentukan sebuah aplikasi spesifik untuk video extention yang mentransfer data video yang datang dari network dan langsung menuju ke frame buffer. Video client berjalan pada aplikasi regular pada Windows NT. Ini bertanggung jawab untuk membuat framing window yang menampilkan video dan menginformasikan video extention dari window coordinates.
Video Extention pada network adapter menjaga window coordinate dan ukuran informasinya, Serta DMA mentransfer data video yang datang dari network, ke bagian dari frame buffer memori yang merepresentasikan ke dalam application window.
Aplikasi video menangkap setiap pergerakan dari window, dan menginformasikan kepada video extention tentang window coordinate yang baru.

Implementasi dari jalannya video extention pada network adapter sangatlah mudah. Kasarnya terdapat 250 baris kode, yang terdiri dari fungsi untuk :

• Instantiate per window metadata untuk window coordinate,ukuran / size,dll.

• Mengupdate metadata setelah apa yang terjadi pada window ( pergerakan window )
• DMA mentransfer data ke dalam frame budffer.

Fungsi ini teregistrasi sebagai active message handler dengan SPINE I/O runtime dan akan meminta bila pesan tiba pada salah satu dari host atau network.



Video Ekstention mentransfer data dari network adapter langsung menuju ke frame buffer, yang mana dapat mengurangi I/O channel load, frees host resource, dan juga mengurangi keterlambatan untuk menampilkan video dari saat waktu pertama datang dari network.
Figure 2 diatas melukiskan keseluruhan struktur yang lebih detail. Untuk angka yang ada pada tanda panah di atas mempunyai arti sebagai berikut :
  1. Video Application mengirim extention ke dalam card.
  2. Paket berisi video yang datang dari network.
  3. SPINE mnegirimkan paket ke dalam video extention.
  4. Video Extention mentransfer data secara langsung ke frame buffer, dan video image akan ditampilkan kepada user.