Peer to Peer

Peer to Peer (P2P) is a distributed network architecture that consists of participants who share resources with each other, coordinated without the need for a central server. Each participant is called by peers, provide and consume resources between one another. The way it works is the server only provides the resources while the client taking them. The resources may perhaps contain bandwidth, disk storage, processing power, and so on.

P2P networks are dynamically formed by nodes that are ad-hoc; interruption of a node does not significantly affect the overall network. All nodes are considered as peers and can take steps as a client and server side functionality.

The larger a P2P network, will increase demand but simultaneously increase the capacity of resources. While the client-server networks, the increasing number of clients will increase demand, but resources will remain the same for server capacity is not increased. The server must serve the client more, which means each client will receive fewer resources. For example in the form of le sharing will be discussed below.

 

Client-server Model

To understand the workings of P2P and the difference with client-server architecture is first known, let’s see first what happens at what time you download files from the Internet.

The first example is when you download files from a website that provide it (the server), then first you will access the site address, and click the link download a specific file. Web browser (client) will communicate with the server to download a copy file from the server to your computer. The transfer process is handled by a protocol such as HTTP (HyperText Transfer Protocol) or FTP (File Transfer Protocol).

File transfer speed is affected by many factors, including the Internet connection you use, the high and low traffic and server performance, protocol type, or number of clients who are downloading files concurrently. If downloaded files are large and high demand for these files, will clearly slow down the download process. How it works is to implement client-server model, server-side that do the sharing of reserves, whereas the client does not do any sharing.

 

P2P model

Contrary to download through the website, the P2P file sharing, and you need software support to find other computers that have the file you want. The computer is a regular computer that uses the similar P2P software with you, called the peer. So peer-to-peer communication and transfer of data showing that occur between these computers.

Each peer can request the file you want to download, P2P software will conclude the location of the files contained on other computers connected, and start the download process to the computer that requested it. A peer can download the file from another peer, and at the same time upload the file to another peer who requested it.

The term leecher quite popular among users of P2P file sharing, shows aimed at users who just download the file you wanted, and immediately disconnect after the download is complete, and not allow other users to retrieve files from it.

Implementation and Advantages of Hardware-Assisted Virtualization

The most obvious implementation for now is the current largest processor manufacturers, Intel and AMD. Here is the implementation of virtualization is done by them.

 

AMD-V

Or it could be called AMD-Virtualization Technology (AMD-VT) with the aim of get over the duties usually performed by the VMM / hypervisor in the software emulation environments. Also, it will simplify the tasks in the extension instruction set virtualization the Athlon 64 and Opteron processors. AMD-VT was announced in 2004, under the code name Pacifica. AMD has released the specifications in detail in mid-2005.

 

Intel VT-x

Intel Virtualization Technology (VT) is a hardware instruction set. Which was originally intended to be implemented on the server and client processor platform that provides software-based virtualization solutions.

Intel VT allows a platform to precede several OS and applications in separate partitions. Thus enabling a computer system is headed for purpose as compound virtual systems.

 

Advantages of Hardware-Assisted Virtualization

Hardware-assisted virtualization changes the access to the operating system itself. For the x86 operating system is designed to have straight admission to the resource system in order to function. With software virtualization will be reachable to the OS. While the hardware-assisted virtualization, the operating system will have direct access to the resource, without the need for emulation or OS modifications.

 

IOMMU

IOMMU is an acronym for input/output memory management unit. He is a memory management unit that connects the DMA-capable I/O bus to main memory. Just like the standard MMU, which translate virtual memory addresses to physical memory addresses, while the IOMMU on duty to address I/O to physical memory addresses or address mapping device. Some units also have memory protection against devices that are not working properly. An example of the IOMMU, such as the Graphics Address Remapping Table (GART) is applied by the VGA card is AGP or PCI Express.

AMD’s IOMMU technology itself issued a specification in the HyperTransport architecture. While the present spec as Virtualization Technology for Directed I/O. Implementation is still around to the server computer.