Senin, 29 Juni 2009

Notebook/ Laptop Versus Desktop PC
Notebook versus Desktop PC
Current high-end DTR (Desktop Replacement) notebooks should be capable of replacing a desktop PC (as the name implies). Throughout the last years the performance of the components used in notebooks approximate those of desktops. Nowadays they are already capable of providing performance for every field of operation. A few years ago it was still unimaginable that notebooks could come close to the performance of desktops. Current top processors and video cards for notebooks technologically even out desktops components. Still, the cooling system and the energy demand of high-end desktop computer is superior.

Processor
The Dell XPS M1710 is a powerful example of DTR notebooks with fast (even potentially overclocked) Dual Core processors
Current mobile processors, e.g, Core 2 Duo and Turion X2, run with slightly lower clock rates in notebooks (e.g., Core 2 Duo: 2,93 GHz versus 2,33 GHz for the notebook). Furthermore, their kernel voltage is reduced and they provide further energy saving mechanisms (whereby performance possibly suffers). Therefore, even processors with the same clock rate are maybe slightly slower than desktop processors, however, they are superior regarding energy demand.

At the time of writing 4-core processors (Quad Core) are not yet available for notebooks (despite you would use desktop processors) and it is even not planned to make them available for notebooks in the short run. They still demand too much current, and emit far too much waste heat, and are, therefore, not yet adapted for use in small cases like those of laptops.
Still, the performance of current high-end notebook CPUs is sufficient for running all applications (and games) fluently.

Video Cards
High-end desktop video cards, e.g., 8800 ,or X1950 (in SLI mode) are clearly faster than high-end notebook video cards, because they are run at higher clock rates. Also regarding this matter, the performance is limited by energy demand and waste heat. Video cards with more than 100 Watt power output, cannot be efficiently cooled down, and would also empty the battery in no time.

Today, notebook models still lag behind regarding DirectX 10 features, but you can expect that more and more notebook video cards with DX10 features will be available soon. Top notebook video cards, e.g., the NVIDIA GeForce Go 7950 GT (or SLI) still provide sufficient power for current games (see also our comparison of video cards and the sortable benchmark list of mobile GPUs).

2 video cards linked together by SLI are also available for notebooks for high performance (here Nexoc Archimedes E407).

Other Components
Memory - most modern notebooks have two (mostly easy to access) memory slots. This is half of desktop PCs, which in the majority provide 4 memory slots. Also regarding clock-rate and timing the smaller notebook SO-DIMMs are slightly slower than desktop memory chips.

However, the main difference can be experienced at hard disks. Today the mainly used 2,5" hard disks are still clearly slower that the 3,5'' hard disks of desktops. Also regarding capacity the smaller notebook hard disks lag behind desktop hard disks. However, big 17 - 19" DTR notebooks offer the opportunity to link two 2,5" hard disks together by RAID. This makes a considerable performance possible, but has disadvantages regarding data security (if one of the two hard disks fails, all data are lost).

You'll also notice the energy and space saving at the display. The panels used in notebooks are clearly worse regarding all aspects than desktop displays. The vertical and horizontal stability to the vantage point could generally be better and also the maximum brightness is clearly behind those of desktop displays. However, an external monitor can be connected to nearly all notebooks in order to resolve this shortcoming.

