Post to Facebook

Saturday, December 26, 2009

VOICE OVER INTERNET PROTOCOL(VoIP) - IP TELEPHONY

VoIP or “Voice over Internet Protocol” refers to sending voice and fax phone calls over data networks, particularly the Internet. This technology offers cost savings by making more efficient use of the existing network.
Traditionally, voice and data were carried over separate networks optimized to suit the differing characteristics of voice and data traffic. With advances in technology, it is now possible to carry voice and data over the same networks whilst still catering for the different characteristics required by voice and data.




Voice over Internet Protocol



Voice-over-Internet-Protocol (VoIP) is an emerging technology that allows telephone calls or faxes to be transported over an IP data network. The IP network could be

• A local area network in an office
• A wide area network linking the sites of a large international organization
• A corporate intranet
• The internet
• Any combination of the above

There can be no doubt that IP is here to stay. The explosive growth of the Internet, making IP the predominate networking protocol globally, presents a huge opportunity to dispense with separate voice and data networks and use IP technology for voice traffic as well as data. As voice and data network technologies merge, massive infrastructure cost savings can be made as the need to provide separate networks for voice and data can be eliminated.

Most traditional phone networks use the Public Switched Telephone Network(PSTN), this system employs circuit-switched technology that requires a dedicated voice channel to be assigned to each particular conversation. Messages are sent in analog format over this network.

Today, phone networks are on a migration path to VoIP. A VoIP system employs a packet-switched network, where the voice signal is digitized, compressed and packetized. This compressed digital message no longer requires a voice channel. Instead, a message can be sent across the same data lines that are used for the Intranet or Internet and a dedicated channels is no longer needed. The message can now share bandwidth with other messages in the network.

Normal data traffic is carried between PC’s, servers, printers, and other networked devices through a company’s worldwide TCP/IP network. Each device on the network has an IP address, which is attached to every packet for routing. Voice-over-IP packets are no different.

Users may use appliances such as Symbol’s Net-vision phone to talk to other IP phones or desktop PC-based phones located at company sites worldwide, provided that a voice-enabled network is installed at the site. Installation simply involves assigning an IP address to each wireless handset.

VOIP lets you make toll-free long distance voice and fax calls over existing IP data networks instead of the public switched telephone network (PSTN). Today business that implement their own VOIP solution can dramatically cut long distance costs between two or more locations.
Methods:
PC to PC,PC to Phone,Phone to Phone

WORKING of VoIP

In VoIP, analog voice signals are digitized using PCM. These digital voice samples are then buffered on an IP gateway. This device converts the PCM data stream into a compressed IP packet stream using DSP’s (Digital Signal Processors). DSP’s are responsible for converting from analog to digital as well as compression. The set of PCM samples are analyzed as a discrete set of binary data. It checks the speech for all the moments of silence, which are a lot. Even when we speak, there are pauses in between that go unnoticed to the human ear, but are quiet discernible to the sampling device. The length and beginning of these pauses is noticed, while the remaining silence is removed from the data set. Similarly redundant data is also

