• Tidak ada hasil yang ditemukan

Filosofi Source Code: Software dan Hardware. Prof. Dr. Jazi Eko Istiyanto M.Sc

N/A
N/A
Protected

Academic year: 2022

Membagikan "Filosofi Source Code: Software dan Hardware. Prof. Dr. Jazi Eko Istiyanto M.Sc"

Copied!
40
0
0

Teks penuh

(1)

Filosofi Source Code:

Software dan Hardware

Prof. Dr. Jazi Eko Istiyanto M.Sc

(2)

Teknologi Informasi

Mengolah data dan Informasi, untuk

mendapatkan pengetahuan (knowledge) dan kebijaksanaan (wisdom), demi optimalisasi

kebijakan dan eksekusi

(3)

Hierarki TI

Data

Information

Knowledge and wisdom

Decision Making

The Most Important

Element

(4)

Informa tion

Docu ment

Identity

• Sex

• Name, birth date

(5)

Cloud Computing

Armbrust (2009), Cloud Computing dua komponen:

1. Aplikasi yang disediakan sebagai layanan melalui Internet.

2. Perangkat lunak dan keras yang tersedia di

pusat data (data centres) yang menyediakan

layanan tersebut.

(6)

Varian Cloud Computing (Buyya, 2008)

1. Software as a Service (SaaS) : adalah penyediaan suatu aplikasi yang ditargetkan pada pengguna individual (misalnya social networking, micro- blogging) dan pengguna bisnis (misalnya ERP – Enterprises Resources Planning, CRM – Customer Relationship Management) secara pay-per-use.

2. Platform as a Service (PaaS) : adalah penyediaan tools untuk pengembangan, pengujian, deployment, hosting, dan pemeliharaan aplikasi secara pay-per-use.

3. Infrastructure as a Service (IaaS) : adalah penyediaan

virtual CPU, disk space, database services secara pay-

per-use.

(7)

Keuntungan Cloud Computing

(1) Terciptanya kegiatan komputasi tanpa melanggar hak cipta

(2) Dokumen tersimpan di server penyelenggara

sehingga relatif aman dari kehilangan dokumen (3) Kemudahan mengakses data

(4) Terwujudnya model utility/infrastruktur pada instalasi IT di mana kita hanya membayar apa yang kita pakai saja (pay per use) dan dapat menekan pemborosan capex (capital

expenditure) pada pembelanjaan/pengadaan

sarana IT.

(8)

Open Source Software (OSS)

1. Cloud Computing sebagian besar

menggunakan Open Source Software, atau information sharing

2. Pengguna berhak mengunduh,

mengembangkan, dan memodifikasi kode sumber kepentingan bersama.

3. Contoh Apache Web Server, Sistem Operasi

Linux (Debian, FreeBSD, OpenBSD, Ubuntu,

dll), browser web Firefox, care2x.

(9)

Karakteristik Open-Source

• Kode sumber (source code) yang dapat diunduh, dimodifikasi, dan dikembangkan oleh pengguna.

• Pengguna tidak hanya sebagai konsumen, tetapi juga developer

• Programmer, tersusun atas programmer inti (core developers), programmer tambahan (periphery developers), dan pelapor bug (bug reporters), direkrut secara sukarela.

• Pengembangan dilakukan secara kolaborasi dengan menggunakan media penghubung Internet.

• Tidak atau sedikit sekali mempergunakan metodologi formal.

• Fokus pengembangan secara kode terbuka hanya pada dua hal yaitu menambah fitur dan perbaikan terhadap bug yang dilaporkan.

(10)

Co-Creation

Hubungan antara produsen dan konsumen bersifat dinamik dengan cara melibatkan konsumen secara langsung pada produksi

ataupun distribusi nilai (value).

Termasuk di dalam filosofi Co-Creation:

Cloud Computing dan Open-Source

(11)

Jenis Co-Creation

1. Penyelenggara memperoleh keuntungan, pengguna tidak, Yahoo!Answers dan Lego Mindstorm

2. Penyelenggara maupun pengguna sama-sama memperoleh keuntungan

Innocentive, ITMS+iPod, dan eBay

3. Penyelenggara maupun pengguna sama-sama tidak memperoleh keuntungan

Wikipedia, dan Linux

4. Penyelenggara tidak memperoleh, pengguna memperoleh keuntungan

Craiglist di mana penyelenggara berperanan menyediakan

dukungan bagi pengguna untuk memperoleh revenue.

(12)

