Tuesday, January 6, 2009

AC/DC

An invertor converts low voltage DC to high voltage AC. It consists of a chopper device which opens and closes a switching transistor successively. This produces a pulsating DC. Then a transformer steps up the current to higher voltage. The output is closer to a square wave than a good sine wave. More expensive chopper will produce a wave form closer to sine wave.

To convert AC to DC, one uses a rectifier. This device uses one or more diode to force/convert current to flow in one direction. The result is a pulsating DC current. The ripples generated can be smoothed out to approach a pure DC form by using filter. The rectifer works by trying to maintain the DC voltage at its peak value.

Wednesday, December 31, 2008

Single Instruction Multiple Data SIMD

The first SIMD in Intel CPU appeared as MMX (Multimedia Extension). MMX works on 64-bit register. The 64-bits are recognized as 2 32-bit values. Instead of creating new SIMD registers, Intel has decided to use the floating point registers for MMX calculation. The floating point registers R0 to R7 are renamed to MMX0 to MMX7 for SIMD. The new data type created for MMX are all integer-based.

AMD follow with 3DNow! technology which used the floating point registers for SIMD calculation as Intel's MMX. The difference is that AMD recognized the data packed in the MM0 to MM7 register as floats. It was followed by Enhanced 3DNow! in Athlon CPU in which both Integer and Floating Point data types are supported.

In its, Pentium III CPU, Intel provided a set of 8 new registers of 128-bits size. This is enough to store 4x32-bit floating point values and this is useful in 3D calculation which deal frequently with 4x4 matrices. These new registers are called XMM0 to XMM7. Intel called the technology as Streaming SIMD Extension (SSE). Intel upgrade to SSE2 when introducing Pentium IV. With SSE2, integer values are supported as well. AMD followed suit with 3DNow! Professional, which is fully compatible to SSE2.

Saturday, December 13, 2008

LUN Masking

LUN masking performs a similar function as zoning. A LUN is a logical representation of a physical unit of storage including physical disk, physical tape drive, robotic control device, logical disk (formed by multiple physical disks with striping or RAID). LUN masking hides LUNs so that each server sees only the LUN accessible to itself. LUN masking is performed at a level just above zoning. A zone grants or restricts access only to a given port on a storage arrange, but LUN masking can take that port and grant one server access to some of its LUNs. LUN masking can be performed on 3 levels - storage array, intelligent bridges and routers, and HBA driver.

SAN BAU

Firstly, create virtual disk and tape devices for sharing. Then create zones or use LUN masking to create dats paths between resources and servers that access them. Thirdly, use persistent binding to create a permanent relationship between each virtual resource and a SCSI ID on the server. Finally, use multipathing software to manage the multiple paths between the set up.

Persistent Binding

The way that some OS assign SCSI addresses to SAN devices may cause their SCSI address tochange after a reboot, especially if storage resources configuration has changed. The solution to this problem is persistent binding between a SCSI ID and a WWN. This relationship is part of the HBA driver configuration.

Zoning

Zone is equivalent to VLAN. Zoning limits the number of hosts that can see a given storage resources. A hard zoning is created using a list of physical ports. Soft zoning is created using a list of WWN.

Multiple Paths to a Single Device

Each SCSI device willappear only on one SCSI bus. IN FC, it is not true and because of multiple HBA in the same host, it could have more than 1 path to the same device. SAN switch is closer to Ethernet router than switches. Ethernet switch uses spanning tree to detect loop and disable redundant path. Ethernet router uses a routing protocol such as OSPF to ahndle multiple path. In FC, FSPS (FC Shortest Path First) to load balanceSAN traffic and failover.

Because each device on the SAN will appear as a SCSI ID on each HBA connected tot he same, a system with multiple HBA connected to the SAN will actually think that each device on each path is a separte device. A logical layer needs to be inserted to mask these paths and present the OS with the appearance of a single SCSI connection. This is achieved by multipathing software runs on each server.