Removed, making the data set more compact. Finally, an IP header is attached to this compressed data, which is then sent out on the network as discrete data packets. Once the voice
Packet is sent out; it finds its way to the destination just like any other data packet. It passes through various routers and switches to reach the destination gateway. Here, it gets
Decompressed, meaning all the periods of silence and redundant data are reinserted and is finally decoded to produce an approximation of the original sound. The compression algorithm
Used in the process can compress the voice signals and can even carry voice over a little as 5.3 kbps bandwidth
APPLICATIONS OF VOICE OVER INTERNET PROTOCOL
Voice communications will certainly remain a basic form of interaction for all of us. The PSTN simply cannot be replaced, or even dramatically changed, in the short term (this may not apply to private voice networks, however). The immediate goal for VoIP service providers is to reproduce existing telephone capabilities at a significantly lower "total cost of operation" and to offer a technically competitive alternative to the PSTN. It is the combination of VoIP with point-of-service applications that shows great promise for the longer term. Some of the example are:
PSTN gateways: Interconnection of the Internet to the PSTN can be accomplished using a gateway, either integrated into a PBX (the iPBX) or provided as a separate device. A PC-based telephone, for example, would have access to the public network by calling a gateway at a point close to the destination (thereby minimizing long distance charges).
• Internet-aware telephones: Ordinary telephones (wired or wireless) can be enhanced to serve as an Internet access device as well as providing normal telephony. Directory services, for example, could be accessed over the Internet by submitting a name and receiving a voice (or text) reply.
• Inter-office trunking over the corporate intranet: Replacement of tie trunks between company-owned PBXs using an Intranet link would provide economies of scale and help to consolidate network facilities.
• Remote access from a branch (or home) office: A small office (or a home office) could gain access to corporate voice, data, and facsimile services using the company's Intranet
(emulating a remote extension for a PBX, for example). This may be useful for home-based agents working in a call center, for example.
• Voice calls from a mobile PC via the Internet: Calls to the office can be achieved using a multimedia PC that is connected via the Internet. One example would be using the Internet to
call from a hotel instead of using expensive hotel telephones. This could be ideal for submitting or retrieving voice messages.
• Internet call center access: Access to call center facilities via the Internet is emerging as a valuable adjunct to electronic commerce applications. Internet call center access would enable a customer who has questions about a product being offered over the Internet to access customer service agents online. Another VoIP application for call centers is the interconnection of multiple call centers.

H.323

The H.323 standard provides a foundation for audio, video, and data communications across IP-based networks, including the Internet. H.323 is an umbrella recommendation from the International Telecommunications Union (ITU) that sets standards for multimedia communications over Local Area Networks (LANs) that do not provide a guaranteed Quality of Service (QoS). These networks dominate today’s corporate desktops and include packet-switched TCP/IP and IPX over Ethernet, Fast Ethernet and Token Ring network technologies. Therefore, the H.323 standards are important building blocks for a broad new range of collaborative, LAN-based applications for multimedia communications. It includes parts of H.225.0 - RAS, Q.931, H.245 RTP/RTCP and audio/video codecs, such as the audio codecs (G.711, G.723.1, G.728, etc.) and video codecs (H.261, H.263) that compress and decompress media streams.


Media streams are transported on RTP/RTCP. RTP carries the actual media and RTCP carries status and control information. The signalling is transported reliably over TCP. The following protocols deal with signalling:
• RAS manages registration, admission, status.
• Q.931 manages call setup and termination.
• H.245 negotiates channel usage and capabilities.
• H.235 security and authentication.
VOICE CODING ALGORITHMS
There are several approaches to digitizing the voice samples. These approaches vary by the information that is transmitted, the complexity of the algorithm, and the assumptions of the sound being transmitted (e.g. voice, fax, music). Broadly classified, the various coding algorithms fall into two broad categories: coding of waveform and modeling of the vocal track. Pulse Code Modulation and Sub Band Coding are examples of waveform coding algorithms while Linear Predictive Coding is an example of an algorithm that models the vocal tract.

The Pulse Code Modulation (PCM) algorithm makes no assumptions about the sound that is being digitized and therefore does the best job on various types of sounds. It also produces the highest bit-rate for the data and has the shortest delay. The basics of the various PCM algorithms is that the voice is sampled at fixed time intervals (i.e. 8,000 times/second) and then a number is generated from the data based on each sample.

Figure 1. PCM algorithms sample the voice at fixed time intervals

ADPCM (Adaptive Differential Pulse Code Modulation), a variant of PCM, samples the voice at fixed time intervals and then calculates the change from the previous sample and sends that information. To save bandwidth, these step sizes are specially coded so that the step size at low volume is different than the step size at high volume. ADPCM provides about a 2:1 reduction in the data compared to PCM.