Verdict
High-end notebooks are unlikely to catch up with high-end desktop computers, because it is more difficult to cool them down, because of their limited size. Despite this, notebooks have a considerable performance, which is comparable to upper middle class desktop computers. This makes it possible to handle nearly all fields of applications. Especially mobile game computers are possible since the introduction of fast notebook video cards. Furthermore, a notebook is a balanced complete system, which is optimized regarding energy demand (75-150W compared to 300-500W of desktops), noise emissions (in average), and, most important, mobility.
..
Upgrading Laptops
Due to the compact construction of notebooks they can not be upgraded as easy as Desktop PCs. In addition usually the warranty is lost as soon as someone changes something in the equipment. Processor can be upgraded sometimes, but usually only up to speeds, which were sold in other models of the type. The reason is the cooling of laptops which is coordinated very precisely with the used processors.RAMRAM usually can be changed or extended easily, because most manufacturers insert the modules under an easily accessible opening.
Normally the modules are standardized and can be exchanged by putting them in simply.Hard DiskUsually 2.5" drive assemblies are used, which can be exchanged without problems in most cases. Nevertheless problems can arise with the Bios or the Jumpering (master - slave).WLANFrequently mini PCI-modules are used for internal WLAN, which can be relatively simply exchanged. Unfortunately some manufacturers do insert non-authorized modules, or the antenna socket is in another place and therefore the antenna can not be attached. Optical Drive AssembliesCan be exchanged usually relative simply, however many manufacturers use own specific cover plates with the provided models.
Therefore sometimes the new drive assembly cannot fit well optically.Video CardMany manufacturers promise exchangeable modules with the new PCI-express-standard. The question is how to get other suitable video cards, which fit and are provided with a corresponding cooling system. Up to now it is very rarely possible to exchange the grafics card in a notebook. Usually they are soldered firmly (up to now except of Dell with some models).OtherThe remaining components can hardly be upgraded, except the manufacturers supply corresponding parts or plan it.
..
About Laptop Graphic Memory
How much graphic memory makes sense?

How much memory needs a video card and how much graphic memory is useful for specific application purposes?

Shared Memory / Onboard Graphic Cards

Onboard video cards like GMA 950 are sufficient for office, internet and image editing.
For graphically not demanding jobs like internet surfing, office, image editing (e.g. with Photoshop), 2D games and some elder 3D games an onboard graphic card (a video card without own memory like e.g. Intel GMA 900 / 950 or ATI Radeon Xpress 1150) is clearly sufficient and now remarkable speed losses can be measured compared with graphic cards with own memory. However, a fast RAM (Dual Channel) is recommended, because the graphic card uses parts of the RAM.

TIP: Caution with denominations like TurboCache (NVIDIA) and HyperMemory (ATI). They also indicate dynamically from RAM reserved memory. He is used additionally to the graphic memory, but clearly slower than the integrated memory. Also cards without these techniques can use additional memory from RAM, but this is even solwer than with TurboCache and HyperMemory.
32 MB, 64 MB, 128 MB, 256 MB o 512 MB?

Weaker graphic cards like ATI Mobility Radeon X1300 hardly benefit from more than 128 MB graphic memory.

NVIDIA GeForce Go 7950 can benefit slightly with highest settings with antialiasing easily from 512 MB (compared to 256 MB).
If you want to execute graphically more demanding applications (3D) and 3D games, you often need faster graphic cards than current onboard models (see our comparison of graphic cards). How much memory is necessary and useful for such applications?
Basically, a lack of memory only slows down, when it is needed (that means, when the settings of resolution, texture details, anti aliasing or anisotrope filtering needs more memory than available).

Up to 128 MB graphic memory
Most current games (10/2006) need 128 MB with a resolution of 1024x768 pixels and without anti aliasing / anisotrope filtering. If graphic cards are used, whose performance is not able to represent these resolutions with high details, 128 MB are too much and unnecessary. So, video cards below the performance of a NVIDIA GeForce Go 7600 or ATI Mobility Radeon X1600 don't need more memory than 128 MB.

256 MB graphic memory
256 MB video memory are sufficient for almost all current games with high settings and a resolution of 1024x768 or similar. An improved performance with 256 MB only is possible with video cards of the mid range or high end class like NVIDIA GeForce Go 7600 or ATI Mobility Radeon X1600.

512 MB graphic memory
At moment, only few games benefit from 512 MG graphic memory (for large texture maps). Examples are Doom 3 and Call of Duty 2. Other current games gain an increase of 10% performance with 512 MG graphic memory with a resolution of 1280 x 960 pixels and quadrupled antialiasing. Nevertheless this affects only high end video cards like NVIDIA Geforce Go 7900 GTX or the new 7950 GTX.

Conclusion
Depending on video card and application purpose the size of graphic card memory differs. For office, internet and image editing models without own graphic memory (onboard chips) are sufficient. For current games without antialiasing 128 - 256 MB are sufficient. Only high end graphic cards compined with newest games, highest resolutions and antialiasing need 512 MB.
Nonetheless the requirements are increased with every new generation of games ...

Sabtu, 27 Juni 2009