Hukum Metcalfe yang mengatakan bahwa value yang diperoleh seseorang yang bergabung suatu jaringan yang telah memiliki N-1 anggota

berbanding lurus dengan N*(N-1)/2

Semakin banyak anggota komunitas, value yang

diperoleh akan semakin tinggi

(13)

Wikinomics

• openness (keterbukaan)

Terbuka akan gagasan SDM eksternal

• peering (persejawatan)

Swa-organisasi, yang dapat bekerja lebih efektif dari pada

manajemen hirarkhis. Pengaruh terbesar dari persejawatan nampak pada produksi software, media, entertainment, dan budaya.

• sharing (berbagi)

Pengelolaan portofolio yang seimbang atas aset kekayaan intelektualnya, sebagian terproteksi dan sebagian terbuka.

• acting globally (bertindak secara global)

Institusi dapat menjadi juara bila ia memiliki pengetahuan tentang sekitarnya : pasar, teknologi, dan manusia.

(14)

Open Source Hardware (OSH)

Rancangan hardware (khususnya chip), tidak sepenuhnya bebas diakses publik.

Meskipun demikian pada sisi pengguna hardware, desain implementasi chip, baik

rancangan skematik ataupun source code program pengendali chip, misalnya program mikrokontroler Arduino, dapat bebas diakses

oleh publik (Banzi, 2009).

(15)

Cont’d

• Pertama kali menggunakan lisensi Creative Commons Attribution (CCA) disebut Share A- like

• Pengembang diizinkan meng-copy desain

board, mendesain ulang, atau menjual board

hasil desain tanpa biaya lisensi atau meminta

izin

(16)

Open Source High-level Hardware Language

• Perancang dapat lebih fokus mendesain sistem komputasi berbasis interaksi langsung dunia nyata, sebagai solusi

alternatif kebutuhan komputasi dan juga sangat

mendukung dunia pendidikan disebabkan sifat open-source dan low-cost

• Pendidik harus cepat beradaptasi seiring pesatnya

perkembangan open-source hardware dan perubahan paradigma fungsi hardware sebagai bagian dari media

tangible devices dan percepatan perubahan arsitektur yang semakin kompleks

• OSH tetap dapat dikomersialkan, layaknya OSS tanpa

mengurangi spirit open-source yang berbasis komunitas

(17)

Aspek Penting Open Source

• OSH harus memiliki mekanisme fabrikasi, penjualan, hingga pendistribusian, tanpa mengurangi aspek open-source

hardware.

• OSS pengguna dimudahkan dalam akses, hanya melakukan pengunduhan source code

• OSS maupun OSH, memberi peluang besar bagi komunitas atau pengguna untuk berinteraksi lebih aktif bagi software maupun hardware yang digunakan

• Bagi pendidik, mahasiswa, maupun pengembang harus memiliki kemampuan adaptasi terhadap perkembangan OSS maupun OSH yang dinamis

• OSS maupun OSH memberi kesempatan untuk

mengembangkan local wisdom, menjadi konsumsi global

(18)

Program Compilation A Familiar Example

C Program (HLL Code)

Compiler

Assembler

Assembly Code

Machine Code

Void main() {

a= b+c;

d= a-c;

}

add r1,r2 mov r2,r1 add r2,r3 sub r1,r4

110001101010010101 010010100101000011 101011111000111011 110001011111010111 001110101011111111

(19)

VLSI Circuit Synthesis (Simplified Flow)

C Program (HLL Code)

High Level Synthesis

Logic Synthesis

RTL Design

Gate Level Design

Layout Synthesis

IC Layout

void main() {

a = b + c;

d = a ‐ c;

}

(20)

High Level Synthesis

• Process of transforming a high‐level

description into a functionally equivalent RTL (Register Transfer Level) design

• Also known as

– Behavioral Synthesis – Architectural Synthesis

• Our focus is only on Digital Circuits

(21)

High Level Synthesis

Algorithm

High Level Synthesis

Tools

Datapath Controller

(22)

Top Down HLS Flow

Algorithm

Scheduling

Alocation

Binding

Datapath & Controller Generation

Datapath Controller

• Storage Units

• Registers

• Memory

• Functional Units

• ALUs

• Interconn Units

• Muxes

• Buses

Optimize Performance Ya hoo!!

USER CONTRAINS

(23)

DFG Format: FIR Filter Example

(24)

RTL Design Model

• Reset pulse initializes the Datapath registers and Control registers

• Start pulse signals the design to start processing the inputs

• Datapath and Controller communicate with Flags and Control sigs

• Finish signal indicates that the outputs are valid