CODING STANDARDS
There are a number of voice coding standards and the ITU is the most active of the groups in this area. For information on the details of any of these standards, go to the ITU web site (http://www.itu.int/ITU-T).

Table 1 provides a summary of several of the major voice coding algorithms. As can be seen, there is a range of data rates available. The column labeled MOS (Mean Opinion Score), is a subjective score that listeners give to each of these algorithms. For point of reference, G.711 is what is used in the US phone system.


Algorithm
Bit Rate
(Kbits/sec)
Complexity
(Mips)
Delay
(milliseconds)
MOS
G.711 PCM
64
< 1
.25
4.4
G.723.1 MPMLQ
6.3
18
30
3.9
G.723.1 ACELP
5.3
18
30
3.6
G.726 ADPCM
32
1
.25
4.2
G.728 LD-CELP
16
 30
3 - 5
4.2
G.729a CS-ACELP
8
20
10
4.2
GSM
13.2
4.5
40
3.7

Compelling VoIP Applications
The VoIP technology only becomes useful when compelling applications meet the needs of customers. Three such applications are corporations that replace PBX systems, cable operators offering telephony services using their plant, and video conferencing. These existing applications are the driving factors in allowing manufactures to make equipment, service providers to offer services, and customers to increase their productivity. Having an established market and a profitable business model allows VoIP to begin addressing the next generation of applications which then will allow the market to continue to grow.
Corporate
LAN-based telephony applications offer attractive business models to consumers today. The most important applications are the replacement of the traditional PBX, new client side applications using the PC, and the reduction in maintenance expenses for wiring changes.

LAN based PBX systems provide superior return on investment to traditional PBX systems. Although initial equipment costs are comparable, LAN PBXs typically cost much less than PBXs to install because they use the existing data infrastructure (Category 5 cabling) rather than separate voice wiring. Administration is also less burdensome because LAN and server administrators can manage the system without the need for dedicated telephony technicians.

The most compelling reason businesses consider IP telephony-type applications is for the integration of applications with voice. Over the years, a significant amount of work has gone into computer telephony integration (CTI) in traditional PBXs. These systems began to offer application-programming interfaces such as Telephony API (TAPI), Telephony Services API (TSAPI), and Java Telephony API (JTAPI). This work has resulted in advanced call center functions, including screen pops for agents and active call routing between call centers.

Client (end station) products offer LAN telephony services through the use of a software client on the user's PC, while others offer telephone instruments that plug into the LAN. When there is a need to relocate the equipment, it needs only to be unplugged from one data port and plugged in at the new destination. This process avoids the wiring changes typically done for convention phones and thus VoIP clients reduce the cost of ownership. Over time, these savings add up to the point that a LAN-based telephony system can offer considerable savings over traditional PBXs.

PacketCable
PacketCable™ is the telephony architecture for using VoIP over the Cable TV system. With buried Cable TV plant passing hundreds of millions of homes worldwide, it is logical to assume that cable operators desire to offer new services that make use of their installed system.

The PacketCable standards (1.0, 1.1 and 1.2) were developed by CableLabs®, the research group of the cable operators and makes use of the same equipment used for the cable modem services. The cable modem architecture, known as DOCSIS (Data over Cable Service Interface Specification), is able to meet the requirements of transporting VoIP packets. DOCSIS version 1.1 provides Quality of Service (QoS), security features, and the prioritization of packet traffic that is necessary for voice communication.

The PacketCable specification also incorporates the Network-based Call Signaling (NCS) protocol for signaling voice calls over cable networks. NCS leverages the existing Media Gateway Control Protocol (MGCP) and the protocol is sometimes referred to as MGCP NCS. NCS uses network-based call agents to negotiate cable-based IP telephony calls.

Traditional telephones draw all the power they need from the phone lines. Part of the reason that the public phone system has evolved to such a reliable state, is that it is essentially immune from the effects of power outages. Electrical utilities in most areas do not offer this degree of unfailing reliability and this reality is an important issue for the cable television plant.
Normally, head-end and customer-premises cable equipment rely solely on the local electric company for their power and this puts users at risk of losing phone service should a power outage occur. There is not universal agreement among the cable operators about offering "lifeline" telephony service.

Some Time Warner systems focus their telephony service towards the "second" phone line in the home. They suggest that the customer keep the existing primary line and then add the Time Warner telephony service for a business line, fax line, or children phone. AT&T has taken a different approach by enhancing many of their networks with alternate power sources thereby allowing lifeline telephony services to their customers.

Video Conferencing
Video conferencing includes the use of packetized voice and is an important application for the home and business. There are several video conferencing standards and one of the significant standards is known as H.32x where x can be 0, 1, 2, 3, or 4 representing video conferencing on different types of communications links. The H.32x model includes establishing connections between the source and destination devices and this method connection establishment has been adapted for use in VoIP gateways.
Table 1. The ITU-T H.32x Video Conferencing Standards

H.320
H.321
H.322
H.323
H.324
Approval Date
1990
1995
1995
1996
1996
Network
Narrowband switched digital ISDN
Broadband ISDN ATM LAN
QoS packet switched networks
Non-QoS networks
(Ethernet)
The analog phone system
Audio
G.711
G.722
G.728
G.711
G.722
G.728
G.711
G.722
G.728
G.711
G.722
G.728
G.723
G.729
G.723
Video
H.261
H.261/H.263
H.261/H.263
H.261/H.263
H.261/H.263
Control
H.230/H.242
H.242
H.230/H.242
H.245
H.245
Multiplexing
H.221
H.221
H.221
H.225
H.213
Comm. Interface
I.400
AAL 
I.363 
AJM I.361 
PHY I.400
I.400& 
TCP/IP
TCP/IP
V.34 Modem


The H.323 recommendation supports the largest number of audio coding standards. In fact, the audio codecs of the other recommendations are a subset of the audio codecs outlined in the H.323 recommendation. In addition, the H.323 is the recommendation that is made for a non-guaranteed bandwidth, packet switched networks such as the Internet.

To the QoS message, they must guarantee those parameters for the duration of the video conferencing session.

H.245 - Control Channel Protocol. Provides capability H.323 Video Conferencing

The H.323 recommendation covers the technical requirements for audio and video communications services in LANs that do not provide a guaranteed Quality of Service (QoS). The scope of H.323 does not include the LAN itself or the transport layer that may be used to connect various LANs. Only elements needed for interaction with the Switched Circuit Network (SCN) are within the scope of H.323.

H.323 defines four major components for a network-based communications system: Terminals, Gateways, Gatekeepers, and Multipoint Control Units (MCUs). The terminal must support voice transmission with data and video transfer being an option.
The H.323 Protocol Stack



Figure 1. The H.323 Protocol Stack 
 

H.323 uses the following standards as part of the video conferencing protocol stack (Figure 1):
Q.931 QoS - Quality of Service. When the connection between devices is being established, the end stations and each data link in the route negotiate to determine what bandwidth is available, how much delay the application can tolerate, and how much jitter there will be in the packet arrival. Once the links agree negotiation between the two end-points such as voice compression algorithm to use, conferencing requests, etc. The H.245 channels transport must be reliable (e.g. TCP, SPX)
H.225 RAS - Registration, Admission, and Status (RAS) Protocol. Used to convey the registration, admissions, bandwidth change and status messages between IP Telephone devices and servers called Gatekeepers that provide address translation and access control to devices.
RTCP - Real-time Transport Control Protocol (RTCP). Provides statistics information for monitoring the quality of service of the voice call.
Control messages (Q.931 signaling, H.245 capability exchange and the RAS protocol) are carried over the reliable TCP layer. This ensures that important messages get retransmitted if necessary so they can make it to the other side. Media traffic is transported over the unreliable UDP layer and includes two protocols: RTP (Real-Time Protocol) that carries the actual media and RTCP (Real-Time Control Protocol) that includes periodic status and control messages. Audio and Video information is carried over UDP because it need not be retransmitted because if a sound packet is lost and then transmitted, it would most probably arrive too late to be used for the real-time conferencing.




GATEWAY PROTOCOLS


H.323

The most widely embraced standard is the ITU-T’s H.323 umbrella standard. Originally designed as an end to end communications standard for video conferencing over packet networks. H.323 was adapted for VoIP applications. The result was a standard that defines far more functionality than is necessary for most VoIP environments. Its complexity is hard to implement efficiently and causes problems in interoperably since there are various ways to interpret the standard.

MGCP (MEDIA GATEWAY CONTROL PROTOCOL)
MGCP is a protocol that addresses control of media gateways, but it does not, as H.323 does, specify a complete end-to-end communication. MGCP uses simple endpoints called Media gateways (MGs). An intelligent media gateway controller (MGC) or call agent (CA) provides services. The endpoints provides user interactions and interfaces, while the MGC provides centralized call intelligence.
A master/slave relationship is presented at all times between the MGC and the MGs. Typically MGCP message are sent over IP/UDP between the MG and MGC. The media connection itself is usually over IP/RTP. For security, MGCP uses IP sec to protect the signaling information.

SIP (SESSION INITIATION PROTOCOL)
SIP is an application layer signaling protocol that specifies call control for multiparty sessions, IP phone calls or multimedia distribution. Unlike H.323, which is based on binary encoding, SIP is a text based protocol that is much easier to implement. Much like H.323, SIP is a peer-to-peer architecture ( vs, master/slave for MGCP).

SIP depends on relatively intelligent endpoints, which require little or no interaction with servers. Each endpoints manages its own signaling both to the user and to other endpoints. SIP is more scalable than H.323 because it is inherently a distributed and stateless call model.
Perhaps the key advantage of SIP is that it is an Internet-model protocol from inception. It uses simple ASCII messaging based on HTTP/1.1. This means that SIP messaging is easy to decode and troubleshoot

SIP ARCHITECTURE


SIP terminal: Supports real-time, 2 way communication with another SIP entity. Supports both signaling and media, similar to H.323 terminal.
Proxy: Contacts one or more clients or next-hop servers and passes the call request further.
• Redirect Server: Accepts SIP requests, maps the address into zero or more new addresses and returns those addresses to the client. Does not initiate SIP requests or accept calls.
• Location Server: Provides information about a callers possible locations to redirect and proxy servers. May be co-located with a SIP server.







THE IMPORTANCE OF VOICE OVER IP





Of the key emerging technologies for data, voice, and video integration, voice over IP (Internet Protocol) is arguably very important. The most quality of service (QoS) sensitive of all traffic, voice is the true test of the engineering and quality of a network. Demand for Voice over IP is leading the movement for QoS in IP environments, and will ultimately lead to use of the Internet for fax, voice telephony, and video telephony services. Voice over IP will ultimately be a key component of the migration of telephony to the LAN infrastructure.

Significant advances in technology have been made over the past few years that enable the transmission of voice traffic over traditional public networks such as Frame Relay (Voice over Frame Relay) as well as Voice over the Internet through the efforts of the Voice over IP Forum and the Internet Engineering Task Force (IETF). Additionally, the support of Asynchronous Transfer Mode (ATM) for different traffic types and the ATM Forum's recent completion of the Voice and Telephony over ATM specification will quicken the availability of industry-standard solutions.






MGCP COMMANDS





•Endpoint Configuration (EPCF): Specify coding
•Notification Request (RQNT): Watch for event
•Notify (NTFY): Used by gateway to inform Call agent
•Create Connection (CRCX)
•Modify Connection (MDCX)
•Delete Connection (DLCX)
•Audit Endpoint (AUEP): Give me status
•Audit Connection (AUCX)
•Restart in Progress (RSIP): Used by gateway to indicate initialization/shutdown of endpoints/gateway







BENEFITS OF  VOIP




Widespread deployment of a new technology seldom occurs without a clear and sustainable justification, and this is also the case with VoIP. Demonstrable benefits to end users are also needed if VoIP products (and services) are to be a long-term success. Generally, the benefits of technology can be divided into the following four categories:

• Cost Reduction: Although reducing long distance telephone costs is always a popular topic and would provide a good reason for introducing VoIP, the actual savings over the long term are still a subject of debate in the industry. Flat rate pricing is available with the
Internet and can result in considerable savings for both voice and facsimile. It has been estimated that up to 70% of all calls to Asia are to send faxes, most of which could be replaced by FoIP.
• Simplification: An integrated infrastructure that supports all forms of communication allows more standardization and reduces the total
equipment complement. This combined infrastructure can support dynamic bandwidth optimization and a fault tolerant design.

• Consolidation: Since people are among the most significant cost elements in a network, any opportunity to combine operations, to eliminate points of failure, and to consolidate accounting systems would be beneficial. In the enterprise, SNMP-based management can be provided for both voice and data services using VoIP.

• Advanced Applications: Even though basic telephony and facsimile are the initial applications for VoIP, the longer term benefits are expected to be derived from multimedia and multiservice applications. For example, Internet commerce solutions can combine WWW access to information with a voice call button that allows immediate access to a call center agent from the PC.




ADVANTAGES OF IP TELEPHONY


Ubiquity
The IP standard is by far the world’s most popular network protocol. It is developing fast and is accepted by every major vendor. Users can benefit from end-to-end connectivity to every data-networking device available, a tremendous amount of research from firms focused on IP, and a unique global addressing scheme which allows an IP device to address the entire network, regardless of size or location.With more than 80 per cent of personal computers in business networks on a local area network (LAN), IP is an obvious transport of choice. It also seems to make sense to carry all forms of communication (data, voice, and video) over a common, ubiquitous medium.
Value Added Applications
Once an IP infrastructure is in place there is a seemingly unending number of add value applications that are available or being designed that are either far simpler than those enabled by regular telephony systems, or totally new applications like user registration that allows phone users to be identifiable and fully functional no matter which handset they’re using.
Cost
For most large businesses, overhauling a PBX-based telecoms infrastructure is a long-term investment decision. However, with telephony requirements becoming more demanding and new technology creating business advantage in shorter time-frames, IP telephony has become a more and more realistic alternative. And while cost projections will inevitably vary enormously from one company to another, most equipment vendors and IP telephony integration specialists would claim return on investment within one or two years.
Single Infrastructure
Putting the voice and data traffic on one set of wires instead of two also seems to make good commercial sense when compared to the cost of developing and supporting two separate infrastructures.
Overhead
A large part of that cost is a human one – and again there is a clear case for creating one pool of skills rather than two, so that voice calls essentially become just another application running on the network. In reality the network will only see information packets, some of this information originates and terminates within a data edge device whilst other packets of information on the network will originate and terminate in voice edge devices.
Call center
Several advantages arise from a Call Center environment based on an IP infrastructure. Web based forms; text chat sessions, email, and web collaboration are all examples of modes of communication, which are based on the IP standard. Voice is transformed to the IP standard in IP call centers. An IP infrastructure therefore facilitates integration of both web-based media and voice into the call center.
IP also puts companies in a better position to take advantage of future developments in terms of new channels because once an IP ‘skeleton’ is in place, functionality is just a question of what software is developed.

Friday, December 18, 2009

Hyper-ThreadingTechnology

Hyper-Threading technology is a groundbreaking innovation from Intel that enables multi-threaded server software applications to execute threads in parallel within each processor in a server platform. The Intel® Xeon™ processor family uses Hyper-Threading technology, along with the Intel® NetBurst™ micro-architecture, to increase compute power and throughput for today’s Internet, e-Business, and enterprise server applications. This level of threading technology has never been seen before in a general-purpose microprocessor. Hyper-Threading technology helps increase transaction rates, reduces end-user response times, and enhances business productivity providing a competitive edge to e-Businesses and the enterprise. The Intel® Xeon™ processor family for servers represents the next leap forward in processor design and performance by being the first Intel® processor to support thread-level parallelism on a single processor.
With processor and application parallelism becoming more prevalent, today’s server platforms are increasingly turning to threading as a way of increasing overall system performance. Server applications have been threaded (split into multiple streams of instructions) to take advantage of multiple processors. Multi-processing-aware operating systems can schedule these threads for processing in parallel, across multiple processors within the server system. These same applications can run unmodified on the Intel® Xeon™ processor family for servers and take advantage of thread-level-parallelism on each processor in the system. Hyper-Threading technology complements traditional multi-processing by offering greater parallelism and performance headroom for threaded software.

    Hyper-Threading technology is a form of simultaneous multi-threading technology (SMT), where multiple threads of software applications can be run simultaneously on one processor. This is achieved by duplicating the architectural state on each processor, while sharing one set of processor execution resources. The architectural state tracks the flow of a program or thread, and the execution resources are the units on the processor that do the work: add, multiply, load, etc.
                             Dual-processing (DP) server applications in the areas of Web serving, search engines, security, streaming media, departmental or small business databases, and e- mail/file/print can realize benefits from Hyper-Threading technology using Intel® Xeon™ processor-based servers.
Traditional Multiprocessing System

Traditional Multiprocessing System Hyper-ThreadingTechnology
 
 
A Dual Processor System with Hyper-threading Technology

A Dual Processor System with Hyper-threading Technology



Micro-architectural Details


Micro-architectural_Hyper-Threading Technology
    With Hyper-Threading technology, the execution resources on the Intel®Xeon™ processor family are shared by two architectural states, or two logical processors. The majority of the execution resources are in the Rapid Execution Engine, which process instructions from both threads simultaneously. The Fetch and Deliver engine and Reorder and Retire block partition some of the resources to alternate between the two threads.
Fetch and Deliver Engine:
The Fetch and Deliver engine alternates between fetching instructions from one logical processor and the other, and sends these instructions to the Rapid Execution Engine for processing. At the Level 1 Execution Trace Cache, one line is fetched for one logical processor, and then one line is fetched for the other logical processor. This continues, alternating back and forth, as long as both logical processors need to use the Execution Trace Cache.

Rapid Execution Engine:
At the Rapid Execution Engine, both logical processors execute simultaneously. The Rapid Execution Engine takes instructions from the instruction queues and sends them to the execution units as fast as it can. The instructions are selected based only on dependencies and availability of execution units. The instructions may be selected out-of-order, meaning that later instructions that are independent can be scheduled before earlier instructions. The schedulers simply map independent instructions in the instruction queues to available execution resources.

Integrated Cache Subsystem:
The Integrated Cache Subsystem delivers data and instructions to the processor core at a high speed with larger cache lines than previous-generation processors. Because the Integrated Cache Subsystem is clocked at the same rate as the processor core, as faster processors are released, the cache speed can increase correspondingly providing high-speed access to key data. The larger cache line sizes also decrease average cache misses. A large, third-level integrated cache is available only on the Intel®Xeon™ processor MP for 4-way and above server platforms. This additional cache space is available for larger instruction and data sets, and significantly reduces the average memory latency, which improves performance for mid-range and high-end server applications. The caches are shared by both logical processors and are designed to minimize potential cache conflicts through a high level of set-associatively, which helps ensure data is well retained in the caches.

Reorder and Retire Block:
The Reorder and Retire block takes all the instructions that were executing out-of-order, and puts them back into program order, then commits the state of those instructions in program order. Instruction retirement alternates between logical processors. Instructions are alternately retired for one logical processor, then the other.

400 MHz System Bus:
The 400 MHz System Bus is designed to increase the throughput of multi-processing and multi-threaded server applications and provide the necessary bandwidth for Hyper-Threading technology when accessing system memory. It uses signaling and buffering schemes that allow for sustained 400 MHz data transfers providing up to 3.2 GB/s bandwidth, which can be up to four times the previous-generation MP processor. When one of the logical processors cannot find the data it needs in the Integrated Cache Subsystem, then the data must be transferred over the system bus from memory.
How Server Platforms Use Hyper-threading Technology
 


How Server Platforms Use Hyper-threading Technology
    Server platforms based on the Intel®Xeon™ processor family have implemented the necessary changes in the platform BIOS in order to recognize the logical processors.

                                 Within each Intel®Xeon™ processor in the system, the two logical processors appear to the BIOS and multi-processor-aware operating system (OS) as processors available to the system and software applications. During the multi-processor system initialization process (also called system boot), the BIOS counts and records the number of logical processors available in the system. The BIOS records only the first logical processor on each physical processor into the MPS (Multi-processor Specification) table to preserve backward compatibility with legacy operating systems. These legacy operating systems will use the MPS table only, and will not recognize the second logical processor on each physical processor. They will work as if Hyper-Threading technology is not there. The BIOS then records two logical processors for each physical processor into the ACPI (Advanced Configuration and Power Interface) table. Operating systems that use the ACPI table can then proceed to schedule threads onto the logical processors that the software license allows the system to use. The BIOS and OS may report only the number of logical processors available in the system.
                             The Intel®Xeon™ processor family with Hyper-Threading technology is fully backward compatible with existing operating systems and applications. That is, legacy multi-processor-aware operating systems can run unmodified on Intel®Xeon™ processor-based platforms. Some of these legacy operating systems (such as Windows NT*) may not recognize the second logical processor and may not take advantage of Hyper-Threading technology, but are compatible with the Intel®Xeon™ processor family and will run unchanged. Today’s current operating systems (such as versions of Windows* 2000 Server, Linux* and Novell NetWare*) can recognize two logical processors and can utilize Hyper-Threading technology, depending on OS license configurations. Many of the newer operating systems, either released or soon to be released (such as versions of Microsoft Windows* .NET Server, certain distribution versions of Linux, and Novell NetWare), are expected to include further optimizations for Hyper-Threading technology.
           Performance with Hyper-Threading Technology
                   Applications that exhibit good threading methods and scale well on multi-processor servers today are likely to take advantage of Hyper-Threading technology. The performance increase seen is highly dependent on the nature of the application, the threading model it uses, as well as system dependencies.


Reduce Resource Competition

          A platform with Hyper-Threading Technology-enabled processor(s) will automatically process two threads on each processor. Some code modules, however, might compete for shared resources, reducing the performance of the Hyper-Threading Technology processor. In a multi-processor system with Hyper-Threading Technology-enabled processors, the OS should dispatch code to different physical processors before scheduling multiple threads on the same processor. This kind of scheduling will keep resource competition to a minimum.

          Spin-wait loops are an example where code written for a multi-processor (MP) environment might compete for resources in a Hyper-Threading Technology environment.

Spin-Wait Loops in MP Environment

             In multi-processor environments, a thread might sit in a spin-wait loop while waiting for release of a lock that another thread holds. Until the lock is released, the thread in the loop will execute the loop as fast as it can. A simple loop might consist of a load, compare, and a branch else sleep(0). An efficient execution of such a loop by physical processor 0 can include simultaneous loads, compares, and branches - an endless consumption of the processors cycles until the lock is released. In a multi-processor environment, one processor does not impact the resource availability to a code thread running on another processor.

Spin-Waits in Hyper-Threading Technology

         With Hyper-Threading Technology, spin-wait loops can delay the completion of one thread when another thread holds a lock, because the looping thread is repeatedly scheduled and executed, consuming vital shared resources in its loop. Considering our simple load, compare, and branch loop, logical processor 0 keeps executing its loop as fast as it can, consuming shared resources and clock cycles that logical processor 1 needs to complete execution of its thread. This effect impacts performance of multi-threaded code in a Hyper-Threading Technology processor.


Use the PAUSE Instruction to Optimize Code

    Intel recommends that software writers always use the PAUSE instruction in spin-wait loops.
    Starting with the Intel® Pentium® 4 processor, this recommendation was made for the benefit of power savings. Executing a PAUSE in a spin-wait loop forces the spin-wait to finish one iteration of the loop before starting the next iteration. Halting the spin-wait loop reduces consumption of non-productive resources - and thus power.

            With a Hyper-Threading Technology processor, using the PAUSE instruction optimizes processing of two threads. Pausing the spin-wait loop frees more resources for the other processor, allowing faster completion of its thread.


Business Benefits of Hyper-Threading Technology  


            Hyper-Threading technology can result in many benefits to e-Business and the enterprise:
•    Improved reaction and response times for end-users and customers
•    Increased number of users that a server system can support
•    Handle increased server workloads
•    Higher transaction rates for e-Businesses
•    Greater end-user and business productivity
•    Compatibility with existing server applications and operating systems
•    Headroom to take advantage of enhancements offered by future software releases
•    Headroom for future business growth and new solution capabilities