aPa itu wEbserVis

Daftar Tulisan Berseri untuk web services

1. Apa itu Web Services? (Bagian I)
2. Apa itu Web Services? (Bagian II)
3. Apa itu Web Services? (Bagian III)

Melanjutkan tulisan sebelumnya, kali ini saya akan membahas tentang SOAP dan REST. Seperti halnya XML-RPC, SOAP juga memiliki standard mekanisme dalam pertukaran informasi menggunakan format XML. SOAP memiliki tiga bagian, yaitu:

* SOAP Envelope, yang mendefinisikan dokumen XML sebagai pesan SOAP. Element Envelope merupakan element root yang dapat menggunakan identifier namespace dari http://schemas.xmlsoap.org/soap/envelope/. Struktur dasar SOAP Envelope kurang lebih seperti berikut:



...
Pesan informasi, bisa mengandung
element Header dan harus
terdapat element Body
...


Element Envelope yang mendeklarasikan namespace (seperti di atas) harus menggunakan namespace-qualified untuk atribut tambahan lainnya (seperti soap:encodingStyle) serta sub-element-nya (opsional element dan element yang wajib ada). Penggunaan atribut encodingStyle bertujuan untuk mendefinisikan tipe data yang digunakan dalam dokumen. Atribut ini dapat muncul di element SOAP manapun, dan efeknya akan terkena ke konten element yang mendefinisikan atribut tersebut serta sub-element-nya.
* Aturan encoding SOAP, yang mendefinisikan mekanisme serialisasi pesan SOAP. Aturan serialisasi pada contoh di atas di identifikasikan oleh URI http://schemas.xmlsoap.org/soap/encoding/. Pesan SOAP yang menggunakan aturan serialisasi itu harus mendeklarasikan atribut encodingStyle dengan nilainya berisi URI http://schemas.xmlsoap.org/soap/encoding/.
* SOAP RPC, yaitu bagaimana SOAP dapat digunakan seperti halnya XML-RPC. Dalam SOAP sebenarnya dikenal 2 tipe aplikasi, yaitu RPC dan EDI (Electronic Document Exchange). SOAP RPC (atau lebih dikenal sebagai “RPC-style” SOAP) menggunakan pesan SOAP sebagai representasi nama prosedur berserta opsional parameternya dan nilai balik dari prosedur. SOAP EDI (atau dikenal sebagai “document-style” SOAP) merupakan pesan SOAP yang merepresentasikan transaksi bisnis seperti order pembelian, pembayaran pajak atau dokumen sejenis lainnya. Sebenarnya, semua Web Services yang saya bahas ini lebih ke RPC-style, yaitu bagaimana client merequest informasi terencoding berisi nama prosedur beserta parameternya yang ingin dipanggil dan server merespon nilai balik hasil eksekusi prosedur ke client. Saya akan berikan contoh bagaimana pesan RPC-style SOAP. Misalkan, server menyediakan fungsi hello($name) dimana nilai balik yang dihasilkan adalah string “hello $name” ($name adalah parameter bertipe string). Berikut contoh request dari client untuk pemanggilan fungsi hello dengan paramater “gedex”:

POST /soap/server.php?debug=1 HTTP/1.0
Host: localhost
User-Agent: NuSOAP/0.7.3 (1.114)
Content-Type: text/xml;
charset=ISO-8859-1
SOAPAction: ""
Content-Length: 542



1


gedex




Jika dilhat, pesan SOAP di atas menggunakan namespace-qualified SOAP-ENV (default dari nuSOAP) dan itu pun harus digunakan pada atribut serta sub-element-nya. Nama fungsi yang ingin dipanggil merupakan sub-element (yaitu ) dari element body () dan parameter nya merupakan konten dari sub-element hello (yaitu konten dari element ). Element menggunakan identifier namespace dari http://tempuri.org. Nah namespace ini juga berpengaruh kepada konten ataupun sub-elementnya (dengan begitu element menggunakan namespace dari element parent-nya). Setelah server menganggap pesan SOAP client valid, dan eksekusi prosedur memberikan nilai balik, kini saatnya server memberikan response dalam pesan SOAP juga. Berikut contoh response pesan SOAP atas request di atas:

HTTP/1.1 200 OK
Date: Sun, 13 Apr 2008 08:12:07 GMT
Server: Apache/2.2.8 (Win32) DAV/2 mod_ssl/2.2.8 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.5
X-Powered-By: PHP/5.2.5 X-SOAP-Server: NuSOAP/0.7.3 (1.114)
Content-Length: 6916
Connection: close
Content-Type: text/xml; charset=ISO-8859-1





Hello gedex





Content-Length di atas cukup panjang, karena saya merequest nusoap_server (server.php) dengan ?debug=1, jadi server akan memberikan data debug dalam bentuk komentar. Nah, kita bisa lihat pesan SOAP dari response memberikan nilai balik dalam element berisi “Hello gedex”. Bila Anda membaca posting saya sebelumnya mengenai XML-RPC, pasti Anda masih ingat bahwa response juga bisa mengembalikan jika ada error dalam payload XML-RPC yang mungkin bisa dari nama prosedur yang salah ataupun kesalahan parameter. Nah dalam SOAP, juga ada SOAP fault. Berikut contoh SOAP fault atas kesalahan pemanggilan nama prosedur:





SOAP-ENV:Client

method 'halo' not defined in service
... panjang bay klo gw paste ...




SOAP fault terdiri atas 4 sub-element, yaitu faultcode, faultactor, faultstring dan detail. faultcode merupakan nilai yang dihasilkan untuk mengidentifikasi jenis kesalahan yang terjadi. Nilainya harus qualified-namespace (sebagaima kita lihat, yaitu SOAP-ENV:Client). Dalam namespace http://www.w3.org/2001/06/soap-envelope didefinisikan 4 standard faultcode, yaitu VersionMismatch, MustUnderstand, Server dan Client. Jika Anda masih bingung dengan istilah qualified-namespace, Anda bisa perhatikan bagaimana faultcode bertipe Client harus ditulis SOAP-ENV:Client mengikuti namespace element Envelope (SOAP-ENV:Envelope) yang telah didefinisikan sebelumnya. Keempat jenis faultcode tersebut dapat dikembangkan lebih jauh untuk memberikan tipe fault yang lebih ekspresif dan sempit, tapi tetap harus menjaga kompabilitas dengan core faultcode. Misal faultcode Client dapat memiliki turunan faultcode Client.Authentication untuk lebih mempersempit ekspresi fault (Client.Authentication menunjukkan terjadi kesalahan dalam authentifikasi si client, ya bisa dari salah password). Notasi “.” menunjukkan bahwa kata sebelah kiri “.” lebih generik dibanding kata yang di sebelah “.”. Akan sangat panjang jika saya bahas semua mengenai jenis fault. Jika Anda ingin membaca lebih lanjut mengenai spesifikasi SOAP, bisa baca catatan W3C mengenai SOAP 1.1. Perlu diketahui bahwa saya menggunakan library nuSOAP untuk contoh-contoh di atas, dan nuSOAP itu mengimplementasikan standard SOAP 1.1. Saat ini sudah ada spesifikasi SOAP 1.2

Sepertinya penjelasan singkat (sungguh, ini sangat singkat dan masih banyak definisi dan aturan SOAP yang belum bisa saya jabarkan di sini, baik dari keterbatasan pengetahuan saya dan kemalasan saya) ini akan masih banyak meninggalkan tanda tanya, yang insyaAllah tanda tanya tersebut bisa dijawab oleh W3C dan google :). Sepertinya pembahasan mengenai REST saya sambung ke bagian 3. Basically, posting yang terlalu panjang akan membuat pembaca muak sebelum membaca, karena begitulah saya :p, dan jika dibuat estafet akan lebih asyik dan membuat pembaca (yang dapat menarik kesimpulan tentunya) merasa penasaran menunggu lanjutannya. Sengaja saya tidak pakai tag read more, agar pembaca blog ini yang menggunakan aggregator atau RSS Reader dapat menarik (feed) konten secara keseluruhan.

Referensi:

* Simple Object Access Protocol (SOAP) 1.1
* Soap tutorial di W3Schools.com
* NuSOAP - Web Services Toolkit for PHP
* Programming Web Applications with SOAP

Previous in series Next in series