• Clock signal: ON = Datapath works OFF = Controller works

(25)

An Illustrative Example: FIR Filter

(26)

After Scheduling Phase….

(27)

After FU Allocation and Binding..

(28)

Register Optimation

(29)

After Register Allocation and Binding

(30)

Controller

(31)

Behavior Representations

• Data Flow Graph (DFG)

• Node  an operation

• Edge  data transfer

• Control Data Flow Graph (CDFG)

• Node data or control operation

• Edge data or control flow Control nodes arise due to

conditionals, loops, function calls, etc.

(32)

HLS Tasks

• Operation Scheduling: timestamp operations without violating data dependencies

• Resource Allocation: given a scheduled graph, allocate resources to execute the schedule

• Resource Binding: map operations/edges to resources

• The above three tasks are performed such that:

• Design constraints (eg., area/speed) are satisfied

• Design attributes (eg., area/speed) are optimized

• The above three tasks are combinatorial problems

• General problem formulations are computationally intractable and therefore heuristics are developed

(33)

HLS Algorithms

HLS sub‐problems can be solved based on (not exhaustive):

• Graph Based Algorithms

• List Scheduling

• Clique Partitioning

• Vertex Coloring

• Stochastic Search Heuristics

• Simulated Annealing

• Genetic Algorithm

• Linear Programming Framework

• ILP (Integer LP)

• ZOLP (Zero‐one LP)

(34)

Graph Scheduling

• Example DFG

(35)

ASAP and ALAP Scheduling

ASAP () begin

T(0) := 0

while (unscheduled node exists) do foreach node n whose

predecessor was scheduled begin t := max{ T(pred(n)) }

T(n) := t + 1 end for

end while end

ALAP ( Tmax) // Tmax is the longest path length begin

T(n) := Tmax + 1

while (unscheduled node exists) do foreach node n whose

successor was scheduled begin t := max{ T(pred(n)) }

T(n) := t + 1 end for

end while end

(36)
(37)

Problem-Resource Constrained Scedhuling

Schedule the following DFG using resource constrained list scheduling with 3 ALUs

T Ready-List Operations

Scheduled 1

2 3 4

(38)

HLS Design Flow

• In traditional flow, scheduling, allocation, and binding

algorithms are run sequentially; in general, the three tasks can be run in any order

• Each task constrains design space for subsequent tasks

• It is shown that simultaneous scheduling/ allocation/ binding yields better solutions

• Iterative flows are also proposed that refine the solution

(39)

Why High Level Synthesis?

• Rapid design space exploration of serial to parallel architecture alternatives

• Pareto optimal points can be explored

• Higher abstraction level => Better handle on design complexity (multi‐million transistor design)

• Fast concept‐to‐implementation eg., Users write only high level code (C code)

(40)

TERIMA KASIH

Referensi

Dokumen terkait

$okok dari pelatihan dukun adalah untuk memperbaiki kegiatan-kegiatan yang sebenarnya sudah di lakukan oleh dukun, seperti memberikan saran tentang kehamilan, melakukan

Permasalahannya dalam sistem pengumpulan dan pengangkutan susu sapi perah yang dilakukan selama ini masih menggunakan metode yang sederhana atau intuitif, hal ini

Peranan Cacing Tanah dalam Pengelolaan Sampah dan Agrobisnis serta Dampaknya Terhadap Nilai Tambah Pendapatan Masyarakat dalam Modul Pelatihan Pemahaman Rancang Bangun

TENTANG BOLEH NIAGA, KELAYAKAN UNTUK TUJUAN TERTENTU, ATAU APA-APA JAMINAN LAIN, DIBERI TENTANG MAKLUMAT ATAU PRODUK YANG DIRUJUK OLEH

Hari yang indah diawali dengan melanjutkan perjalanan melewati pedesaan Belanda, di mana Anda dapat melihat dari dekat pabrik clogs, pembuatan keju, dan kincir angin.. Menuju ke

Dengan adanya sistem pakar ini, para peternak dapat memperkirakan jenis warna anakan lovebird yang dilakukan pada persilangan dua jenis warna indukan yang berbeda

Obat yang dimaksud mencakup obat, obat tradisional, kosmetik, dan suplemen Kesehatan. Sampel Obat meliputi sampel sesuai dengan pedoman sampling. Sampel Obat mencakup Balai

Dari 30 orang responden 17 orang atau 56,7% berpendapat tidak setuju bahwa fitur pada aplikasi gopay berjalan dengan baik, 21 orang atau 70% berpendapat tidak setuju